Display and link participants

This commit is contained in:
Dennis Reimann
2021-09-20 15:54:33 +02:00
parent d8f64e6ff8
commit 809bd1e941
4 changed files with 19 additions and 2 deletions

View File

@@ -26,3 +26,13 @@ block main
.content .content
!=episode.content !=episode.content
if episode.participants.length
h2 Teilnehmer
ul.partcipants
for participant in episode.participants
li
if participants[participant]
a(href=`/team/#${participant}`)= participant
else
= participant

View File

@@ -3,7 +3,7 @@ mixin sprite(id)
use(xlink:href=`${assetPath("/img/sprite.svg")}#${id}`) use(xlink:href=`${assetPath("/img/sprite.svg")}#${id}`)
mixin member(m) mixin member(m)
li.member li.member(id=m.name)
img(src=assetPath(m.image) alt=m.name loading="lazy") img(src=assetPath(m.image) alt=m.name loading="lazy")
header header
h2=m.name h2=m.name

View File

@@ -6,6 +6,7 @@ const config = require('../pug.config')
const site = require('../generated/site-data.json') const site = require('../generated/site-data.json')
const episodes = require('../generated/episodes.json') const episodes = require('../generated/episodes.json')
const spenden = require('../generated/spenden.json') const spenden = require('../generated/spenden.json')
const participants = require('../generated/participants.json')
const team = require('../content/team.json') const team = require('../content/team.json')
const crew = require('../content/crew.json') const crew = require('../content/crew.json')
const meetups = require('../content/meetups.json') const meetups = require('../content/meetups.json')
@@ -36,4 +37,4 @@ renderPage('category', 'podcast/interviews', { navCurrent: 'podcast', category:
renderPage('category', 'podcast/lesestunde', { navCurrent: 'podcast', category: 'lesestunde', categoryName: 'Lesestunde', episodes: episodes.filter(e => e.category === 'lesestunde') }) renderPage('category', 'podcast/lesestunde', { navCurrent: 'podcast', category: 'lesestunde', categoryName: 'Lesestunde', episodes: episodes.filter(e => e.category === 'lesestunde') })
renderPage('category', 'podcast/der-weg', { navCurrent: 'podcast', category: 'der-weg', categoryName: 'Der Weg', episodes: episodes.filter(e => e.category === 'der-weg') }) renderPage('category', 'podcast/der-weg', { navCurrent: 'podcast', category: 'der-weg', categoryName: 'Der Weg', episodes: episodes.filter(e => e.category === 'der-weg') })
renderPage('category', 'podcast/verschiedenes', { navCurrent: 'podcast', category: 'verschiedenes', categoryName: 'Verschiedenes', episodes: episodes.filter(e => e.category === 'verschiedenes') }) renderPage('category', 'podcast/verschiedenes', { navCurrent: 'podcast', category: 'verschiedenes', categoryName: 'Verschiedenes', episodes: episodes.filter(e => e.category === 'verschiedenes') })
episodes.forEach(episode => renderPage('episode', `podcast/${episode.slug}`, { navCurrent: 'podcast', episode })) episodes.forEach(episode => renderPage('episode', `podcast/${episode.slug}`, { navCurrent: 'podcast', episode, participants }))

View File

@@ -3,6 +3,8 @@ const { basename, join, resolve } = require('path')
const request = require('sync-request') const request = require('sync-request')
const meta = require('../content/meta.json') const meta = require('../content/meta.json')
const team = require('../content/team.json')
const crew = require('../content/crew.json')
const soundboard = require('../content/soundboard.json') const soundboard = require('../content/soundboard.json')
const dir = (...path) => resolve(__dirname, '..', ...path) const dir = (...path) => resolve(__dirname, '..', ...path)
@@ -21,6 +23,10 @@ const date = (new Date()).toJSON().split('T')[0]
writeJSON(dir('generated', 'site-data.json'), { date, block, meta }) writeJSON(dir('generated', 'site-data.json'), { date, block, meta })
// Participants
const participants = team.concat(crew).reduce((result, person) => Object.assign(result, { [person.name]: person }), {})
writeJSON(dir('generated', 'participants.json'), participants)
// Soundboard // Soundboard
const sounds = soundboard.map(group => { const sounds = soundboard.map(group => {
group.sounds = group.sounds.map(sound => { group.sounds = group.sounds.map(sound => {