diff --git a/src/content/config.ts b/src/content/config.ts index d108e66..d780621 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,6 +1,6 @@ import { z, defineCollection } from 'astro:content' -const taEntry = z.object({ +const entry = z.object({ title: z.string(), link: z.string().url(), date: z.string().transform((str) => new Date(str)), @@ -9,25 +9,27 @@ const taEntry = z.object({ runner: z.string(), }) -const taInfo = defineCollection({ +const quest = z.object({ + questTitle: z.string(), + description: z.string(), + data: z.array(entry) +}) + +const info = z.object({ + title: z.string(), + releaseDate: z.string().transform((str) => new Date(str)), + shortdescription: z.string(), + releaseNumber: z.number().default(1), +}) + +const taData = defineCollection({ type: 'data', schema: z.object({ - info: z.object({ - title: z.string(), - releaseDate: z.string().transform((str) => new Date(str)), - shortdescription: z.string(), - releaseNumber: z.number().default(1), - }), - quests: z.array( - z.object({ - questTitle: z.string(), - description: z.string(), - data: z.array(taEntry) - }) - ), + info: info, + quests: z.array(quest), }), }) export const collections = { - taInfoData: taInfo, + taInfoData: taData, }