plugin integration round 2
This commit is contained in:
		
							
								
								
									
										34
									
								
								quartz/plugins/transformers/latex.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								quartz/plugins/transformers/latex.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
			
		||||
import { PluggableList } from "unified"
 | 
			
		||||
import remarkMath from "remark-math"
 | 
			
		||||
import rehypeKatex from 'rehype-katex'
 | 
			
		||||
import { StaticResources } from "../../resources"
 | 
			
		||||
import { QuartzTransformerPlugin } from "../types"
 | 
			
		||||
 | 
			
		||||
export class Katex extends QuartzTransformerPlugin {
 | 
			
		||||
  name = "Katex"
 | 
			
		||||
  markdownPlugins(): PluggableList {
 | 
			
		||||
    return [remarkMath]
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  htmlPlugins(): PluggableList {
 | 
			
		||||
    return [
 | 
			
		||||
      [rehypeKatex, {
 | 
			
		||||
        output: 'html',
 | 
			
		||||
      }]
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  externalResources: Partial<StaticResources> = {
 | 
			
		||||
    css: [
 | 
			
		||||
      // base css
 | 
			
		||||
      "https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css",
 | 
			
		||||
    ],
 | 
			
		||||
    js: [
 | 
			
		||||
      {
 | 
			
		||||
        // fix copy behaviour: https://github.com/KaTeX/KaTeX/blob/main/contrib/copy-tex/README.md
 | 
			
		||||
        src: "https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js",
 | 
			
		||||
        loadTime: "afterDOMReady"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user