From 01d7d8e55448abe0a929d8730c735bed5d929048 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Thu, 20 Jul 2023 06:03:59 +0000
Subject: [PATCH] fix tag pages to emit to tag/index.html to override content and folder pages

---
 quartz/plugins/emitters/tagPage.tsx |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/quartz/plugins/emitters/tagPage.tsx b/quartz/plugins/emitters/tagPage.tsx
index 30717fa..62bfe11 100644
--- a/quartz/plugins/emitters/tagPage.tsx
+++ b/quartz/plugins/emitters/tagPage.tsx
@@ -5,7 +5,7 @@
 import { pageResources, renderPage } from "../../components/renderPage"
 import { ProcessedContent, defaultProcessedContent } from "../vfile"
 import { FullPageLayout } from "../../cfg"
-import { CanonicalSlug, FilePath, ServerSlug } from "../../path"
+import { CanonicalSlug, FilePath, ServerSlug, joinSegments } from "../../path"
 
 export const TagPage: QuartzEmitterPlugin<FullPageLayout> = (opts) => {
   if (!opts) {
@@ -27,13 +27,13 @@
 
       const tags: Set<string> = new Set(allFiles.flatMap(data => data.frontmatter?.tags ?? []))
       const tagDescriptions: Record<string, ProcessedContent> = Object.fromEntries([...tags].map(tag => ([
-        tag, defaultProcessedContent({ slug: `tags/${tag}` as ServerSlug, frontmatter: { title: `Tag: ${tag}`, tags: [] } })
+        tag, defaultProcessedContent({ slug: `tags/${tag}/index` as ServerSlug, frontmatter: { title: `Tag: ${tag}`, tags: [] } })
       ])))
 
       for (const [tree, file] of content) {
         const slug = file.data.slug!
         if (slug.startsWith("tags/")) {
-          const tag = slug.slice("tags/".length)
+          const tag = joinSegments(slug.slice("tags/".length), "index")
           if (tags.has(tag)) {
             tagDescriptions[tag] = [tree, file]
           }
@@ -41,7 +41,7 @@
       }
 
       for (const tag of tags) {
-        const slug = `tags/${tag}` as CanonicalSlug
+        const slug = `tags/${tag}/index` as CanonicalSlug
         const externalResources = pageResources(slug, resources)
         const [tree, file] = tagDescriptions[tag]
         const componentData: QuartzComponentProps = {

--
Gitblit v1.10.0