added RSS feed for devlog
This commit is contained in:
39
src/routes/projects/projectn5/devlog/feed.xml/+server.ts
Normal file
39
src/routes/projects/projectn5/devlog/feed.xml/+server.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
export const prerender = true;
|
||||
import { posts, type DevlogPost } from "../posts";
|
||||
|
||||
const xml = (tposts: Map<string, DevlogPost>) => `<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<rss xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:atom="https://www.w3.org/2005/Atom" version="2.0">
|
||||
<channel>
|
||||
<title>denizk0461</title>
|
||||
<link>https://denizk0461.dev/projects/projectn5/devlog/</link>
|
||||
<description><![CDATA[Development log for the game Homesick by denizk0461]]></description>
|
||||
${getEntries()}
|
||||
</channel>
|
||||
</rss>`;
|
||||
|
||||
function getEntries(): String {
|
||||
var val = "";
|
||||
var entries = posts.entries().map((post, index) =>
|
||||
`<item>
|
||||
<title><![CDATA[${post[1].title}]]></title>
|
||||
<description><![CDATA[${post[1].description}]]></description>
|
||||
<link>https://denizk0461.dev/projects/projectn5/devlog/${post[0]}</link>
|
||||
<guid isPermaLink="true">https://denizk0461.dev/projects/projectn5/devlog/${post[0]}</guid>
|
||||
<pubDate><![CDATA[${new Date(post[1].date)}]]></pubDate>
|
||||
</item>
|
||||
`)
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user