From 2a9290b3dfedb718dbd5fc7da09775eb803f9764 Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Tue, 22 Apr 2025 11:18:50 -0700 Subject: [PATCH] fix(transclude): blockref detection --- quartz/components/renderPage.tsx | 2 +- quartz/plugins/transformers/ofm.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/quartz/components/renderPage.tsx b/quartz/components/renderPage.tsx index 19324f5..e43189d 100644 --- a/quartz/components/renderPage.tsx +++ b/quartz/components/renderPage.tsx @@ -75,7 +75,7 @@ function renderTranscludes( const classNames = (node.properties?.className ?? []) as string[] if (classNames.includes("transclude")) { const inner = node.children[0] as Element - const transcludeTarget = inner.properties["data-slug"] as FullSlug + const transcludeTarget = (inner.properties["data-slug"] ?? slug) as FullSlug const page = componentData.allFiles.find((f) => f.slug === transcludeTarget) if (!page) { return diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts index 5c2f4b2..dada7d4 100644 --- a/quartz/plugins/transformers/ofm.ts +++ b/quartz/plugins/transformers/ofm.ts @@ -191,7 +191,8 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin> const [rawFp, rawHeader, rawAlias]: (string | undefined)[] = capture const [fp, anchor] = splitAnchor(`${rawFp ?? ""}${rawHeader ?? ""}`) - const displayAnchor = anchor ? `#${anchor.trim().replace(/^#+/, "")}` : "" + const blockRef = Boolean(rawHeader?.startsWith("#^")) ? "^" : "" + const displayAnchor = anchor ? `#${blockRef}${anchor.trim().replace(/^#+/, "")}` : "" const displayAlias = rawAlias ?? rawHeader?.replace("#", "|") ?? "" const embedDisplay = value.startsWith("!") ? "!" : "" @@ -221,7 +222,7 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin> let [rawFp, rawHeader, rawAlias] = capture const fp = rawFp?.trim() ?? "" const anchor = rawHeader?.trim() ?? "" - const alias = rawAlias?.slice(1).trim() + const alias = rawAlias?.slice(1).trim() ?? "" // embed cases if (value.startsWith("!")) {