fix: toc for cyrillic and other non-latin alphabets (closes #396)
This commit is contained in:
		
							parent
							
								
									99dbe525d9
								
							
						
					
					
						commit
						36548d5986
					
				
					 2 changed files with 4 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -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),
 | 
			
		||||
                  })
 | 
			
		||||
                }
 | 
			
		||||
              })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue