import { z, defineCollection } from "astro:content"; const blog = defineCollection({ schema: z.object({ title: z.string(), description: z.string(), wip: z.boolean().optional().default(false), pubDate: z.string().transform((dateStr) => new Date(dateStr)), }), }); const fanfic = defineCollection({ schema: z.object({ title: z.string(), // description and tags need to be optional because of chapters description: z.string().optional(), tags: z.array(z.string()).optional(), oneshot: z.boolean().optional().default(false), wip: z.boolean().optional().default(false), // exclusive to chapters parent: z.string().optional(), pubDate: z .string() .transform((dateStr) => new Date(dateStr)) .optional(), }), }); export const collections = { blog: blog, fanfic: fanfic, };