diff --git a/content/crew.json b/content/crew.json new file mode 100644 index 00000000000..54e5902b375 --- /dev/null +++ b/content/crew.json @@ -0,0 +1,50 @@ +[ + { + "name": "Patrick", + "twitter": "PatrickLemke", + "github": "PatrickLemke", + "text": "Gewinnt als Argumentations-Bazooka jedes Diskussionduell 🗯", + "image": "/img/team/patrick.jpg" + }, + { + "name": "Egge", + "twitter": "egge24_", + "github": "Egge7", + "text": "Die [Mempool-Wetterfee](https://t.me/BlockReportDisc) der die Nodes vertrauen 🌈", + "image": "/img/team/egge.jpg" + }, + { + "name": "Joko", + "twitter": "jokoono", + "url": "https://btc21.de", + "text": "Der Tulpenhändler deines Vertrauens 🌷 hat auch immer die neueste [BTC21](https://btc21.de) Ausgabe auf dem Tresen 📰", + "image": "/img/team/joko.png" + }, + { + "name": "Kemal", + "twitter": "_pretyflaco", + "url": "https://ideasarelikeflames.com/", + "text": "Verbindet Bitcoin und [Bikini](https://bitcoin-turm.de/bturm26/) 👙 und berichtet als Türkei-Korrespondent über Geld in der ganzen Welt 🇹🇷", + "image": "/img/team/kemal.jpg" + }, + { + "name": "Lassmiranda", + "text": "Dennsiewillja! Rundum coole Socke 🧦 Wenn er nicht grade bei [Moe](https://www.youtube.com/watch?v=PGvwVo3rR8U) anruft, managed er unseren [YouTube-Kanal](https://www.youtube.com/c/EinundzwanzigPodcast) 📺", + "image": "/img/team/lassmiranda.jpg" + }, + { + "name": "Jeff", + "twitter": "fulmolightning", + "url": "https://fulmo.org/", + "text": "[Potzblitz!](https://www.youtube.com/c/FulmoLightning/videos) ⚡️ Ein fulmonantes Organisationstalent und Lightning Network-Urgestein 🦸‍♂️", + "image": "/img/team/jeff.jpg" + }, + { + "name": "Moritz", + "twitter": "MWietersheim", + "github": "cryptoadvance", + "url": "https://specter.solutions", + "text": "Ein Gespenst geht um die Welt 👻 und Moritz trägt es im [Specter-Koffer](https://specter.solutions/#enterprise) immer bei sich 🧳", + "image": "/img/team/moritz.jpg" + } +] diff --git a/src/includes/mixins.pug b/src/includes/mixins.pug index a12baf038f0..5ef2a539f02 100644 --- a/src/includes/mixins.pug +++ b/src/includes/mixins.pug @@ -2,6 +2,27 @@ mixin sprite(id) svg(role="img" title=id)&attributes(attributes) use(xlink:href=`${assetPath("/img/sprite.svg")}#${id}`) +mixin member(m) + li.member + img(src=assetPath(m.image) alt=m.name loading="lazy") + header + h2=m.name + .links + if m.mastodon + a(href=(m.mastodon) target="_blank" title=`${m.name} on Mastodon`) + +sprite("mastodon") + if m.twitter + a(href=(m.twitter.startsWith('https://') ? m.twitter : `https://twitter.com/${m.twitter}`) target="_blank" title=`${m.name} on Twitter`) + +sprite("twitter") + if m.github + a(href=(m.github.startsWith('https://') ? m.github : `https://github.com/${m.github}`) target="_blank" title=`${m.name} on GitHub`) + +sprite("github") + if m.url + a(href=m.url target="_blank") + +sprite("url") + if m.text + !=markdown(m.text) + mixin episodeItem(e) article.episodeItem&attributes(attributes) a.plain(href=`/podcast/${e.slug}/`) diff --git a/src/team.pug b/src/team.pug index cfab8ce252a..7e1da58fed6 100644 --- a/src/team.pug +++ b/src/team.pug @@ -10,21 +10,9 @@ block main h1= title ul.members(data-shuffle) each m in shuffle(team) - li.member - img(src=assetPath(m.image) alt=m.name loading="lazy") - header - h2=m.name - .links - if m.mastodon - a(href=(m.mastodon) target="_blank" title=`${m.name} on Mastodon`) - +sprite("mastodon") - if m.twitter - a(href=(m.twitter.startsWith('https://') ? m.twitter : `https://twitter.com/${m.twitter}`) target="_blank" title=`${m.name} on Twitter`) - +sprite("twitter") - if m.github - a(href=(m.github.startsWith('https://') ? m.github : `https://github.com/${m.github}`) target="_blank" title=`${m.name} on GitHub`) - +sprite("github") - if m.url - a(href=m.url target="_blank") - +sprite("url") - !=markdown(m.text) + +member(m) + section + h2 Crew + ul.members(data-shuffle) + each m in shuffle(crew) + +member(m) diff --git a/static/img/team/daniel.jpg b/static/img/team/daniel.jpg index d1d95e3c92b..df38af2167a 100644 Binary files a/static/img/team/daniel.jpg and b/static/img/team/daniel.jpg differ diff --git a/static/img/team/egge.jpg b/static/img/team/egge.jpg new file mode 100644 index 00000000000..24d7bdd97eb Binary files /dev/null and b/static/img/team/egge.jpg differ diff --git a/static/img/team/jeff.jpg b/static/img/team/jeff.jpg new file mode 100644 index 00000000000..6a445b8fd32 Binary files /dev/null and b/static/img/team/jeff.jpg differ diff --git a/static/img/team/joko.png b/static/img/team/joko.png new file mode 100644 index 00000000000..1784b49ec53 Binary files /dev/null and b/static/img/team/joko.png differ diff --git a/static/img/team/kemal.jpg b/static/img/team/kemal.jpg new file mode 100644 index 00000000000..835ab845dd1 Binary files /dev/null and b/static/img/team/kemal.jpg differ diff --git a/static/img/team/lassmiranda.jpg b/static/img/team/lassmiranda.jpg new file mode 100644 index 00000000000..a64c0a72449 Binary files /dev/null and b/static/img/team/lassmiranda.jpg differ diff --git a/static/img/team/moritz.jpg b/static/img/team/moritz.jpg new file mode 100644 index 00000000000..cee94595c2a Binary files /dev/null and b/static/img/team/moritz.jpg differ diff --git a/static/img/team/patrick.jpg b/static/img/team/patrick.jpg new file mode 100644 index 00000000000..89ca58cc6ab Binary files /dev/null and b/static/img/team/patrick.jpg differ diff --git a/tasks/generate_pages.js b/tasks/generate_pages.js index 7070f83d928..43470bac6b2 100644 --- a/tasks/generate_pages.js +++ b/tasks/generate_pages.js @@ -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 crew = require('../content/crew.json') const soundboard = require('../content/soundboard.json') const renderPage = (template, out, data = {}) => { @@ -22,7 +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('team', 'team', { navCurrent: 'team', team, crew }) renderPage('soundboard', 'soundboard', { navCurrent: 'soundboard', soundboard }) renderPage('category', 'podcast/news', { navCurrent: 'podcast', category: 'news', categoryName: 'News', episodes: episodes.filter(e => e.category === 'news') })