Files
Cozy-Den/src/content/config.ts
T

46 lines
1.3 KiB
TypeScript

import { z, defineCollection } from "astro:content";
const blog = defineCollection({
type: "content",
schema: z.object({
title: z.string(),
description: z.string(),
pubDate: z.coerce.date(),
tags: z.array(z.string()).default([]),
category: z.string().optional(),
featuredEssay: z.boolean().optional().default(false),
readingOrder: z.number().int().positive().optional(),
series: z
.object({
name: z.string(),
part: z.number().int().positive(),
})
.optional(),
draft: z.boolean().optional().default(false),
audio: z.boolean().optional().default(false),
}),
});
const coffee = defineCollection({
type: "content",
schema: z.object({
title: z.string().optional(),
date: z.coerce.date(),
draft: z.boolean().optional().default(false),
}),
});
const links = defineCollection({
type: "content",
schema: z.object({
title: z.string(),
url: z.string().url(),
description: z.string(),
category: z.string().optional(),
date: z.coerce.date().optional(),
draft: z.boolean().optional().default(false),
}),
});
export const collections = { blog, coffee, links };