31 lines
		
	
	
		
			736 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			736 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import remarkMath from "remark-math"
 | 
						|
import rehypeKatex from 'rehype-katex'
 | 
						|
import { QuartzTransformerPlugin } from "../types"
 | 
						|
 | 
						|
export const Katex: QuartzTransformerPlugin = () => ({
 | 
						|
  name: "Katex",
 | 
						|
  markdownPlugins() {
 | 
						|
    return [remarkMath]
 | 
						|
  },
 | 
						|
  htmlPlugins() {
 | 
						|
    return [
 | 
						|
      [rehypeKatex, {
 | 
						|
        output: 'html',
 | 
						|
      }]
 | 
						|
    ]
 | 
						|
  },
 | 
						|
  externalResources: {
 | 
						|
    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"
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  }
 | 
						|
})
 |