import { z, defineCollection } from 'astro:content'; const posts = defineCollection({ schema: z.object({ title: z.string(), description: z.string().optional(), image: z.string().optional(), canonical: z.string().url().optional(), permalink: z.string().optional(), publishDate: z.date().or(z.string()).optional(), draft: z.boolean().optional(), excerpt: z.string().optional(), category: z.string().optional(), tags: z.array(z.string()).optional(), author: z.string().optional(), }), slug: ({ defaultSlug, data }) => { return data.permalink || defaultSlug; }, }); export const collections = { posts: posts, };