28 lines
859 B
TypeScript
28 lines
859 B
TypeScript
import { getSettings } from "@/content/settings/settings";
|
|
import type { APIRoute } from "astro";
|
|
import minifyXML from "minify-xml";
|
|
|
|
export const GET = (async () => {
|
|
const settings = await getSettings();
|
|
|
|
let sitemapContent = `
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<rss version="2.0">
|
|
<channel>
|
|
<title>${settings.website.applicationName}</title>
|
|
<description>This is the RSS feed of ${settings.website.applicationName}</description>
|
|
<link>${settings.website.domainName}</link>
|
|
<lastBuildDate>Sat, 13 Dec 2003 18:30:02 GMT</lastBuildDate>
|
|
</channel>
|
|
</rss>
|
|
`;
|
|
|
|
return new Response(minifyXML(sitemapContent), {
|
|
status: 200,
|
|
statusText: "OK",
|
|
headers: {
|
|
"Content-Type": "application/xml"
|
|
}
|
|
});
|
|
}) satisfies APIRoute;
|