chore: swap out feed parser dep
This commit is contained in:
parent
a158e1a3ef
commit
db1730b752
3 changed files with 25 additions and 53 deletions
|
@ -1,24 +1,23 @@
|
|||
const { extract } = require('@extractus/feed-extractor')
|
||||
const Parser = require('rss-parser')
|
||||
const { AssetCache } = require('@11ty/eleventy-fetch')
|
||||
|
||||
module.exports = async function () {
|
||||
const parser = new Parser()
|
||||
const url = 'https://letterboxd.com/cdme/rss'
|
||||
// noinspection JSCheckFunctionSignatures
|
||||
const asset = new AssetCache('movies_data')
|
||||
if (asset.isCacheValid('1h')) return await asset.getCachedValue()
|
||||
const res = await extract(url, {
|
||||
getExtraEntryFields: (feedEntry) => {
|
||||
const images = feedEntry['description']?.match(/<img [^>]*src="[^"]*"[^>]*>/gm) || []
|
||||
return {
|
||||
image: images.length
|
||||
? images.map((image) => image.replace(/.*src="([^"]*)".*/, '$1'))[0]
|
||||
: '',
|
||||
}
|
||||
},
|
||||
}).catch((error) => {
|
||||
const res = await parser.parseURL(url).catch((error) => {
|
||||
console.log(error.message)
|
||||
})
|
||||
const data = res.entries.splice(0, 6)
|
||||
const data = res.items
|
||||
.map((item) => {
|
||||
const images = item['content']?.match(/<img [^>]*src="[^"]*"[^>]*>/gm) || []
|
||||
item.image = images.length
|
||||
? images.map((image) => image.replace(/.*src="([^"]*)".*/, '$1'))[0]
|
||||
: 'https://cdn.coryd.dev/movies/missing-movie.jpg'
|
||||
return item
|
||||
})
|
||||
.splice(0, 6)
|
||||
await asset.save(data, 'json')
|
||||
return data
|
||||
}
|
||||
|
|
Reference in a new issue