mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-30 08:14:05 -06:00
Added custom parser template
This commit is contained in:
parent
6808d7c58e
commit
e8f648dc8d
43
quartz/plugins/parsers/custom/default.ts
Normal file
43
quartz/plugins/parsers/custom/default.ts
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import { QuartzParserPlugin } from "../../types"
|
||||||
|
import { ReplaceFunction, findAndReplace as mdastFindReplace } from "mdast-util-find-and-replace"
|
||||||
|
import { JSResource } from "../../../util/resources"
|
||||||
|
import { Root } from "mdast"
|
||||||
|
import { PluggableList } from "unified"
|
||||||
|
|
||||||
|
interface Options {
|
||||||
|
enabled: Boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
const defaultOptions: Options = {
|
||||||
|
enabled: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const CustomDefault: QuartzParserPlugin<Partial<Options>> = (userOpts) => {
|
||||||
|
const opts: Options = { ...defaultOptions, ...userOpts }
|
||||||
|
return {
|
||||||
|
name: "CustomDefault",
|
||||||
|
textTransform(_ctx, src: string | Buffer) {
|
||||||
|
if (src instanceof Buffer) {
|
||||||
|
src = src.toString()
|
||||||
|
}
|
||||||
|
return src
|
||||||
|
},
|
||||||
|
markdownPlugins(_ctx) {
|
||||||
|
return [
|
||||||
|
(tree: Root) => {
|
||||||
|
if (opts.enabled) {
|
||||||
|
const replacements: [RegExp, string | ReplaceFunction][] = []
|
||||||
|
mdastFindReplace(tree, replacements)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
] as PluggableList
|
||||||
|
},
|
||||||
|
htmlPlugins(_ctx) {
|
||||||
|
return [] as PluggableList
|
||||||
|
},
|
||||||
|
externalResources(_ctx) {
|
||||||
|
const js = [] as JSResource[]
|
||||||
|
return { js }
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1 @@
|
|||||||
|
import { CustomDefault } from "./default"
|
||||||
Loading…
Reference in New Issue
Block a user