1
0
mirror of https://github.com/sendevia/website.git synced 2026-03-06 15:42:34 +08:00

feat(posts): change impression field to array type

This commit is contained in:
2025-12-05 22:58:04 +08:00
parent 341da38027
commit 43e8a8dda4

View File

@@ -8,7 +8,7 @@ export type PostData = {
date: string;
timestamp: number;
description: string;
impression?: string;
impression?: string[];
tags: string[];
categories: string[];
};
@@ -46,7 +46,6 @@ const parseModule = (filePath: string, mod: any): PostData => {
const rawDate = frontmatter.date || pageData.lastUpdated;
let dateStr = "";
let timestamp = 0;
if (rawDate) {
const d = new Date(rawDate);
if (!isNaN(d.getTime())) {
@@ -54,7 +53,11 @@ const parseModule = (filePath: string, mod: any): PostData => {
timestamp = d.getTime();
}
}
// 头图处理
const rawImpression = frontmatter.impression;
const impression: string[] = Array.isArray(rawImpression) ? rawImpression : rawImpression ? [rawImpression] : [];
// url 处理
const filename = filePath.split("/").pop() || "";
const name = filename.replace(/\.mdx?$/, "");
const url = `/posts/${encodeURIComponent(name)}`;
@@ -63,8 +66,8 @@ const parseModule = (filePath: string, mod: any): PostData => {
const content = frontmatter.description || pageData.description || mod.excerpt;
// 标签与分类处理
const tags = Array.isArray(frontmatter.tags) ? frontmatter.tags : frontmatter.tags ? [frontmatter.tags] : [];
const categories = Array.isArray(frontmatter.categories)
const tags: string[] = Array.isArray(frontmatter.tags) ? frontmatter.tags : frontmatter.tags ? [frontmatter.tags] : [];
const categories: string[] = Array.isArray(frontmatter.categories)
? frontmatter.categories
: frontmatter.categories
? [frontmatter.categories]
@@ -74,8 +77,8 @@ const parseModule = (filePath: string, mod: any): PostData => {
id: generateHashId(filePath),
title: frontmatter.title || pageData.title || name,
description: content || "",
impression: frontmatter.impression || "",
date: dateStr,
impression,
timestamp,
url,
tags,