mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-26 13:26:22 +00:00
24 lines
774 B
TypeScript
24 lines
774 B
TypeScript
import { QuartzTransformerPlugin } from "../types"
|
|
import rehypePrettyCode, { Options as CodeOptions } from "rehype-pretty-code"
|
|
|
|
export const SyntaxHighlighting: QuartzTransformerPlugin = () => ({
|
|
name: "SyntaxHighlighting",
|
|
htmlPlugins() {
|
|
return [[rehypePrettyCode, {
|
|
theme: 'css-variables',
|
|
onVisitLine(node) {
|
|
if (node.children.length === 0) {
|
|
node.children = [{ type: 'text', value: ' ' }]
|
|
}
|
|
},
|
|
onVisitHighlightedLine(node) {
|
|
node.properties.className ??= []
|
|
node.properties.className.push('highlighted')
|
|
},
|
|
onVisitHighlightedWord(node) {
|
|
node.properties.className ??= []
|
|
node.properties.className.push('word')
|
|
},
|
|
} satisfies Partial<CodeOptions>]]
|
|
}
|
|
})
|