mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig.space.git
synced 2025-12-13 16:26:50 +00:00
Update Meetup Map (#155)
Benutzt die Meetup-Daten aus dem Portal und enhält nun auch mobil eine Ansicht der Karte.
This commit is contained in:
@@ -51,7 +51,6 @@ renderPage('kontakt', 'kontakt', { navCurrent: 'kontakt' })
|
||||
renderPage('datenschutz', 'datenschutz', { navCurrent: 'datenschutz' })
|
||||
renderPage('adventskalender', 'adventskalender', { adventskalender })
|
||||
renderPage('gesundes-geld', 'gesundes-geld', { meetups: meetupsSorted })
|
||||
|
||||
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') })
|
||||
renderPage('category', 'podcast/lesestunde', { navCurrent: 'podcast', category: 'lesestunde', categoryName: 'Lesestunde', episodes: episodes.filter(e => e.category === 'lesestunde') })
|
||||
|
||||
@@ -3,11 +3,14 @@ const { basename, join, resolve } = require('path')
|
||||
const request = require('sync-request')
|
||||
|
||||
const meta = require('../content/meta.json')
|
||||
const meetups = require('../content/meetups.json')
|
||||
const telegram = require('../content/telegram.json')
|
||||
const soundboard = require('../content/soundboard.json')
|
||||
|
||||
const { TELEGRAM_BOT_TOKEN } = process.env
|
||||
const loadJson = url => {
|
||||
const jsonBody = request('GET', url).getBody('utf8')
|
||||
return JSON.parse(jsonBody)
|
||||
}
|
||||
|
||||
const dir = (...path) => resolve(__dirname, '..', ...path)
|
||||
const writeJSON = (file, data) => writeFileSync(file, JSON.stringify(data, null, 2))
|
||||
@@ -18,11 +21,7 @@ const getTelegramMembersCount = group => {
|
||||
[, , telegramId] = url.match(/:\/\/t\.me\/(?!(\+|joinchat))(.*)/) || []
|
||||
if (telegramId) {
|
||||
try {
|
||||
const jsonBody = request(
|
||||
'GET',
|
||||
`https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getChatMemberCount?chat_id=@${telegramId}`
|
||||
).getBody('utf8')
|
||||
const { ok, result } = JSON.parse(jsonBody)
|
||||
const { ok, result } = loadJson(`https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getChatMemberCount?chat_id=@${telegramId}`)
|
||||
if (ok) {
|
||||
return result
|
||||
}
|
||||
@@ -39,8 +38,7 @@ const getTelegramMembersCount = group => {
|
||||
|
||||
let recentBlocks = []
|
||||
try {
|
||||
const jsonBody = request('GET', 'https://mempool.observer/api/recentBlocks').getBody('utf8')
|
||||
recentBlocks = JSON.parse(jsonBody)
|
||||
recentBlocks = loadJson('https://mempool.observer/api/recentBlocks')
|
||||
} catch (err) {
|
||||
console.error('Could not load recent blocks:', err)
|
||||
}
|
||||
@@ -56,17 +54,21 @@ const telegramData = telegram.map(t =>
|
||||
)
|
||||
|
||||
// Meetups
|
||||
const meetupsData = meetups.map(m => Object.assign(m, {
|
||||
members: getTelegramMembersCount(m)
|
||||
}))
|
||||
let meetups = []
|
||||
try {
|
||||
meetups = loadJson('https://portal.einundzwanzig.space/api/meetups')
|
||||
} catch (err) {
|
||||
console.error('Could not load meetups:', err)
|
||||
meetups = require('../content/soundboard.json')
|
||||
}
|
||||
|
||||
writeJSON(dir('dist', 'meetups.json'), meetupsData)
|
||||
writeJSON(dir('dist', 'meetups.json'), meetups)
|
||||
|
||||
writeJSON(dir('generated', 'site-data.json'), {
|
||||
date,
|
||||
block,
|
||||
meta,
|
||||
meetups: meetupsData,
|
||||
meetups,
|
||||
telegram: telegramData
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user