From 3489060156e9f3b73ea7eb1dccc26dc5cdf4072b Mon Sep 17 00:00:00 2001 From: denizk0461 Date: Tue, 23 Dec 2025 18:12:07 +0000 Subject: [PATCH] added RSS feed for devlog --- src/routes/+page.svelte | 2 + src/routes/feeds/+page.svelte | 30 ++++++++++++++ .../projectn5/devlog/feed.xml/+server.ts | 39 ++++++++++++++++++ static/feeds/banner.webp | Bin 0 -> 22318 bytes 4 files changed, 71 insertions(+) create mode 100644 src/routes/feeds/+page.svelte create mode 100644 src/routes/projects/projectn5/devlog/feed.xml/+server.ts create mode 100644 static/feeds/banner.webp diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 344631e..6dc9255 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -45,6 +45,8 @@

Moin! ~ welcome to my website :)

+ feed here +
+ import BannerTitleAlt from "$lib/banner-title-alt.svelte"; + import Content from "$lib/content.svelte"; + import LinkList, { type LinkEntry } from "$lib/link-list.svelte"; + + let feeds: LinkEntry[] = [ + { + text: "Project N5 devlog", + link: "/projects/projectn5/devlog/feed.xml", + }, + ] + + + + Feeds | denizk0461 + + + + + +

This is a list of RSS feeds I maintain on this website. You can subscribe to them by adding the link of any feed to an RSS reader of your liking.

+ + +
\ No newline at end of file diff --git a/src/routes/projects/projectn5/devlog/feed.xml/+server.ts b/src/routes/projects/projectn5/devlog/feed.xml/+server.ts new file mode 100644 index 0000000..8b801fd --- /dev/null +++ b/src/routes/projects/projectn5/devlog/feed.xml/+server.ts @@ -0,0 +1,39 @@ +export const prerender = true; +import { posts, type DevlogPost } from "../posts"; + +const xml = (tposts: Map) => ` + + + denizk0461 + 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]} + + + `) + entries.forEach(entry => { + val += entry; + }) + return val; +} + +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types +export async function GET() { + const headers = { + 'Cache-Control': 'max-age=0, s-maxage=600', + 'Content-Type': 'application/xml', + }; + const body = xml(posts); + return new Response(body); +} \ No newline at end of file diff --git a/static/feeds/banner.webp b/static/feeds/banner.webp new file mode 100644 index 0000000000000000000000000000000000000000..9c43ce675f207a88b82870b38e9127ed0f120536 GIT binary patch literal 22318 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 F`#*eqRayW5 literal 0 HcmV?d00001