From 69b9d0bc3db461436013e6da4526fccb6c09413c Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Sat, 20 Sep 2025 15:12:44 +0800 Subject: [PATCH] fix(theme): fix `createTime` is obtained incorrectly during creation, close #692 (#700) --- theme/src/node/prepare/prepareBlogData.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/theme/src/node/prepare/prepareBlogData.ts b/theme/src/node/prepare/prepareBlogData.ts index 12c294ef..446acfa3 100644 --- a/theme/src/node/prepare/prepareBlogData.ts +++ b/theme/src/node/prepare/prepareBlogData.ts @@ -5,6 +5,7 @@ import type { ThemePageData, ThemePostFrontmatter, } from '../../shared/index.js' +import fs from 'node:fs' import { removeLeadingSlash } from '@vuepress/helper' import { createFilter } from 'create-filter' import dayjs from 'dayjs' @@ -64,17 +65,18 @@ export async function preparedBlogData(app: App): Promise { const blogData: ThemeBlogPostList = pages.map((page) => { const tags = page.frontmatter.tags + const date = page.frontmatter.createTime || page.frontmatter.date || (page.date === '0000-00-00' ? fs.statSync(page.filePath!).birthtime : page.date) const data: ThemeBlogPostItem = { path: page.path, title: page.title, categoryList: page.data.categoryList, tags, sticky: page.frontmatter.sticky, - createTime: dayjs(new Date(page.data.frontmatter.createTime || page.date)).format('YYYY/MM/DD HH:mm:ss'), + createTime: dayjs(new Date(date)).format('YYYY/MM/DD HH:mm:ss'), lang: page.lang, excerpt: '', - cover: page.data.frontmatter.cover, - coverStyle: page.data.frontmatter.coverStyle, + cover: page.frontmatter.cover, + coverStyle: page.frontmatter.coverStyle, } if (typeof data.cover === 'object') {