Files
youhavetrouble.github.io/src/content/config.ts
T
2026-03-06 20:10:13 +01:00

38 lines
915 B
TypeScript

import {z, defineCollection} from 'astro:content';
const posts = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
publishDate: z.string(),
tags: z.array(z.string()),
image: z.string().optional(),
}),
});
const projects = defineCollection({
type: 'content',
schema: z.object({
category: z.string(),
name: z.string(),
description: z.string(),
image: z.string().optional(),
links: z.array(z.object({text: z.string(), url: z.string()})),
technologies: z.array(z.string()).optional(),
}),
});
const writing = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
publishDate: z.date({coerce: true}),
category: z.string(),
}),
});
export const collections = {
posts,
projects,
writing,
};