feat: categories accepts strings & make description optional

This commit is contained in:
草师傅 2025-08-12 11:12:21 +08:00
parent 5ac24d0bc2
commit 70b389a4a5
Signed by: gb
GPG key ID: 43330A030E2D6478
4 changed files with 5 additions and 5 deletions

View file

@ -3,10 +3,10 @@ import { z, reference } from 'astro:content';
// @ts-ignore
export const posts = ({ image }) => z.object({
title: z.string(),
description: z.string(),
description: z.string().optional(),
summary: z.string().optional(),
date: z.coerce.date(),
categories: z.array(z.string()).default(['uncategorized']),
categories: z.union([z.array(z.string()), z.string()]).transform(val => Array.isArray(val) ? val : [val]).default(['uncategorized']),
tags: z.array(z.string()).optional(),
cover: image().optional(),
author: z.union([z.array(reference('authors')), reference('authors')]).optional(),