From 681491418e95bda18e0491d931ab0f6c7987ca4d Mon Sep 17 00:00:00 2001 From: giselle197 Date: Mon, 19 Jan 2026 18:41:08 +0800 Subject: [PATCH] make `%%init: ...%%` in mermaid codeblock effective only remove comments outside of codeblocks --- quartz/plugins/transformers/ofm.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts index 7a523aa59..95941a3d5 100644 --- a/quartz/plugins/transformers/ofm.ts +++ b/quartz/plugins/transformers/ofm.ts @@ -161,7 +161,13 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin> textTransform(_ctx, src) { // do comments at text level if (opts.comments) { - src = src.replace(commentRegex, "") + // Remove %% comments %% outside of codeblocks + const codeblockRegex = /```[\s\S]*?```|`[^`\n]+`/ + const codeblockOrCommentRegex = new RegExp( + `(${codeblockRegex.source})|${commentRegex.source}`, + "g" + ) + src = src.replace(codeblockOrCommentRegex, (match, codeblock) => codeblock ?? "") } // pre-transform blockquotes