function esc(s: string) { return s.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"') } export type RssItem = { title: string url: string description?: string publishDate: Date } export function buildRss(opts: { title: string description: string siteUrl: string items: RssItem[] }) { const items = opts.items .map( (i) => ` ${esc(i.title)} ${esc(opts.siteUrl + i.url)} ${esc(opts.siteUrl + i.url)} ${i.publishDate.toUTCString()} ${i.description ? `${esc(i.description)}` : ''} `, ) .join('') return ` ${esc(opts.title)} ${esc(opts.siteUrl)} ${esc(opts.description)} ${items} ` }