add rss support, linkding and gitea feeds
This commit is contained in:
parent
911d851fb1
commit
6453033657
2 changed files with 23 additions and 0 deletions
11
config.js
11
config.js
|
|
@ -3,6 +3,7 @@ import {
|
||||||
getJsonFeedItemTitle,
|
getJsonFeedItemTitle,
|
||||||
getLetterboxdActivity,
|
getLetterboxdActivity,
|
||||||
getMalojaScrobble,
|
getMalojaScrobble,
|
||||||
|
getRSSItemTitle,
|
||||||
getTraktEpisode,
|
getTraktEpisode,
|
||||||
markdownLinkRegex,
|
markdownLinkRegex,
|
||||||
} from './utils.js'
|
} from './utils.js'
|
||||||
|
|
@ -42,4 +43,14 @@ export const items = [
|
||||||
getLatest: async () =>
|
getLatest: async () =>
|
||||||
getTraktEpisode('zicklepop', 'd0a982626d7793b5cf1857a2128277cc'),
|
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'),
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
|
||||||
12
utils.js
12
utils.js
|
|
@ -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) {
|
export async function getJsonFeedItemTitle(feedUrl) {
|
||||||
const res = await fetch(feedUrl)
|
const res = await fetch(feedUrl)
|
||||||
const data = await res.json()
|
const data = await res.json()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue