From edd3b0972115ebddd068ed226158ace07c706401 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Sun, 9 Aug 2026 19:32:06 -0400 Subject: feature: add a reading page --- src/content/config.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/content/config.ts') diff --git a/src/content/config.ts b/src/content/config.ts index d8c4bec..74e6b89 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,4 +1,5 @@ import { defineCollection, z } from 'astro:content'; +import { file } from 'astro/loaders'; const posts = defineCollection({ type: 'content', @@ -9,4 +10,22 @@ const posts = defineCollection({ }), }); -export const collections = { posts }; +const readingEntry = z.object({ + title: z.string(), + author: z.string().optional(), + type: z.enum(['book', 'article']).default('book'), + status: z.enum(['done', 'reading']).default('done'), + isbn: z.string().optional(), + url: z.string().url().optional(), + note: z.string().optional(), +}); + +const reading = defineCollection({ + loader: file('src/content/reading.yaml'), + schema: z.object({ + year: z.number(), + entries: z.array(readingEntry), + }), +}); + +export const collections = { posts, reading }; -- cgit v1.2.1