mirror of
				https://github.com/ZetaKebab/quartz.git
				synced 2025-11-04 06:49:49 +00:00 
			
		
		
		
	fix: toc for cyrillic and other non-latin alphabets (closes #396)
This commit is contained in:
		@@ -64,7 +64,7 @@ async function navigate(url: URL, isBack: boolean = false) {
 | 
			
		||||
  // scroll into place and add history
 | 
			
		||||
  if (!isBack) {
 | 
			
		||||
    if (url.hash) {
 | 
			
		||||
      const el = document.getElementById(url.hash.substring(1))
 | 
			
		||||
      const el = document.getElementById(decodeURIComponent(url.hash.substring(1)))
 | 
			
		||||
      el?.scrollIntoView()
 | 
			
		||||
    } else {
 | 
			
		||||
      window.scrollTo({ top: 0 })
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ import { QuartzTransformerPlugin } from "../types"
 | 
			
		||||
import { Root } from "mdast"
 | 
			
		||||
import { visit } from "unist-util-visit"
 | 
			
		||||
import { toString } from "mdast-util-to-string"
 | 
			
		||||
import { slug as slugAnchor } from "github-slugger"
 | 
			
		||||
import Slugger from "github-slugger"
 | 
			
		||||
 | 
			
		||||
export interface Options {
 | 
			
		||||
  maxDepth: 1 | 2 | 3 | 4 | 5 | 6
 | 
			
		||||
@@ -34,6 +34,7 @@ export const TableOfContents: QuartzTransformerPlugin<Partial<Options> | undefin
 | 
			
		||||
          return async (tree: Root, file) => {
 | 
			
		||||
            const display = file.data.frontmatter?.enableToc ?? opts.showByDefault
 | 
			
		||||
            if (display) {
 | 
			
		||||
              const slugAnchor = new Slugger()
 | 
			
		||||
              const toc: TocEntry[] = []
 | 
			
		||||
              let highestDepth: number = opts.maxDepth
 | 
			
		||||
              visit(tree, "heading", (node) => {
 | 
			
		||||
@@ -43,7 +44,7 @@ export const TableOfContents: QuartzTransformerPlugin<Partial<Options> | undefin
 | 
			
		||||
                  toc.push({
 | 
			
		||||
                    depth: node.depth,
 | 
			
		||||
                    text,
 | 
			
		||||
                    slug: slugAnchor(text),
 | 
			
		||||
                    slug: slugAnchor.slug(text),
 | 
			
		||||
                  })
 | 
			
		||||
                }
 | 
			
		||||
              })
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user