From 5a3d62b8442cc8c388dcc6c7508abd9a14c8e9d6 Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Sat, 29 Jun 2024 00:40:22 +0800 Subject: [PATCH] feat(theme): rename frontmatter `article` to `draft` --- theme/src/node/plugins/resolveBlogDataOptions.ts | 4 +--- theme/src/node/setupPages.ts | 9 +++++++-- theme/src/shared/frontmatter/post.ts | 11 +++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/theme/src/node/plugins/resolveBlogDataOptions.ts b/theme/src/node/plugins/resolveBlogDataOptions.ts index 74431dc3..3c7836f3 100644 --- a/theme/src/node/plugins/resolveBlogDataOptions.ts +++ b/theme/src/node/plugins/resolveBlogDataOptions.ts @@ -28,9 +28,7 @@ export function resolveBlogDataOptions( ].filter(Boolean), sortBy: 'createTime', excerpt: true, - pageFilter: (page: any) => page.frontmatter.article !== undefined - ? !!page.frontmatter.article - : true, + pageFilter: (page: any) => page.frontmatter.draft !== true, extendBlogData: (page: any) => { const tags = page.frontmatter.tags const data: Record = { diff --git a/theme/src/node/setupPages.ts b/theme/src/node/setupPages.ts index 39a83fbf..cfcb8c88 100644 --- a/theme/src/node/setupPages.ts +++ b/theme/src/node/setupPages.ts @@ -68,8 +68,13 @@ export function extendsPageData( delete page.frontmatter.home } + if (page.frontmatter.article === false) { + page.frontmatter.draft = true + } + delete page.frontmatter.article + if (page.frontmatter.friends) { - page.frontmatter.article = false + page.frontmatter.draft = true page.data.type = 'friends' page.permalink = page.permalink ?? '/friends/' page.frontmatter.pageLayout = 'friends' @@ -78,7 +83,7 @@ export function extendsPageData( const pageType = page.frontmatter._pageLayout as string if (pageType) { - page.frontmatter.article = false + page.frontmatter.draft = true page.data.type = pageType as any delete page.frontmatter._pageLayout } diff --git a/theme/src/shared/frontmatter/post.ts b/theme/src/shared/frontmatter/post.ts index 48d27e66..577c8211 100644 --- a/theme/src/shared/frontmatter/post.ts +++ b/theme/src/shared/frontmatter/post.ts @@ -5,5 +5,16 @@ export interface PlumeThemePostFrontmatter extends PlumeThemePageFrontmatter { author?: string tags?: string[] sticky?: boolean | number + /** + * @deprecated 使用 `draft` 代替 + */ article?: boolean + + /** + * 标记当前文章是否为草稿状态, + * 草稿状态下的文章不会出现在博客列表中 + * + * @default false + */ + draft?: boolean }