Migrate blog to new astro Content Collections

This commit is contained in:
prototypa
2023-01-01 18:32:52 -05:00
parent 785b66968a
commit d7b7baa414
15 changed files with 71 additions and 40 deletions

27
src/content/config.js Normal file
View File

@ -0,0 +1,27 @@
import { z, defineCollection } from 'astro:content';
const blog = defineCollection({
schema: {
title: z.string(),
description: z.string().optional(),
image: z.string().optional(),
canonical: z.string().url().optional(),
permalink: z.string().optional(),
publishDate: z.string().transform((str) => new Date(str)),
draft: z.boolean().optional(),
excerpt: z.string().optional(),
category: z.string().optional(),
tags: z.array(z.string()).optional(),
authors: z.array(z.string()).optional(),
},
slug: ({ defaultSlug, data }) => {
return data.permalink || defaultSlug;
},
});
export const collections = {
blog: blog,
};