Deploy custom feed

This commit is contained in:
Dennis Reimann
2021-03-26 10:31:18 +01:00
parent 42ef2e9842
commit 23c3c8eb73

View File

@@ -1,10 +1,12 @@
const { writeFileSync } = require('fs')
const { join, resolve } = require('path')
const { replacements } = require('../helpers')
const request = require('sync-request')
const Parser = require('rss-parser')
const dir = resolve(__dirname, '..', 'generated')
const write = (name, data) => writeFileSync(join(dir, `${name}.json`), JSON.stringify(data, null, 2))
const dir = resolve(__dirname, '..')
const write = (name, data) => writeFileSync(join(dir, name), data)
const writeJSON = (name, data) => write(`generated/${name}.json`, JSON.stringify(data, null, 2))
const slugify = str => str.toLowerCase()
.replace('ä', 'ae').replace('ö', 'oe').replace('ü', 'ue')
@@ -23,11 +25,16 @@ const parseInfo = e => {
}
;(async () => {
// Load and adapt feed
let xml = request('GET', 'https://anchor.fm/s/d8d3c38/podcast/rss').getBody('utf8')
xml = xml.replace(/<itunes:email>(.*?)<\/itunes:email>/, '<itunes:email>einundzwanzigpodcast@pm.me</itunes:email>')
// Parse feed
const parser = new Parser()
const feed = await parser.parseURL('https://anchor.fm/s/d8d3c38/podcast/rss')
const feed = await parser.parseString(xml)
// Original Anchor-Feed
write('feed', feed)
write('dist/feed.xml', xml)
writeJSON('feed', feed)
// All episodes
const episodes = feed.items.map(e => {
@@ -50,5 +57,5 @@ const parseInfo = e => {
}
})
write('episodes', episodes)
writeJSON('episodes', episodes)
})()