import { z, defineCollection } from "astro:content"; const articles = defineCollection({ slug: ({ defaultSlug, data }) => { // Use `permalink` from the entry’s frontmatter as the slug, if it exists. // Otherwise, fall back to the default slug. return data.slug || defaultSlug; }, schema: { title: z.string(), subtitle: z.string(), lang: z.enum(["fr", "en"]), slug: z.string().optional(), tags: z.array(z.string()), // An array of strings // Parse pubDate as a browser-standard `Date` object pubDate: z .string() .transform((str) => new Date(str)) .optional(), }, }); export const collections = { // Don't forget 'quotes' for collection names containing dashes articles, };