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}
`
}