From 895e300b9a01d511edf5634c881873e5c1a1a73c Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Mon, 9 Feb 2026 00:19:32 +0300 Subject: better optimized builds? --- src/lib/utils/posts.server.ts | 26 ++++++++++++++++++++++++++ src/routes/+page.server.ts | 8 ++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/lib/utils/posts.server.ts create mode 100644 src/routes/+page.server.ts diff --git a/src/lib/utils/posts.server.ts b/src/lib/utils/posts.server.ts new file mode 100644 index 0000000..a9b7bb9 --- /dev/null +++ b/src/lib/utils/posts.server.ts @@ -0,0 +1,26 @@ +import type { Post, PostMetadata } from './posts'; + +const postMetadataFiles = import.meta.glob('/src/posts/*.svx', { + eager: true, + import: 'metadata' +}); + +function getSlugFromPath(path: string): string { + return path.split('/').pop()?.replace('.svx', '') ?? ''; +} + +export function getPosts(): Post[] { + const posts: Post[] = []; + + for (const path in postMetadataFiles) { + const metadata = postMetadataFiles[path]; + const slug = getSlugFromPath(path); + + posts.push({ + ...metadata, + slug + }); + } + + return posts.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()); +} diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts new file mode 100644 index 0000000..8f4a3a7 --- /dev/null +++ b/src/routes/+page.server.ts @@ -0,0 +1,8 @@ +import { getPosts } from '$lib/utils/posts.server'; +import type { PageServerLoad } from './$types'; + +export const load: PageServerLoad = async () => { + return { + posts: getPosts() + }; +}; -- cgit v1.2.3