diff --git a/src/content/posts/_schemas.ts b/src/content/posts/_schemas.ts index 431b29d..3337edd 100644 --- a/src/content/posts/_schemas.ts +++ b/src/content/posts/_schemas.ts @@ -1,14 +1,15 @@ -import { z, reference } from 'astro:content'; +import {z, reference} from 'astro:content'; // @ts-ignore -export const posts = ({ image }) => z.object({ - title: z.string(), - description: z.string().optional(), - draft: z.boolean().optional().default(false), - summary: z.string().optional(), - date: z.coerce.date(), - categories: z.union([z.array(z.string()), z.string()]).transform(val => Array.isArray(val) ? val : [val]).default(['uncategorized']), - tags: z.array(z.string()).optional(), - cover: image().optional(), - author: z.union([z.array(reference('authors')), reference('authors')]).optional(), +export const posts = ({image}) => z.object({ + title: z.string(), + description: z.string().optional(), + draft: z.boolean().optional().default(false), + summary: z.string().optional(), + date: z.coerce.date(), + updated: z.coerce.date().optional(), + categories: z.union([z.array(z.string()), z.string()]).transform(val => Array.isArray(val) ? val : [val]).default(['uncategorized']), + tags: z.array(z.string()).optional(), + cover: image().optional(), + author: z.union([z.array(reference('authors')), reference('authors')]).optional(), }); \ No newline at end of file diff --git a/src/pages/blog/[...slug].astro b/src/pages/blog/[...slug].astro index 9b14a75..3187d5c 100644 --- a/src/pages/blog/[...slug].astro +++ b/src/pages/blog/[...slug].astro @@ -37,7 +37,7 @@ const wordcount = remarkPluginFrontmatter.wordcount; const lastUpdated = remarkPluginFrontmatter.lastModified; const pubDate = new Date(entry.data.date).toISOString().split('T')[0] -const lastUpdatedDate = new Date(lastUpdated).toISOString().split('T')[0] +const lastUpdatedDate = entry.data.updated ? new Date(entry.data.updated).toISOString().split('T')[0] : new Date(lastUpdated).toISOString().split('T')[0]; // Get author data const authorData = await Promise.all((author).map((singleAuthor) => getEntry(singleAuthor).then(authorEntry => authorEntry?.data)))