From 55f282c5f549a3507e59bbce2b894fec22028762 Mon Sep 17 00:00:00 2001 From: Pierre Lairez Date: Tue, 8 Oct 2024 23:26:58 +0200 Subject: [PATCH] [OFM] Allow for dashes in custom callout label MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For compatibility with Obsidian's behavior, a custom callout like [!see-also] is possible. Previously, this was parsed by Quartz as a callout “see” with metadata “-also”. Instead, this is should be a callout “see-also” with title “See also” (capitalization + replace dashes by spaces). --- quartz/plugins/transformers/ofm.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts index dd743b6d0..3cac2f616 100644 --- a/quartz/plugins/transformers/ofm.ts +++ b/quartz/plugins/transformers/ofm.ts @@ -119,7 +119,7 @@ export const tableWikilinkRegex = new RegExp(/(!?\[\[[^\]]*?\]\])/g) const highlightRegex = new RegExp(/==([^=]+)==/g) const commentRegex = new RegExp(/%%[\s\S]*?%%/g) // from https://github.com/escwxyz/remark-obsidian-callout/blob/main/src/index.ts -const calloutRegex = new RegExp(/^\[\!(\w+)\|?(.+?)?\]([+-]?)/) +const calloutRegex = new RegExp(/^\[\!([\w-]+)\|?(.+?)?\]([+-]?)/) const calloutLineRegex = new RegExp(/^> *\[\!\w+\|?.*?\][+-]?.*$/gm) // (?:^| ) -> non-capturing group, tag should start be separated by a space or be the start of the line // #(...) -> capturing group, tag itself must start with # @@ -430,7 +430,7 @@ export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin> children: [ { type: "text", - value: useDefaultTitle ? capitalize(typeString) : titleContent + " ", + value: useDefaultTitle ? capitalize(typeString).replace(/-/g, ' ') : titleContent + " ", }, ...restOfTitle, ],