diff --git a/www/src/lib/md.ts b/www/src/lib/md.ts index eb1a1e0..4c5cb5b 100644 --- a/www/src/lib/md.ts +++ b/www/src/lib/md.ts @@ -2,7 +2,7 @@ import type { CollectionEntry } from 'astro:content'; import { DEFAULT_CATEGORY } from './consts'; import { sortEntries } from './format'; -type Post = CollectionEntry<'md'>; +export type Post = CollectionEntry<'md'> & { body?: string }; export function getSlug(postId: string): string { const parts = postId.split('/'); diff --git a/www/src/pages/[slug].astro b/www/src/pages/[slug].astro index c2a81a8..58fa84a 100644 --- a/www/src/pages/[slug].astro +++ b/www/src/pages/[slug].astro @@ -2,7 +2,7 @@ import { getCollection, render } from 'astro:content'; import Layout from '../layouts/Layout.astro'; import { formatDate, formatListItem, excerpt } from '../lib/format'; -import { getSlug, resolveRelatedPosts } from '../lib/md'; +import { getSlug, resolveRelatedPosts, type Post } from '../lib/md'; export async function getStaticPaths() { const allPosts = await getCollection('md'); @@ -15,7 +15,7 @@ export async function getStaticPaths() { const { post, allPosts } = Astro.props; const { Content } = await render(post); const related = post.data.related ? resolveRelatedPosts(post.data.related, allPosts) : []; -const description = excerpt((post as any).body) || undefined; +const description = excerpt((post as Post).body) || undefined; --- diff --git a/www/src/pages/feed.xml.ts b/www/src/pages/feed.xml.ts index d350661..417ebd6 100644 --- a/www/src/pages/feed.xml.ts +++ b/www/src/pages/feed.xml.ts @@ -1,7 +1,7 @@ import rss from '@astrojs/rss'; import { getCollection } from 'astro:content'; import type { APIContext } from 'astro'; -import { getSlug } from '../lib/md'; +import { getSlug, type Post } from '../lib/md'; import { getTxtFiles } from '../lib/txt'; import { excerpt } from '../lib/format'; @@ -14,7 +14,7 @@ export async function GET(context: APIContext) { title: post.data.title, pubDate: post.data.date, link: `/${getSlug(post.id)}`, - description: excerpt((post as any).body) || post.data.title, + description: excerpt((post as Post).body) || post.data.title, })), ...txtFiles.map(txt => ({ title: txt.name,