badmanners.xyz/src/pages/feed.xml.ts

27 lines
957 B
TypeScript

import rss from "@astrojs/rss";
import type { APIRoute } from "astro";
import { set as dateSet, subMinutes } from "date-fns";
import { TOS_COMMISSION_STATUS, TOS_UPDATED_AT } from "../data/tos";
export const GET: APIRoute = async ({ site }) => {
return rss({
title: "Bad Manners",
description: "Bad Manners status updates",
site: site!,
items: [
{
title: {
CLOSED: "Story commissions are closed.",
OPEN: "Story commissions are open!",
SEMI_OPEN: "Story commissions are semi-open, and I may accept them less frequently.",
PRIVATE: "Story commissions are private; they are only open to select commissioners.",
}[TOS_COMMISSION_STATUS],
link: "https://badmanners.xyz/terms_of_service",
pubDate: subMinutes(
dateSet(TOS_UPDATED_AT, { hours: 12, minutes: 0, seconds: 0 }),
TOS_UPDATED_AT.getTimezoneOffset(),
),
},
],
});
};