This commit is contained in:
Jacky Zhao 2023-08-12 10:17:07 -07:00
parent fc5c8b4a94
commit cdc8a4b7fe

View File

@ -129,29 +129,29 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin<Partial<Options>
} }
const findAndReplace = opts.enableInHtmlEmbed const findAndReplace = opts.enableInHtmlEmbed
? (tree: Root, regex: RegExp, replace?: Replace | null | undefined) => { ? (tree: Root, regex: RegExp, replace?: Replace | null | undefined) => {
if (replace) { if (replace) {
visit(tree, "html", (node: HTML) => { visit(tree, "html", (node: HTML) => {
if (typeof replace === "string") { if (typeof replace === "string") {
node.value = node.value.replace(regex, replace) node.value = node.value.replace(regex, replace)
} else { } else {
node.value = node.value.replaceAll(regex, (substring: string, ...args) => { node.value = node.value.replaceAll(regex, (substring: string, ...args) => {
const replaceValue = replace(substring, ...args) const replaceValue = replace(substring, ...args)
if (typeof replaceValue === "string") { if (typeof replaceValue === "string") {
return replaceValue return replaceValue
} else if (Array.isArray(replaceValue)) { } else if (Array.isArray(replaceValue)) {
return replaceValue.map(mdastToHtml).join("") return replaceValue.map(mdastToHtml).join("")
} else if (typeof replaceValue === "object" && replaceValue !== null) { } else if (typeof replaceValue === "object" && replaceValue !== null) {
return mdastToHtml(replaceValue) return mdastToHtml(replaceValue)
} else { } else {
return substring return substring
} }
}) })
} }
}) })
} }
mdastFindReplace(tree, regex, replace) mdastFindReplace(tree, regex, replace)
} }
: mdastFindReplace : mdastFindReplace
return { return {
@ -309,11 +309,8 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin<Partial<Options>
const titleContent = const titleContent =
match.input.slice(calloutDirective.length).trim() || capitalize(calloutType) match.input.slice(calloutDirective.length).trim() || capitalize(calloutType)
const titleNode: Paragraph = { const titleNode: Paragraph = {
type: 'paragraph', type: "paragraph",
children: [ children: [{ type: "text", value: titleContent + " " }, ...restChildren],
{type: 'text', value: titleContent + " "},
...restChildren
]
} }
const title = mdastToHtml(titleNode) const title = mdastToHtml(titleNode)
@ -352,8 +349,9 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin<Partial<Options>
node.data = { node.data = {
hProperties: { hProperties: {
...(node.data?.hProperties ?? {}), ...(node.data?.hProperties ?? {}),
className: `callout ${collapse ? "is-collapsible" : ""} ${defaultState === "collapsed" ? "is-collapsed" : "" className: `callout ${collapse ? "is-collapsible" : ""} ${
}`, defaultState === "collapsed" ? "is-collapsed" : ""
}`,
"data-callout": calloutType, "data-callout": calloutType,
"data-callout-fold": collapse, "data-callout-fold": collapse,
}, },