From 3244c4c692e47fb3e2c3091691d36d952e79523b Mon Sep 17 00:00:00 2001 From: Alexander Daichendt Date: Thu, 4 Aug 2022 13:24:39 +0200 Subject: [PATCH] feat: extend blog post indexing --- src/routes/blog/posts.json.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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());