From e1cdb5ad86cf38add0956135d7a997ec3af0758c Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Sat, 18 Sep 2021 14:03:38 +0200 Subject: [PATCH] Add Spendenregister --- content/spenden/anthony-potdevin.json | 8 ++ content/spenden/bitcoin-beach.json | 7 ++ content/spenden/netpositive-money.json | 7 ++ content/spenden/raspiblitz.json | 8 ++ content/spenden/rene-pickhardt.json | 8 ++ helpers.js | 11 ++- pug.config.js | 5 +- src/css/base/header.css | 6 +- src/css/main.css | 1 + src/css/sections/spenden.css | 122 +++++++++++++++++++++++++ src/includes/mixins.pug | 29 ++++++ src/includes/template.pug | 5 +- src/meetups.pug | 1 - src/spenden.pug | 19 ++++ static/img/avatar.svg | 1 + static/img/spenden/bitcoinbeach.png | Bin 0 -> 47849 bytes static/img/spenden/raspiblitz.jpg | Bin 0 -> 19081 bytes static/js/main.js | 8 ++ tasks/generate_pages.js | 2 + tasks/generate_site_data.js | 29 ++++-- 20 files changed, 259 insertions(+), 18 deletions(-) create mode 100644 content/spenden/anthony-potdevin.json create mode 100644 content/spenden/bitcoin-beach.json create mode 100644 content/spenden/netpositive-money.json create mode 100644 content/spenden/raspiblitz.json create mode 100644 content/spenden/rene-pickhardt.json create mode 100644 src/css/sections/spenden.css create mode 100644 src/spenden.pug create mode 100644 static/img/avatar.svg create mode 100644 static/img/spenden/bitcoinbeach.png create mode 100644 static/img/spenden/raspiblitz.jpg diff --git a/content/spenden/anthony-potdevin.json b/content/spenden/anthony-potdevin.json new file mode 100644 index 00000000000..2d66fec5284 --- /dev/null +++ b/content/spenden/anthony-potdevin.json @@ -0,0 +1,8 @@ +{ + "name": "Anthony Potdevin", + "github": "apotdevin", + "twitter": "tonyioi", + "spendenURL": "https://github.com/sponsors/apotdevin", + "avatar": "https://avatars3.githubusercontent.com/u/31413433?s=460&u=719e165488e0c8092bb234f7180140d53bcc382c&v=4", + "beschreibung": "Freier Entwickler aus München, der hauptsächlich an der Entwicklung des Lightning-Node-Managers [ThunderHub](https://github.com/apotdevin/thunderhub) arbeitet. Dabei handelt es sich um eine freie Open-Source Lösung für die Verwaltung der eigenen Lightning-Node auf einem dedizierten Gerät, wie z.B. dem RaspiBlitz." +} diff --git a/content/spenden/bitcoin-beach.json b/content/spenden/bitcoin-beach.json new file mode 100644 index 00000000000..9dec9748250 --- /dev/null +++ b/content/spenden/bitcoin-beach.json @@ -0,0 +1,7 @@ +{ + "name": "Bitcoin Beach", + "twitter": "Bitcoinbeach", + "spendenURL": "https://platform.engiven.com/give/8/widget/34", + "avatar": "/img/spenden/bitcoinbeach.png", + "beschreibung": "Erster [Ort / Gemeinschaft](https://www.bitcoinbeach.com/) in El Salvador die an der Pazifikküste eine Kreislaufwirtschaft auf Basis von Bitcoin errichtet haben. Ziel ist es die finanzielle Inklusion zu stärken und der Gemeinschaft wirtschaftlich zu entwickeln." +} diff --git a/content/spenden/netpositive-money.json b/content/spenden/netpositive-money.json new file mode 100644 index 00000000000..64cb5041335 --- /dev/null +++ b/content/spenden/netpositive-money.json @@ -0,0 +1,7 @@ +{ + "name": "netpositive.money", + "github": "netpositive-money", + "twitter": "netposmon", + "spendenURL": "https://netpositive.money/", + "beschreibung": "Initiative, um Aufmerksamkeit für den Stromverbrauch und die Emission von Treibhausgasen des Bitcoin-Netzwerks zu schaffen. Aus Basis von unterschiedlichen wissenschaftlichen Quellen wurde ein Kalkulator für den persönlichen ökologischen Fußabdruck durch das Halten von Bitcoin entwickelt und Empfehlungen für die Kompensation aufgezeigt." +} diff --git a/content/spenden/raspiblitz.json b/content/spenden/raspiblitz.json new file mode 100644 index 00000000000..bab7d49bff2 --- /dev/null +++ b/content/spenden/raspiblitz.json @@ -0,0 +1,8 @@ +{ + "name": "RaspiBlitz", + "github": "RaspiBlitz", + "twitter": "RaspiBlitz", + "spendenURL": "https://tallyco.in/s/r5lx23/", + "avatar": "/img/spenden/raspiblitz.jpg", + "beschreibung": "Open-Source Lösung einer Bitcoin Full-Node mit integrierter Lightning-Node auf Basis des Raspberry-Pi's. Wird überwiegend von deutschen Entwicklern weiterentwickelt und ist komplett als freie Software erhältlich, womit auch eine kommerzielle Nutzung möglich wird. In diesem Fall unterscheidet sich das RaspiBlitz Projekt von anderen Full-Node Projekten am Markt." +} diff --git a/content/spenden/rene-pickhardt.json b/content/spenden/rene-pickhardt.json new file mode 100644 index 00000000000..ba3c8cf8092 --- /dev/null +++ b/content/spenden/rene-pickhardt.json @@ -0,0 +1,8 @@ +{ + "name": "Rene Pickhardt", + "github": "renepickhardt", + "twitter": "renepickhardt", + "spendenURL": "https://donate.ln.rene-pickhardt.de/", + "avatar": "https://avatars.githubusercontent.com/u/1926816?s=460", + "beschreibung": "Deutscher Entwickler, dem der freie Zugriff auf Bildungsinhalte sehr wichtig ist und sich primär mit der Forschung und Entwicklung rund um das Lightning-Netzwerk beschäftigt. Aktuell wichtigstes Projekt ist ein neuer Ansatz für einen Routing-Algorithmus im Lightning-Netzwerk. Dieser Ansatz wird unter dem Namen Pickhardt-Payments geführt." +} diff --git a/helpers.js b/helpers.js index 79f7c36682a..3e714a886e0 100644 --- a/helpers.js +++ b/helpers.js @@ -4,6 +4,7 @@ const { _tr: mdTransformer } = transformer(require('jstransformer-markdown-it')) const config = { typographer: true, + html: true } // monkey-patch render function to pass custom options @@ -22,8 +23,16 @@ const slugify = str => str.toLowerCase() .replace(/\s+/g, '-').replace(/[^\w\-]+/g, '') .replace(/\-\-+/g, '-').replace(/^-+/, '').replace(/-+$/, '') +const truncate = (str, wordCount) => { + const words = str.trim().split(/\s(?![^\[]*\])/g) + const head = words.splice(0, wordCount).join(' ') + const tail = words.join(' ') + return [head, tail] +} + module.exports = { markdown: mdTransformer.render, replacements, - slugify + slugify, + truncate } diff --git a/pug.config.js b/pug.config.js index 4807af718ce..6f2758fc76c 100644 --- a/pug.config.js +++ b/pug.config.js @@ -1,5 +1,5 @@ // initialize markdown rendering -const { markdown, slugify } = require('./helpers') +const helpers = require('./helpers') const IS_DEV = process.env.NODE_ENV === 'development' const HOST = IS_DEV ? 'localhost:3000' : 'einundzwanzig.space' @@ -25,10 +25,9 @@ module.exports = { basedir: './src/includes', random, shuffle, - slugify, assetUrl, assetPath, formatDate, linkTarget, - markdown, + ...helpers } diff --git a/src/css/base/header.css b/src/css/base/header.css index cbff9a21969..47a0f8bff8a 100644 --- a/src/css/base/header.css +++ b/src/css/base/header.css @@ -64,13 +64,15 @@ align-items: center; justify-content: space-between; line-height: 1; - font-size: 4.5vw; + font-size: 3.5vw; @media (--up_to_M) { margin-bottom: var(--space-s); + font-size: 3.85vw; } @media (--M_to_L) { margin-top: var(--space-m); + font-size: 3.5vw; } @media (--L_and_up) { margin-top: var(--space-l); @@ -100,7 +102,7 @@ position: relative; top: 1px; - @media (--up_to_S) { + @media (--up_to_M) { visibility: hidden; } diff --git a/src/css/main.css b/src/css/main.css index afc8fa4caa3..0f2adc6ef6d 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -11,4 +11,5 @@ @import 'sections/podcast.css'; @import 'sections/team.css'; @import 'sections/media.css'; +@import 'sections/spenden.css'; @import 'sections/soundboard.css'; diff --git a/src/css/sections/spenden.css b/src/css/sections/spenden.css new file mode 100644 index 00000000000..1039605244b --- /dev/null +++ b/src/css/sections/spenden.css @@ -0,0 +1,122 @@ +#spenden { + & h2 { + margin-bottom: var(--space-xl); + } +} + +.spenden { + list-style: none; + display: grid; + grid-gap: var(--space-xl); + margin: 0; + + @media (--up_to_L) { + grid-template-columns: 1fr; + } + @media (--L_and_up) { + grid-template-columns: 1fr 1fr; + } + + & li { + margin: 0; + } +} + +.spende { + height: 100%; + padding-top: var(--space-xl); + + & .inner { + height: 100%; + position: relative; + display: flex; + flex-direction: column; + background: var(--color-card-bg); + border-radius: var(--space-l); + padding: var(--space-xl); + } + + & .avatar { + display: block; + height: 120px; + width: 120px; + border-radius: 50%; + border: 10px solid var(--color-card-bg); + margin: calc(var(--space-xxl) * -1) auto 0; + background-size: 100%; + background-repeat: no-repeat; + } + + & .name { + padding: var(--space-s) 0 var(--space-m) 0; + text-align: center; + } + + & .center { + flex: 1; + } + + & .foot { + margin-top: var(--space-l); + text-align: center; + display: flex; + flex-direction: column; + align-items: center; + } + + & .social { + & a { + position: absolute; + top: var(--space-l); + width: 32px; + height: 32px; + display: inline-block; + background-size: 100%; + background-repeat: no-repeat; + outline: 0; + color: var(--color-neutral-50); + & svg { + display: inline-block; + width: 100%; + height: 100%; + } + } + + & a.twitter { + left: var(--space-l); + } + + & a.mastodon { + left: var(--space-xxl); + } + + & a.github { + right: var(--space-l); + } + + & a.gitlab { + right: var(--space-xxl); + } + } + + & .description { + & p { + text-align: left; + margin: 0; + } + + & .more { + display: none; + } + + &.expanded { + & .showMore { + display: none; + } + + & .more { + display: unset; + } + } + } +} diff --git a/src/includes/mixins.pug b/src/includes/mixins.pug index 9d4fe843cfc..4701b5562d8 100644 --- a/src/includes/mixins.pug +++ b/src/includes/mixins.pug @@ -23,6 +23,35 @@ mixin member(m) if m.text !=markdown(m.text) +mixin spende(d, trunc = false) + .spende(id=d.id)&attributes(attributes) + .inner + img.avatar(src=(d.avatar || assetPath("/img/avatar.svg")) alt=d.name) + h3.name= d.name + .center + if d.beschreibung + .description + - const [head, tail] = trunc ? truncate(d.beschreibung, 21) : [d.beschreibung] + - const description = tail ? `${head} [… mehr] ${tail}` : head + != markdown(description) + if d.tags + .tags + each tag in d.tags + span.tag= tag + if d.twitter || d.github || d.gitlab + .social + if d.twitter + a.twitter(href=`https://twitter.com/${d.twitter}` target="_blank" rel="nofollow noopener"): +sprite('twitter', 'Twitter') + if d.mastodon + a.mastodon(href=d.mastodon target="_blank" rel="nofollow noopener"): +sprite('mastodon', 'Mastodon') + if d.gitlab + a.gitlab(href=`https://gitlab.com/${d.gitlab}` target="_blank" rel="nofollow noopener"): +sprite('gitlab', 'GitLab') + if d.github + a.github(href=`https://github.com/${d.github}` target="_blank" rel="nofollow noopener"): +sprite('github', 'GitHub') + .foot + a.button(href=d.spendenURL target="_blank" rel="nofollow noopener") + = `Spende an ${d.name.split(' ')[0]}` + mixin episodeItem(e) article.episodeItem&attributes(attributes) a.plain(href=`/podcast/${e.slug}/`) diff --git a/src/includes/template.pug b/src/includes/template.pug index 745e60773f7..2ddf109ef00 100644 --- a/src/includes/template.pug +++ b/src/includes/template.pug @@ -55,10 +55,11 @@ html(lang="en") .nav nav a.navItem(href="/podcast/" class=(navCurrent === 'podcast' && 'current')) Podcast + a.navItem#navItemMeetups(href="/meetups/" class=(navCurrent === 'meetups' && 'current')) Meetups + a.navItem#navItemMeetups(href="/spenden/" class=(navCurrent === 'spenden' && 'current')) Spenden + a.navItem#navItemMedia(href="/media/" class=(navCurrent === 'media' && 'current')) Media a.navItem(href="/soundboard/" class=(navCurrent === 'soundboard' && 'current')) Sounds a.navItem(href="/team/" class=(navCurrent === 'team' && 'current')) Team - a.navItem#navItemMeetups(href="/meetups/" class=(navCurrent === 'meetups' && 'current')) Meetups - a.navItem#navItemMedia(href="/media/" class=(navCurrent === 'media' && 'current')) Media //- a.navItem(href=site.meta.shopUrl target="_blank") Shop button(type="button").theme +sprite("theme") diff --git a/src/meetups.pug b/src/meetups.pug index 648eeea405b..c03722c6d4f 100644 --- a/src/meetups.pug +++ b/src/meetups.pug @@ -8,7 +8,6 @@ block main #meetups.wrap section h1= title - p= description :markdown-it(html linkify typographer) diff --git a/src/spenden.pug b/src/spenden.pug new file mode 100644 index 00000000000..8983e9c32dc --- /dev/null +++ b/src/spenden.pug @@ -0,0 +1,19 @@ +extends /template.pug + +block vars + - const title = 'Spendenregister' + - const description = 'Diese spendenfinanzierten Projekte, Initiativen und Entwickler halten wir für unterstützenswert.' + +block main + #spenden.wrap + section + h1= title + p= description + + :markdown-it(html linkify typographer) + Neue Vorschläge können gerne [per Pull Request](https://github.com/Einundzwanzig-Podcast/einundzwanzig.space/edit/master/content/spenden/) hinzugefügt werden. + + h2= title + ul.spenden(data-shuffle) + each s in shuffle(spenden) + +spende(s) diff --git a/static/img/avatar.svg b/static/img/avatar.svg new file mode 100644 index 00000000000..cc4e25af472 --- /dev/null +++ b/static/img/avatar.svg @@ -0,0 +1 @@ + diff --git a/static/img/spenden/bitcoinbeach.png b/static/img/spenden/bitcoinbeach.png new file mode 100644 index 0000000000000000000000000000000000000000..43fbf95a2b359943ccb06e765217dec754f8396d GIT binary patch literal 47849 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 B+fo1k literal 0 HcmV?d00001 diff --git a/static/js/main.js b/static/js/main.js index 92b8e8ef78d..c1a8308eaa6 100644 --- a/static/js/main.js +++ b/static/js/main.js @@ -84,4 +84,12 @@ document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll('[data-clipboard]').forEach(link => { link.addEventListener('click', copyToClipboard) }) + + // Show more + document.querySelectorAll('.showMore').forEach(link => { + link.addEventListener('click', e => { + e.preventDefault() + link.parentNode.parentNode.classList.add('expanded') + }) + }) }) diff --git a/tasks/generate_pages.js b/tasks/generate_pages.js index de2f6db28c2..dff45338dd0 100644 --- a/tasks/generate_pages.js +++ b/tasks/generate_pages.js @@ -5,6 +5,7 @@ const { dirname, resolve } = require('path') const config = require('../pug.config') const site = require('../generated/site-data.json') const episodes = require('../generated/episodes.json') +const spenden = require('../generated/spenden.json') const team = require('../content/team.json') const crew = require('../content/crew.json') const meetups = require('../content/meetups.json') @@ -26,6 +27,7 @@ renderPage('index', 'index', { navCurrent: 'index', currentEpisode: episodes[0] renderPage('podcast', 'podcast', { navCurrent: 'podcast', episodes: [...episodes] }) renderPage('team', 'team', { navCurrent: 'team', team, crew }) renderPage('meetups', 'meetups', { navCurrent: 'meetups', meetups }) +renderPage('spenden', 'spenden', { navCurrent: 'spenden', spenden }) renderPage('media', 'media', { navCurrent: 'media' }) renderPage('soundboard', 'soundboard', { navCurrent: 'soundboard', soundboard }) diff --git a/tasks/generate_site_data.js b/tasks/generate_site_data.js index 1f5e2e983cd..59d336b88ab 100644 --- a/tasks/generate_site_data.js +++ b/tasks/generate_site_data.js @@ -1,12 +1,12 @@ -const { writeFileSync } = require('fs') -const { join, resolve } = require('path') +const { readdirSync, writeFileSync } = require('fs') +const { basename, join, resolve } = require('path') const request = require('sync-request') const meta = require('../content/meta.json') const soundboard = require('../content/soundboard.json') -const dir = resolve(__dirname, '..', 'generated') -const dst = join(dir, 'site-data.json') +const dir = (...path) => resolve(__dirname, '..', ...path) +const writeJSON = (file, data) => writeFileSync(file, JSON.stringify(data, null, 2)) let recentBlocks = [] try { @@ -18,11 +18,11 @@ try { const block = recentBlocks.length && recentBlocks[0].height const date = (new Date()).toJSON().split('T')[0] -const data = { date, block, meta } -writeFileSync(dst, JSON.stringify(data, null, 2)) +writeJSON(dir('generated', 'site-data.json'), { date, block, meta }) -const content = soundboard.map(group => { +// Soundboard +const sounds = soundboard.map(group => { group.sounds = group.sounds.map(sound => { sound.url = `https://einundzwanzig.space${sound.file}` delete sound.file @@ -31,5 +31,16 @@ const content = soundboard.map(group => { return group }) -const soundDst = resolve(__dirname, '..', 'dist', 'sounds.json') -writeFileSync(soundDst, JSON.stringify(content, null, 2)) +writeJSON(dir('dist', 'sounds.json'), sounds) + +// Spenden +const spendenDir = dir('content', 'spenden') +const spenden = readdirSync(spendenDir).map(filename => { + const filePath = join(spendenDir, filename) + const spende = require(filePath) + spende.id = basename(filename, '.json') + return spende +}) + +writeJSON(dir('generated', 'spenden.json'), spenden) +writeJSON(dir('dist', 'spenden.json'), spenden)