From 83269ac26e41f8e81b56e000b4347ee60d4ff84b Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sat, 12 Aug 2023 06:40:06 +0000
Subject: [PATCH] fix scanning for tags in content

---
 quartz/plugins/transformers/links.ts  |    3 ++-
 content/features/upcoming features.md |    4 +---
 quartz/plugins/transformers/ofm.ts    |    2 +-
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/content/features/upcoming features.md b/content/features/upcoming features.md
index 424f028..718ae17 100644
--- a/content/features/upcoming features.md
+++ b/content/features/upcoming features.md
@@ -5,10 +5,8 @@
 ## todo
 
 - wikilink to anchors in the same document
-- folders, tags, and content emit overlapping (e.g. for tags/component)
+- blockquote with link in first child broken
 - 404 using base url
-- nested tags showing duplicate
-  - tag page markdown file for description not being rendered
 - back button with anchors / popovers + spa is broken
 - search should be fast for large repos
 - debounce cfg rebuild on large repos
diff --git a/quartz/plugins/transformers/links.ts b/quartz/plugins/transformers/links.ts
index 54bcce9..5b15725 100644
--- a/quartz/plugins/transformers/links.ts
+++ b/quartz/plugins/transformers/links.ts
@@ -86,7 +86,8 @@
                 if (
                   opts.prettyLinks &&
                   node.children.length === 1 &&
-                  node.children[0].type === "text"
+                  node.children[0].type === "text" &&
+                  !node.children[0].value.startsWith("#")
                 ) {
                   node.children[0].value = path.basename(node.children[0].value)
                 }
diff --git a/quartz/plugins/transformers/ofm.ts b/quartz/plugins/transformers/ofm.ts
index e7438aa..a371efb 100644
--- a/quartz/plugins/transformers/ofm.ts
+++ b/quartz/plugins/transformers/ofm.ts
@@ -115,7 +115,7 @@
 const calloutRegex = new RegExp(/^\[\!(\w+)\]([+-]?)/)
 // (?:^| )   -> non-capturing group, tag should start be separated by a space or be the start of the line
 // #(\w+)    -> tag itself is # followed by a string of alpha-numeric characters
-const tagRegex = new RegExp(/(?:^| )#(\w+)/, "g")
+const tagRegex = new RegExp(/(?:^| )#([\w-_\/]+)/, "g")
 
 export const ObsidianFlavoredMarkdown: QuartzTransformerPlugin<Partial<Options> | undefined> = (
   userOpts,

--
Gitblit v1.10.0