utxo-prague/scripts/update-docs.js

44 řádky
1.8 KiB
JavaScript
Surový Normální zobrazení Historie

2022-01-01 06:09:06 +01:00
import { load } from 'https://deno.land/x/js_yaml_port/js-yaml.js'
import {markdownTable} from 'https://cdn.skypack.dev/markdown-table@3?dts'
// SPEAKERS
2022-01-01 06:45:53 +01:00
const speakers = load(await Deno.readTextFile('./src/speakers.yaml'))
2022-01-01 06:09:06 +01:00
// SPEAKERS - table
const speakersTableArr = [[ 'Jméno', 'Organizace' ]]
for (const speaker of speakers) {
speakersTableArr.push([
(speaker.twitter ? `[${speaker.name}](https://twitter.com/${speaker.twitter})` : speaker.name) + (speaker.nickname ? ` (${speaker.nickname})` : ''),
speaker.orgs
])
}
2022-01-01 07:58:16 +01:00
const speakersTable = `_(abecedně)_\n\n` + markdownTable(speakersTableArr, { alignDelimiters: false })
2022-01-01 06:45:53 +01:00
//console.log(speakersTable)
2022-01-01 06:09:06 +01:00
// SPEAKERS - leads
const speakersLeadsArr = []
for (const speaker of speakers.filter(speaker => speaker.lead)) {
const orgs = speaker.orgs ? `\n* ${speaker.orgs}` : `\n`
const socials = []
if (speaker.twitter) {
socials.push(`Twitter: [@${speaker.twitter}](https://twitter.com/${speaker.twitter})`)
}
if (speaker.web) {
socials.push(`Web: [${speaker.web.name ? speaker.web.name : speaker.name}](${speaker.web.url})`)
}
2022-01-01 07:38:09 +01:00
const img = `![](https://spec.utxo.cz/photos/speakers/${speaker.id}.png)`
2022-01-01 06:45:53 +01:00
const item = `### ${img} ${speaker.name}\n\n* ${speaker.bio.trim()}${orgs}* ${socials.join(', ')}`;
2022-01-01 06:09:06 +01:00
speakersLeadsArr.push(item)
}
2022-01-01 06:45:53 +01:00
const speakersLeads = `_(abecedně)_\n\n` + speakersLeadsArr.join('\n\n')
//console.log(speakersLeads)
// SPEAKERS - write file
const speakersDocFile = './docs/prednasejici.md'
const speakersText = await Deno.readTextFile(speakersDocFile)
2022-01-01 07:54:52 +01:00
let output = speakersText.replace(/## Seznam všech přednášejících([\s\S]+)/m, `## Seznam všech přednášejících\n\n${speakersTable}`)
output = output.replace(/## Významní hosté([\s\S]*)## /m, `## Významní hosté\n\n${speakersLeads}\n\n## `)
2022-01-01 06:45:53 +01:00
await Deno.writeTextFile(speakersDocFile, output)