From 6ae4ae959cd29e4ac9ba41668f0bce1170ea8208 Mon Sep 17 00:00:00 2001 From: denizk0461 Date: Tue, 3 Feb 2026 16:38:38 +0100 Subject: [PATCH] fixed project n5 and blog XML feed generation --- src/routes/blog/feed.xml/+server.ts | 35 +++++++++---------- src/routes/blog/posts.ts | 5 ++- .../projectn5/devlog/feed.xml/+server.ts | 35 +++++++++---------- 3 files changed, 38 insertions(+), 37 deletions(-) diff --git a/src/routes/blog/feed.xml/+server.ts b/src/routes/blog/feed.xml/+server.ts index 85cac4a..630a45e 100644 --- a/src/routes/blog/feed.xml/+server.ts +++ b/src/routes/blog/feed.xml/+server.ts @@ -1,26 +1,25 @@ export const prerender = true; -import { posts, type BlogPostDetails } from "../posts"; +import { posts } from "../posts"; -const xml = (tposts: Map) => ` - - denizk0461's Blog - https://denizk0461.dev/blog/ - - ${getEntries()} - +const xml = () => ` + + denizk0461's Blog + https://denizk0461.dev/blog/ + ${getEntries()} + `; function getEntries(): String { var val = ""; - var entries = posts.entries().map((post, index) => - ` - <![CDATA[${post[1].title}]]> - - https://denizk0461.dev/blog/${post[0]} - https://denizk0461.dev/blog/${post[0]} - - - `) + var entries = posts.map((entry, _) => + ` + + <![CDATA[${entry.post.title}]]> + + https://denizk0461.dev/blog/${entry.key} + https://denizk0461.dev/blog/${entry.key} + + `) entries.forEach(entry => { val += entry; }) @@ -33,6 +32,6 @@ export async function GET() { 'Cache-Control': 'max-age=0, s-maxage=600', 'Content-Type': 'application/xml', }; - const body = xml(posts); + const body = xml(); return new Response(body); } \ No newline at end of file diff --git a/src/routes/blog/posts.ts b/src/routes/blog/posts.ts index 4e97b9b..14dbf21 100644 --- a/src/routes/blog/posts.ts +++ b/src/routes/blog/posts.ts @@ -6,6 +6,7 @@ export interface BlogPostDetails { // Banner image title. If empty, defaults to banner.webp banner: string; + bannerAlt: string; title: string; @@ -35,8 +36,9 @@ export const posts: BlogPostLink[] = [ date: "2026-01-31", time: "20:24", banner: "colossus.webp", + bannerAlt: "Colossus standing in the National Museum of Computing in Bletchley, UK", title: "Lessons Learned", - description: "Colossus standing in the National Museum of Computing in Bletchley, UK.", + description: "A small note about how you should always check whether your finished work works as intended.", } }, { @@ -45,6 +47,7 @@ export const posts: BlogPostLink[] = [ date: "2026-01-29", time: "16:42", banner: "girl.webp", + bannerAlt: "A small drawing of an anime-style girl's head.", title: "Limitations", description: "Something about how boundaries can foster creativity.", } diff --git a/src/routes/projects/projectn5/devlog/feed.xml/+server.ts b/src/routes/projects/projectn5/devlog/feed.xml/+server.ts index 71f76a7..4317367 100644 --- a/src/routes/projects/projectn5/devlog/feed.xml/+server.ts +++ b/src/routes/projects/projectn5/devlog/feed.xml/+server.ts @@ -1,26 +1,25 @@ export const prerender = true; -import { posts, type DevlogPost } from "../posts"; +import { posts } from "../posts"; -const xml = (tposts: Map) => ` - - Project N5 Devlog - https://denizk0461.dev/projects/projectn5/devlog/ - - ${getEntries()} - +const xml = () => ` + + Project N5 Devlog + https://denizk0461.dev/projects/projectn5/devlog/ + ${getEntries()} + `; function getEntries(): String { var val = ""; - var entries = posts.entries().map((post, index) => - ` - <![CDATA[${post[1].title}]]> - - https://denizk0461.dev/projects/projectn5/devlog/${post[0]} - https://denizk0461.dev/projects/projectn5/devlog/${post[0]} - - - `) + var entries = posts.map((entry, _) => + ` + + <![CDATA[${entry.post.title}]]> + + https://denizk0461.dev/projects/projectn5/devlog/${entry.key} + https://denizk0461.dev/projects/projectn5/devlog/${entry.key} + + `) entries.forEach(entry => { val += entry; }) @@ -33,6 +32,6 @@ export async function GET() { 'Cache-Control': 'max-age=0, s-maxage=600', 'Content-Type': 'application/xml', }; - const body = xml(posts); + const body = xml(); return new Response(body); } \ No newline at end of file