From dfb46a47b22620ab50b3065fc210e4a3f39a0117 Mon Sep 17 00:00:00 2001 From: "Mr.Hope" Date: Sat, 7 Jan 2023 13:07:33 +0800 Subject: [PATCH] feat(core): add markdownEnv to Page --- packages/core/src/page/createPage.ts | 2 ++ packages/core/src/page/renderPageContent.ts | 15 +++++++++++++++ packages/core/src/types/page.ts | 5 +++++ .../core/tests/page/renderPageContent.spec.ts | 1 + 4 files changed, 23 insertions(+) diff --git a/packages/core/src/page/createPage.ts b/packages/core/src/page/createPage.ts index 7f40f66db8..51b296073f 100644 --- a/packages/core/src/page/createPage.ts +++ b/packages/core/src/page/createPage.ts @@ -37,6 +37,7 @@ export const createPage = async ( frontmatter, headers, links, + markdownEnv, sfcBlocks, title, } = renderPageContent({ @@ -123,6 +124,7 @@ export const createPage = async ( date, deps, links, + markdownEnv, pathInferred, pathLocale, permalink, diff --git a/packages/core/src/page/renderPageContent.ts b/packages/core/src/page/renderPageContent.ts index b3d0e966c3..e213249284 100644 --- a/packages/core/src/page/renderPageContent.ts +++ b/packages/core/src/page/renderPageContent.ts @@ -24,6 +24,7 @@ export const renderPageContent = ({ }): { contentRendered: string deps: string[] + markdownEnv: Record frontmatter: PageFrontmatter headers: MarkdownHeader[] links: MarkdownLink[] @@ -54,6 +55,19 @@ export const renderPageContent = ({ customBlocks: [], }, title = '', + + // values dropped from env + + // eslint-disable-next-line @typescript-eslint/naming-convention + base: _base, + // eslint-disable-next-line @typescript-eslint/naming-convention + content: _content, + // eslint-disable-next-line @typescript-eslint/naming-convention + filePath: _filePath, + // eslint-disable-next-line @typescript-eslint/naming-convention + filePathRelative: _filePathRelative, + + ...otherEnv } = markdownEnv return { @@ -62,6 +76,7 @@ export const renderPageContent = ({ frontmatter, headers, links, + markdownEnv: otherEnv, sfcBlocks, title: frontmatter.title ?? title, } diff --git a/packages/core/src/types/page.ts b/packages/core/src/types/page.ts index 532ba237b1..5b04a924af 100644 --- a/packages/core/src/types/page.ts +++ b/packages/core/src/types/page.ts @@ -74,6 +74,11 @@ export type Page< */ routeMeta: Record + /** + * Markdown Environment of the page + */ + markdownEnv: Record + /** * Extracted sfc blocks of the page */ diff --git a/packages/core/tests/page/renderPageContent.spec.ts b/packages/core/tests/page/renderPageContent.spec.ts index 0ecc671b71..055beaf0a1 100644 --- a/packages/core/tests/page/renderPageContent.spec.ts +++ b/packages/core/tests/page/renderPageContent.spec.ts @@ -31,6 +31,7 @@ const msg = 'msg' frontmatter: {}, headers: [], links: [], + markdownEnv: { excerpt: '' }, sfcBlocks: { template: { type: 'template',