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