Add soundboard

This commit is contained in:
Dennis Reimann
2021-05-31 16:45:53 +02:00
parent 44037a28b5
commit 853d93d0b9
32 changed files with 192 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
const { writeFileSync } = require('fs')
const { join, resolve } = require('path')
const { replacements } = require('../helpers')
const { replacements, slugify } = require('../helpers')
const { masterFeedUrl, publicFeedUrl } = require('../content/meta.json')
const request = require('sync-request')
const Parser = require('rss-parser')
@@ -9,11 +9,6 @@ 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')
.replace(/\s+/g, '-').replace(/[^\w\-]+/g, '')
.replace(/\-\-+/g, '-').replace(/^-+/, '').replace(/-+$/, '')
const parseBaseInfoFromMatch = m => {
let [, categoryName = 'News', number, titlePlain] = m ? m : [,,,]
if (!number) categoryName = 'Verschiedenes'

View File

@@ -6,6 +6,7 @@ const config = require('../pug.config')
const site = require('../generated/site-data.json')
const episodes = require('../generated/episodes.json')
const team = require('../content/team.json')
const soundboard = require('../content/soundboard.json')
const renderPage = (template, out, data = {}) => {
const file = resolve(__dirname, '..', `src/${template}.pug`)
@@ -22,6 +23,7 @@ const renderPage = (template, out, data = {}) => {
renderPage('index', 'index', { navCurrent: 'index', currentEpisode: episodes[0] })
renderPage('podcast', 'podcast', { navCurrent: 'podcast', episodes: [...episodes] })
renderPage('team', 'team', { navCurrent: 'team', team })
renderPage('soundboard', 'soundboard', { navCurrent: 'soundboard', soundboard })
renderPage('category', 'podcast/news', { navCurrent: 'podcast', category: 'news', categoryName: 'News', episodes: episodes.filter(e => e.category === 'news') })
renderPage('category', 'podcast/interviews', { navCurrent: 'podcast', category: 'interview', categoryName: 'Interviews', episodes: episodes.filter(e => e.category === 'interview') })