diff options
| author | Berke Güzel <wenekar1@gmail.com> | 2026-02-09 00:19:32 +0300 |
|---|---|---|
| committer | Berke Güzel <wenekar1@gmail.com> | 2026-02-09 00:19:32 +0300 |
| commit | 895e300b9a01d511edf5634c881873e5c1a1a73c (patch) | |
| tree | c0295e8f8f66ad523969f0aa3737b5cc48960a11 /src | |
| parent | 3fe271f400325d6e792304726cfd984c4bd2176d (diff) | |
better optimized builds?
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/utils/posts.server.ts | 26 | ||||
| -rw-r--r-- | src/routes/+page.server.ts | 8 |
2 files changed, 34 insertions, 0 deletions
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<PostMetadata>('/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() + }; +}; |
