Files
campus-web/src/content/config.ts
2023-01-21 21:37:09 -05:00

28 lines
671 B
TypeScript

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,
};