From 3ac6b42e16dca5a44ed3fec2c0314f1dbbc2322b Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Sun, 16 Jul 2023 06:02:12 +0000
Subject: [PATCH] finish path refactoring, add sourcemap + better trace support

---
 quartz/components/pages/TagContent.tsx |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/quartz/components/pages/TagContent.tsx b/quartz/components/pages/TagContent.tsx
index e7e5f6d..a490b8d 100644
--- a/quartz/components/pages/TagContent.tsx
+++ b/quartz/components/pages/TagContent.tsx
@@ -3,13 +3,14 @@
 import { toJsxRuntime } from "hast-util-to-jsx-runtime"
 import style from '../styles/listPage.scss'
 import { PageList } from "../PageList"
+import { ServerSlug, canonicalizeServer } from "../../path"
 
 function TagContent(props: QuartzComponentProps) {
   const { tree, fileData, allFiles } = props
   const slug = fileData.slug
-  if (slug?.startsWith("tags/")) {
-    const tag = slug.slice("tags/".length)
 
+  if (slug?.startsWith("tags/")) {
+    const tag = canonicalizeServer(slug.slice("tags/".length) as ServerSlug)
     const allPagesWithTag = allFiles.filter(file => (file.frontmatter?.tags ?? []).includes(tag))
     const listProps = {
       ...props,
@@ -18,14 +19,15 @@
 
     // @ts-ignore
     const content = toJsxRuntime(tree, { Fragment, jsx, jsxs, elementAttributeNameCase: 'html' })
-    return <div>
+    return <div class="popover-hint">
       <article>{content}</article>
+      <p>{allPagesWithTag.length} items with this tag.</p>
       <div>
         <PageList {...listProps} />
       </div>
     </div>
   } else {
-    throw `Component "TagContent" tried to render a non-tag page: ${slug}`
+    throw new Error(`Component "TagContent" tried to render a non-tag page: ${slug}`)
   }
 }
 

--
Gitblit v1.10.0