From e8f648dc8ded1e8ba11328fb619bf1967b22508a Mon Sep 17 00:00:00 2001 From: Emile Bangma Date: Thu, 19 Sep 2024 11:55:34 +0000 Subject: [PATCH] Added custom parser template --- quartz/plugins/parsers/custom/default.ts | 43 ++++++++++++++++++++++++ quartz/plugins/parsers/custom/index.ts | 1 + 2 files changed, 44 insertions(+) create mode 100644 quartz/plugins/parsers/custom/default.ts diff --git a/quartz/plugins/parsers/custom/default.ts b/quartz/plugins/parsers/custom/default.ts new file mode 100644 index 000000000..b7a0cfdb0 --- /dev/null +++ b/quartz/plugins/parsers/custom/default.ts @@ -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> = (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 } + }, + } +} diff --git a/quartz/plugins/parsers/custom/index.ts b/quartz/plugins/parsers/custom/index.ts index e69de29bb..2226696fd 100644 --- a/quartz/plugins/parsers/custom/index.ts +++ b/quartz/plugins/parsers/custom/index.ts @@ -0,0 +1 @@ +import { CustomDefault } from "./default"