summaryrefslogtreecommitdiff
path: root/src/lib/utils
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-02-09 00:19:32 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-02-09 00:19:32 +0300
commit895e300b9a01d511edf5634c881873e5c1a1a73c (patch)
treec0295e8f8f66ad523969f0aa3737b5cc48960a11 /src/lib/utils
parent3fe271f400325d6e792304726cfd984c4bd2176d (diff)
better optimized builds?
Diffstat (limited to 'src/lib/utils')
-rw-r--r--src/lib/utils/posts.server.ts26
1 files changed, 26 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());
+}