add rss support, linkding and gitea feeds

This commit is contained in:
Melanie Kat 2025-12-17 22:21:52 -08:00
parent 911d851fb1
commit 6453033657
2 changed files with 23 additions and 0 deletions

View file

@ -3,6 +3,7 @@ import {
getJsonFeedItemTitle,
getLetterboxdActivity,
getMalojaScrobble,
getRSSItemTitle,
getTraktEpisode,
markdownLinkRegex,
} from './utils.js'
@ -42,4 +43,14 @@ export const items = [
getLatest: async () =>
getTraktEpisode('zicklepop', 'd0a982626d7793b5cf1857a2128277cc'),
},
{
id: 'link',
regex: markdownLinkRegex('melkat.link'),
getLatest: async () => getRSSItemTitle('https://melkat.link/feeds/shared'),
},
{
id: 'dev',
regex: markdownLinkRegex('melkat.dev/melanie'),
getLatest: async () => getRSSItemTitle('https://melkat.dev/melanie.rss'),
},
]

View file

@ -9,6 +9,18 @@ export function markdownLinkRegex(url) {
)
}
export async function getRSSItemTitle(feedUrl) {
const res = await fetch(feedUrl)
const data = await res.text()
const dom = new JSDOM(data)
const item = dom.window.document.querySelector('item')
const title = item.querySelector('title').textContent
return sanitizeHtml(title, {
allowedTags: [],
allowedAttributes: {},
})?.trim()
}
export async function getJsonFeedItemTitle(feedUrl) {
const res = await fetch(feedUrl)
const data = await res.json()