35 řádky
1.2 KiB
JavaScript
35 řádky
1.2 KiB
JavaScript
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
|
|
const speakers = load(await Deno.readTextFile('./spec/speakers.yaml'))
|
|
|
|
// 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
|
|
])
|
|
}
|
|
const speakersTable = markdownTable(speakersTableArr)
|
|
console.log(speakersTable)
|
|
|
|
// 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})`)
|
|
}
|
|
const item = `### ${speaker.name}\n\n* ${speaker.bio.trim()}${orgs}* ${socials.join(', ')}`;
|
|
speakersLeadsArr.push(item)
|
|
}
|
|
|
|
const speakersLeads = speakersLeadsArr.join('\n\n')
|
|
console.log(speakersLeads)
|