diff --git a/src/pages/blog/[slug].vue b/src/pages/blog/[slug].vue
index 1fbe21d..09e5d00 100644
--- a/src/pages/blog/[slug].vue
+++ b/src/pages/blog/[slug].vue
@@ -4,6 +4,10 @@ const { data: post } = await useAsyncData(`blog-${slug}`, () => {
return queryCollection('blog').path(`/blog/${slug}`).first();
});
+if (!post.value) {
+ throw createError({ statusCode: 404, statusMessage: 'Page Not Found' });
+}
+
useHead({
title: `${post.value.title} | Pretendo Network Blog`,
meta: [
@@ -38,7 +42,7 @@ useHead({
{{ post.author }}
diff --git a/src/pages/blog/index.vue b/src/pages/blog/index.vue
index bc549d8..440bb6f 100644
--- a/src/pages/blog/index.vue
+++ b/src/pages/blog/index.vue
@@ -2,9 +2,9 @@
/* eslint-disable vue/no-v-html -- we might wanna avoid this by rewriting the locales to use variables */
const { data: allPosts } = await useAsyncData('blog', () => queryCollection('blog').all());
-const posts = allPosts.value?.filter(p => !p.path.startsWith('/blog/_')).sort((a, b) => {
+const posts = computed(() => allPosts.value?.filter(p => !p.path.startsWith('/blog/_')).sort((a, b) => {
return new Date(b.date).getTime() - new Date(a.date).getTime();
-});
+}));
@@ -66,7 +66,7 @@ const posts = allPosts.value?.filter(p => !p.path.startsWith('/blog/_')).sort((a
{{ post.author }}
diff --git a/src/server/routes/blog/feed.xml.ts b/src/server/routes/blog/feed.xml.ts
index 62eb00c..bb4244d 100644
--- a/src/server/routes/blog/feed.xml.ts
+++ b/src/server/routes/blog/feed.xml.ts
@@ -24,8 +24,8 @@ export default defineEventHandler(async (event) => {
posts.forEach((post) => {
feed.addItem({
title: post.title,
- id: post.path,
- link: `https://pretendo.network/${post.path}`,
+ id: post.path,
+ link: `https://pretendo.network${post.path}`,
description: post.caption,
author: [
{
@@ -33,7 +33,7 @@ export default defineEventHandler(async (event) => {
}
],
date: new Date(post.date),
- image: `https://pretendo.network/${post.cover_image}`
+ image: `https://pretendo.network${post.cover_image}`
});
});