diff --git a/src/lib/header.svelte b/src/lib/header.svelte
index bbac270..cded304 100644
--- a/src/lib/header.svelte
+++ b/src/lib/header.svelte
@@ -4,7 +4,7 @@
Projects
Project N5
- Blog
+ Blog
About
{/snippet}
diff --git a/src/routes/blog/+page.svelte b/src/routes/blog/+page.svelte
new file mode 100644
index 0000000..58d8b86
--- /dev/null
+++ b/src/routes/blog/+page.svelte
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/routes/blog/2026/0105.md b/src/routes/blog/2026/0105.md
new file mode 100644
index 0000000..e7cb393
--- /dev/null
+++ b/src/routes/blog/2026/0105.md
@@ -0,0 +1,3 @@
+test
+## Test
+working?
\ No newline at end of file
diff --git a/src/routes/blog/[year]/[date]/+page.svelte b/src/routes/blog/[year]/[date]/+page.svelte
new file mode 100644
index 0000000..94c7884
--- /dev/null
+++ b/src/routes/blog/[year]/[date]/+page.svelte
@@ -0,0 +1,27 @@
+
+
+
+ {data.title} | denizk0461
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/routes/blog/[year]/[date]/+page.ts b/src/routes/blog/[year]/[date]/+page.ts
new file mode 100644
index 0000000..52f7933
--- /dev/null
+++ b/src/routes/blog/[year]/[date]/+page.ts
@@ -0,0 +1,22 @@
+import { posts, type BlogPostDetails } from '../../posts';
+
+export async function load({ params }) {
+ const post = await import(`../../${params.year}/${params.date}.md`);
+
+ const tag: string = `${params.year}/${params.date}`;
+ const postValues = posts.get(tag);
+ const content = post.default;
+ const title: string = postValues?.fullTitle ?? "";
+ const date: string = postValues?.date ?? "";
+ // const bannerAlt: string = postValues?.bannerAlt ?? "";
+ const description: string = postValues?.description ?? "";
+
+ return {
+ content,
+ title,
+ date,
+ tag,
+ // bannerAlt,
+ description,
+ };
+}
\ No newline at end of file
diff --git a/src/routes/blog/posts.ts b/src/routes/blog/posts.ts
new file mode 100644
index 0000000..8922e23
--- /dev/null
+++ b/src/routes/blog/posts.ts
@@ -0,0 +1,29 @@
+export interface BlogPostDetails {
+ date: string;
+
+ /**
+ * Short title to be used in URL.
+ */
+ shortTitle: string;
+ fullTitle: string;
+
+ /**
+ * Description to be used in page's metadata.
+ */
+ description: string;
+}
+
+export const posts = new Map([
+ ["2026/0105", {
+ date: "2026-01-05",
+ shortTitle: "portsmouth",
+ fullTitle: "Portsmouth Postmortem",
+ description: "",
+ }],
+]);
+
+// export function getDate(post: BlogPostDetails): string {
+// var s = [post.year, post.date.split()].join("");
+// s.
+// return "";
+// }
\ No newline at end of file
diff --git a/static/blog/2026/0105/preview.webp b/static/blog/2026/0105/preview.webp
new file mode 100644
index 0000000..f0f069a
Binary files /dev/null and b/static/blog/2026/0105/preview.webp differ