mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig.space.git
synced 2025-12-13 16:26:50 +00:00
Introduce aliases for team members
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
const { writeFileSync } = require('fs')
|
||||
const { join, resolve } = require('path')
|
||||
const { replacements, slugify, stripHTML } = require('../helpers')
|
||||
const { replacements, slugify, stripHTML, teamWithAliases } = require('../helpers')
|
||||
const { masterFeedUrl, publicFeedUrl } = require('../content/meta.json')
|
||||
const team = require('../content/team.json')
|
||||
const teamRaw = require('../content/team.json')
|
||||
const request = require('sync-request')
|
||||
const { XMLParser, XMLBuilder, XMLValidator } = require('fast-xml-parser')
|
||||
const xmlFormat = require('xml-formatter')
|
||||
@@ -13,6 +13,8 @@ const write = (name, data) => writeFileSync(join(dir, name), data)
|
||||
const writeJSON = (name, data) =>
|
||||
write(`generated/${name}.json`, JSON.stringify(data, null, 2))
|
||||
|
||||
const team = teamWithAliases(teamRaw)
|
||||
|
||||
const commonOpts = {
|
||||
attributeNamePrefix: '',
|
||||
attributesGroupName: '__attr',
|
||||
@@ -34,11 +36,6 @@ const json2xmlOpts = {
|
||||
indentBy: ' '
|
||||
}
|
||||
|
||||
Object.values(team).forEach(member => {
|
||||
const alias = member.name.toLowerCase()
|
||||
if (!team[alias]) team[alias] = member
|
||||
})
|
||||
|
||||
const parser = new XMLParser(xml2jsonOpts, true)
|
||||
const builder = new XMLBuilder(json2xmlOpts)
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
const pug = require('pug')
|
||||
const { mkdirSync, writeFileSync } = require('fs')
|
||||
const { dirname, resolve } = require('path')
|
||||
const { slugify } = require('../helpers')
|
||||
const { slugify, teamWithAliases } = require('../helpers')
|
||||
const config = require('../pug.config')
|
||||
const site = require('../generated/site-data.json')
|
||||
const episodes = require('../generated/episodes.json')
|
||||
const spendenregister = require('../generated/spendenregister.json')
|
||||
const spendenuebersicht = require('../content/spendenuebersicht.json').reverse()
|
||||
const team = require('../content/team.json')
|
||||
const teamRaw = require('../content/team.json')
|
||||
const shops = require('../content/shops.json')
|
||||
const soundboard = require('../content/soundboard.json')
|
||||
const adventskalender = require('../content/adventskalender-2022.json')
|
||||
@@ -21,6 +21,8 @@ const categories = {
|
||||
'verschiedenes': 'Verschiedenes'
|
||||
}
|
||||
|
||||
const team = teamWithAliases(teamRaw)
|
||||
|
||||
const changedFile = process.argv.length > 2 && process.argv[2]
|
||||
|
||||
const renderPage = (template, out, data = {}) => {
|
||||
@@ -55,9 +57,9 @@ renderPage('adventskalender', 'adventskalender', { adventskalender })
|
||||
|
||||
episodes.forEach(episode => renderPage('episode', `podcast/${episode.slug}`, { navCurrent: 'podcast', episode, team }))
|
||||
Object.keys(categories).forEach(category => renderPage('category', `podcast/${slugify(categories[category])}`, { navCurrent: 'podcast', category, categoryName: categories[category], episodes: episodes.filter(e => e.category === category), team }))
|
||||
Object.keys(team).forEach(id => {
|
||||
const member = team[id]
|
||||
const alias = member.name.toLowerCase()
|
||||
const eps = episodes.filter(e => e.participants.find(p => [id, alias].includes(p.toLowerCase())))
|
||||
Object.keys(teamRaw).forEach(id => {
|
||||
const member = teamRaw[id]
|
||||
const aliases = (member.aliases || []).map(m => m.toLowerCase()).concat(member.name.toLowerCase())
|
||||
const eps = episodes.filter(e => e.participants.find(p => [id, ...aliases].includes(p.toLowerCase())))
|
||||
renderPage('member', `team/${slugify(id)}`, { navCurrent: 'podcast', member, episodes: eps, team })
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user