diff --git a/quartz/plugins/parsers/obsidian/arrows.ts b/quartz/plugins/parsers/obsidian/arrows.ts index 575ed48f0..e61bfe677 100644 --- a/quartz/plugins/parsers/obsidian/arrows.ts +++ b/quartz/plugins/parsers/obsidian/arrows.ts @@ -1,5 +1,6 @@ -import { QuartzTransformerPlugin } from "../../types" +import { QuartzParserPlugin } from "../../types" import { ReplaceFunction, findAndReplace as mdastFindReplace } from "mdast-util-find-and-replace" +import { JSResource } from "../../../util/resources" import { SKIP } from "unist-util-visit" import { Root } from "mdast" import { PluggableList } from "unified" @@ -25,10 +26,16 @@ const arrowMapping: Record = { const arrowRegex = new RegExp(/(-{1,2}>|={1,2}>|<-{1,2}|<={1,2})/g) -export const ObsidianArrow: QuartzTransformerPlugin> = (userOpts) => { +export const ObsidianArrow: QuartzParserPlugin> = (userOpts) => { const opts: Options = { ...defaultOptions, ...userOpts } return { name: "ObsidianArrow", + textTransform(_ctx, src: string | Buffer) { + if (src instanceof Buffer) { + src = src.toString() + } + return src + }, markdownPlugins(_ctx) { return [ (tree: Root) => { @@ -50,5 +57,12 @@ export const ObsidianArrow: QuartzTransformerPlugin> = (userOpt }, ] as PluggableList }, + htmlPlugins(_ctx) { + return [] as PluggableList + }, + externalResources(_ctx) { + const js = [] as JSResource[] + return { js } + }, } } diff --git a/quartz/plugins/parsers/obsidian/highlights.ts b/quartz/plugins/parsers/obsidian/highlights.ts index 6e9e11058..2e4b46812 100644 --- a/quartz/plugins/parsers/obsidian/highlights.ts +++ b/quartz/plugins/parsers/obsidian/highlights.ts @@ -1,5 +1,6 @@ -import { QuartzTransformerPlugin } from "../../types" +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" @@ -13,11 +14,17 @@ const defaultOptions: Options = { const highlightRegex = new RegExp(/==([^=]+)==/g) -export const ObsidianHighlights: QuartzTransformerPlugin> = (userOpts) => { +export const ObsidianHighlights: QuartzParserPlugin> = (userOpts) => { const opts: Options = { ...defaultOptions, ...userOpts } return { name: "ObsidianHighlights", - markdownPlugins(ctx) { + textTransform(_ctx, src: string | Buffer) { + if (src instanceof Buffer) { + src = src.toString() + } + return src + }, + markdownPlugins(_ctx) { return [ (tree: Root) => { if (opts.enabled) { @@ -37,5 +44,12 @@ export const ObsidianHighlights: QuartzTransformerPlugin> = (us }, ] as PluggableList }, + htmlPlugins(_ctx) { + return [] as PluggableList + }, + externalResources(_ctx) { + const js = [] as JSResource[] + return { js } + }, } } diff --git a/quartz/plugins/parsers/obsidian/wikilinks.ts b/quartz/plugins/parsers/obsidian/wikilinks.ts index ad4da31be..c44f34c33 100644 --- a/quartz/plugins/parsers/obsidian/wikilinks.ts +++ b/quartz/plugins/parsers/obsidian/wikilinks.ts @@ -1,6 +1,7 @@ -import { QuartzTransformerPlugin } from "../../types" +import { QuartzParserPlugin } from "../../types" import { ReplaceFunction, findAndReplace as mdastFindReplace } from "mdast-util-find-and-replace" import { FilePath, splitAnchor, slugifyFilePath } from "../../../util/path" +import { JSResource } from "../../../util/resources" import { Root } from "mdast" import { PluggableList } from "unified" @@ -35,7 +36,7 @@ const wikilinkImageEmbedRegex = new RegExp( /^(?(?!^\d*x?\d*$).*?)?(\|?\s*?(?\d+)(x(?\d+))?)?$/, ) -export const ObsidianWikilinks: QuartzTransformerPlugin> = (userOpts) => { +export const ObsidianWikilinks: QuartzParserPlugin> = (userOpts) => { const opts: Options = { ...defaultOptions, ...userOpts } return { name: "ObsidianWikilinks", @@ -160,5 +161,12 @@ export const ObsidianWikilinks: QuartzTransformerPlugin> = (use }, ] as PluggableList }, + htmlPlugins(_ctx) { + return [] as PluggableList + }, + externalResources(_ctx) { + const js = [] as JSResource[] + return { js } + }, } }