diff --git a/src/lib/components/PostsList.svelte b/src/lib/components/PostsList.svelte
index 5b69d3a..5ed3a46 100644
--- a/src/lib/components/PostsList.svelte
+++ b/src/lib/components/PostsList.svelte
@@ -1,5 +1,5 @@
-
-
+
+ Posts
+
+
+
+
diff --git a/src/routes/posts/[slug]/+page.server.ts b/src/routes/posts/[slug]/+page.server.ts
index 7d8066c..81e2ccd 100644
--- a/src/routes/posts/[slug]/+page.server.ts
+++ b/src/routes/posts/[slug]/+page.server.ts
@@ -1,15 +1,17 @@
+import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import type { MdBody } from '../../api/content/types';
export const load = (async ({ parent, params, fetch }) => {
const { posts } = await parent();
-
- // find index of file that matches the slug
const postId = posts.findIndex((x) => x.slug === params.slug);
- const res = await fetch(`/api/content/${postId}`);
+ const response = await fetch(`/api/content/${postId}`);
+ if (!response.ok) {
+ throw error(400, 'error loading data from endpoint');
+ }
return {
- postBody: (await res.json()) as MdBody
+ postBody: (await response.json()) as MdBody
};
}) satisfies PageServerLoad;
diff --git a/src/routes/posts/[slug]/+page.svelte b/src/routes/posts/[slug]/+page.svelte
index f01a134..55987b7 100644
--- a/src/routes/posts/[slug]/+page.svelte
+++ b/src/routes/posts/[slug]/+page.svelte
@@ -1,8 +1,41 @@
-
- {@html data.postBody.html}
-
+
+ Posts | {meta.title}
+
+
+
+
+
+
{meta.title}
+
+
+
+ {#if meta.tags.length}
+
+ {#each meta.tags as tag}
+ -
+
+
+ {/each}
+
+ {/if}
+
+
+
+ {meta.description}
+
+
+
+ {@html html}
+
+
diff --git a/src/routes/posts/categories/+page.server.ts b/src/routes/posts/categories/+page.server.ts
index b218e59..f5e6f82 100644
--- a/src/routes/posts/categories/+page.server.ts
+++ b/src/routes/posts/categories/+page.server.ts
@@ -1,8 +1,13 @@
+import { error } from '@sveltejs/kit';
import type { PageServerLoad } from './$types';
import type { MdMeta } from '../../api/content/types';
export const load = (async ({ fetch }) => {
const response = await fetch('/api/content');
+ if (!response.ok) {
+ throw error(400, 'error loading data from endpoint');
+ }
+
const result = (await response.json()) as MdMeta[];
const allCategories = result.map((x) => x.category);
diff --git a/src/routes/posts/categories/+page.svelte b/src/routes/posts/categories/+page.svelte
index d26e05f..717c87e 100644
--- a/src/routes/posts/categories/+page.svelte
+++ b/src/routes/posts/categories/+page.svelte
@@ -4,6 +4,11 @@
export let data: PageServerData;
+
+ Posts | Categories
+
+
+