fix description not being used in folder and tag listings

This commit is contained in:
Jacky Zhao 2023-08-20 01:08:18 -07:00
parent 0ef1b5b522
commit 9d77edaf94
2 changed files with 12 additions and 4 deletions

View File

@ -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 (
<div class="popover-hint">
<article>{content}</article>

View File

@ -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<string, QuartzPluginData[]> = new Map()