mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig.space.git
synced 2025-12-13 16:26:50 +00:00
Deploy custom feed
This commit is contained in:
@@ -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)
|
||||
})()
|
||||
|
||||
Reference in New Issue
Block a user