diff --git a/src/routes/blog/posts.json.ts b/src/routes/blog/posts.json.ts index 0e965ce..26ed281 100644 --- a/src/routes/blog/posts.json.ts +++ b/src/routes/blog/posts.json.ts @@ -1,7 +1,11 @@ import type { BlogPostFrontmatter, BlogPostMeta } from '../../lib/utils/types'; +const removeExtension = (path: string) => path.replace(/\.[^.]*$/g, '').replace('/index', ''); + export async function GET() { - const modules = import.meta.glob('./*.svx'); + const modulesSVX = import.meta.glob('./**/*.svx'); + const modulesMD = import.meta.glob('./**/*.md'); + const modules = { ...modulesMD, ...modulesSVX }; const posts: BlogPostMeta[] = []; const resolved = (await Promise.all(Object.values(modules).map((f) => f()))) as { metadata: BlogPostFrontmatter; @@ -10,7 +14,7 @@ export async function GET() { const path = Object.keys(modules)[index]; const { metadata } = file; - if (!metadata.hidden) posts.push({ ...metadata, href: `blog/${path.replace('.svx', '')}` }); + if (!metadata.hidden) posts.push({ ...metadata, href: `blog/${removeExtension(path)}` }); }); posts.sort((a, b) => new Date(b.created).valueOf() - new Date(a.created).valueOf());