From 4b80b39dddd9c8ba749b9ab4535a947c10185995 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 17 Jan 2024 23:24:13 +0800 Subject: [PATCH] fix: markdown excerpt metadata --- src/lib/expand-unit.ts | 2 +- src/markdown/index.ts | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/expand-unit.ts b/src/lib/expand-unit.ts index b308e7ed..ae15cea1 100644 --- a/src/lib/expand-unit.ts +++ b/src/lib/expand-unit.ts @@ -107,7 +107,7 @@ export const expandCrossbellNote = async ({ )}` } else { if (!expandedNote.metadata.content.summary && !disableAutofill) { - // TODO expandedNote.metadata.content.summary = renderedMetadata.excerpt + expandedNote.metadata.content.summary = renderedMetadata.excerpt } } diff --git a/src/markdown/index.ts b/src/markdown/index.ts index 534372a7..dbd594b9 100644 --- a/src/markdown/index.ts +++ b/src/markdown/index.ts @@ -74,6 +74,9 @@ const rehypePrism = rehypePrismGenerator(refractor) export const renderPageContent = (content: string, strictMode?: boolean) => { let hastTree: HashRoot | undefined = undefined let mdastTree: MdashRoot | undefined = undefined + + const file = new VFile(content) + try { const pipeline = unified() .use(remarkParse) @@ -175,8 +178,6 @@ export const renderPageContent = (content: string, strictMode?: boolean) => { passThrough: allowedCustomWrappers, } as RehypeRawOptions) - const file = new VFile(content) - // markdown abstract syntax tree mdastTree = pipeline.parse(file) // hypertext abstract syntax tree @@ -226,12 +227,16 @@ export const renderPageContent = (content: string, strictMode?: boolean) => { frontMatter: undefined, images: [], audio: undefined, + excerpt: undefined, } as { frontMatter?: Record images: string[] audio?: string + excerpt?: string } + metadata.excerpt = file.data.meta?.description || undefined + if (mdastTree) { visit(mdastTree, (node, index, parent) => { if (node.type === "yaml") {