From 9d77edaf94d23f207552b3a650189810ba2252cd Mon Sep 17 00:00:00 2001 From: Jacky Zhao Date: Sun, 20 Aug 2023 01:08:18 -0700 Subject: [PATCH] fix description not being used in folder and tag listings --- quartz/components/pages/FolderContent.tsx | 8 ++++++-- quartz/components/pages/TagContent.tsx | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/quartz/components/pages/FolderContent.tsx b/quartz/components/pages/FolderContent.tsx index 7067e06f..c1083ba2 100644 --- a/quartz/components/pages/FolderContent.tsx +++ b/quartz/components/pages/FolderContent.tsx @@ -6,6 +6,7 @@ import path from "path" import style from "../styles/listPage.scss" import { PageList } from "../PageList" import { _stripSlashes, simplifySlug } from "../../util/path" +import { Root } from "hast" function FolderContent(props: QuartzComponentProps) { const { tree, fileData, allFiles } = props @@ -24,8 +25,11 @@ function FolderContent(props: QuartzComponentProps) { allFiles: allPagesInFolder, } - // @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" }) + return (
{content}
diff --git a/quartz/components/pages/TagContent.tsx b/quartz/components/pages/TagContent.tsx index 7b3a582b..654e576d 100644 --- a/quartz/components/pages/TagContent.tsx +++ b/quartz/components/pages/TagContent.tsx @@ -5,6 +5,7 @@ import style from "../styles/listPage.scss" import { PageList } from "../PageList" import { FullSlug, getAllSegmentPrefixes, simplifySlug } from "../../util/path" import { QuartzPluginData } from "../../plugins/vfile" +import { Root } from "hast" const numPages = 10 function TagContent(props: QuartzComponentProps) { @@ -21,8 +22,11 @@ function TagContent(props: QuartzComponentProps) { (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 = new Map()