diff --git a/src/routes/blog/feed.xml/+server.ts b/src/routes/blog/feed.xml/+server.ts new file mode 100644 index 0000000..85cac4a --- /dev/null +++ b/src/routes/blog/feed.xml/+server.ts @@ -0,0 +1,38 @@ +export const prerender = true; +import { posts, type BlogPostDetails } from "../posts"; + +const xml = (tposts: Map) => ` + + 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]} + + + `) + 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