Jacky Zhao
2023-08-20 5adf3c67a8f1939b891fadd2c8c30cf201d87943
quartz/components/pages/TagContent.tsx
@@ -3,8 +3,9 @@
import { toJsxRuntime } from "hast-util-to-jsx-runtime"
import style from "../styles/listPage.scss"
import { PageList } from "../PageList"
import { ServerSlug, canonicalizeServer, getAllSegmentPrefixes } from "../../path"
import { FullSlug, getAllSegmentPrefixes, simplifySlug } from "../../util/path"
import { QuartzPluginData } from "../../plugins/vfile"
import { Root } from "hast"
const numPages = 10
function TagContent(props: QuartzComponentProps) {
@@ -15,14 +16,17 @@
    throw new Error(`Component "TagContent" tried to render a non-tag page: ${slug}`)
  }
  const tag = canonicalizeServer(slug.slice("tags/".length) as ServerSlug)
  const tag = simplifySlug(slug.slice("tags/".length) as FullSlug)
  const allPagesWithTag = (tag: string) =>
    allFiles.filter((file) =>
      (file.frontmatter?.tags ?? []).flatMap(getAllSegmentPrefixes).includes(tag),
    )
  // @ts-ignore
  const content = toJsxRuntime(tree, { Fragment, jsx, jsxs, elementAttributeNameCase: "html" })
  const content = (tree as Root).children.length === 0 ?
    fileData.description :
    // @ts-ignore
    toJsxRuntime(tree, { Fragment, jsx, jsxs, elementAttributeNameCase: "html" })
  if (tag === "") {
    const tags = [...new Set(allFiles.flatMap((data) => data.frontmatter?.tags ?? []))]
    const tagItemMap: Map<string, QuartzPluginData[]> = new Map()