diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts
new file mode 100644
index 0000000..116bda9
--- /dev/null
+++ b/src/routes/+page.server.ts
@@ -0,0 +1,32 @@
+import type { SvelteComponent } from 'svelte';
+import type { MDsveXComponent } from '$lib/types';
+
+export interface BlogEntry {
+ name: string;
+ src: string;
+ img: string;
+ date: string;
+ desc: string;
+}
+
+
+export function load() {
+ const blog_entries: BlogEntry[] =
+ Object.entries(import.meta.glob('/src/routes/blogs/**/+page.svx', { eager: true }))
+ .map(([key, value]) => [
+ key.split('/src/routes').pop()?.split('/+page.svx').slice(0, -1).pop() as string,
+ value as MDsveXComponent
+ ])
+ .map(([link, val]) =>
+ typeof val.metadata?.src !== 'undefined' ? [val.metadata?.src, val] : [link, val]
+ )
+ .map(([link, val]) => {
+ val.metadata.date = Date.parse(val.metadata.date);
+ return [link, val];
+ })
+ .sort(([link1, a], [link2, b]) => b.metadata?.date - a.metadata?.date)
+ .map(([link, val]) => { return { src: link, title: val.metadata.title, img: val.metadata.img, date: new Date(val.metadata.date).toDateString(), desc: val.metadata.desc } })
+ return {
+ blogs: blog_entries
+ };
+}
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index e03c9d9..32b1c4b 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,24 +1,9 @@
{page.metadata?.desc}
-{new Date(page.metadata?.date).toDateString()}
+{blog.desc}
+{blog.date}