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