21 lines
500 B
TypeScript
21 lines
500 B
TypeScript
import { z, defineCollection } from "astro:content";
|
|
|
|
const articles = defineCollection({
|
|
schema: {
|
|
title: z.string(),
|
|
subtitle: z.string(),
|
|
lang: z.enum(["fr", "en"]),
|
|
slug: z.string(),
|
|
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,
|
|
};
|