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 0000000..9c43ce6 Binary files /dev/null and b/static/feeds/banner.webp differ