新文章+渲染鲁棒性
This commit is contained in:
+6
-1
@@ -30,6 +30,11 @@ function asArray(value: unknown): string[] {
|
||||
return [];
|
||||
}
|
||||
|
||||
function getCategories(entry: CollectionEntry<'posts'>): string[] {
|
||||
const data = entry.data as Record<string, unknown>;
|
||||
return [...asArray(data.categories), ...asArray(data.category)];
|
||||
}
|
||||
|
||||
function toDate(value: unknown): Date {
|
||||
if (value instanceof Date) return value;
|
||||
if (typeof value === 'string' || typeof value === 'number') {
|
||||
@@ -84,7 +89,7 @@ export async function getAllPosts(): Promise<BlogPost[]> {
|
||||
date,
|
||||
dateText: formatDate(date),
|
||||
tags: asArray(entry.data.tags),
|
||||
categories: asArray(entry.data.categories),
|
||||
categories: getCategories(entry),
|
||||
summary: makeSummary(entry),
|
||||
comments: entry.data.comments !== false,
|
||||
cover: typeof entry.data.cover === 'string' ? entry.data.cover : undefined,
|
||||
|
||||
Reference in New Issue
Block a user