import { defineCollection, z } from "astro:content"; const blog = defineCollection({ type: "content", schema: z.object({ title: z.string(), description: z.string(), date: z.coerce.date(), draft: z.boolean().optional() }), }); const work = defineCollection({ type: "content", schema: z.object({ company: z.string(), role: z.string(), dateStart: z.coerce.date(), dateEnd: z.union([z.coerce.date(), z.string()]), linkedinURL: z.string().optional(), }), }); const projects = defineCollection({ type: "content", schema: z.object({ title: z.string(), description: z.string(), date: z.coerce.date(), draft: z.boolean().optional(), demoURL: z.string().optional(), repoURL: z.string().optional() }), }); const redirects = defineCollection({ type: "content", schema: z.object({ title: z.string(), redirect: z.string(), }), }); export const collections = { blog, work, projects, redirects };