2023-01-23 04:37:12 +01:00
|
|
|
export async function data(tools) {
|
2023-01-26 02:17:38 +01:00
|
|
|
const $ = await tools.loadHtmlUrl("https://www.btcprague.com/speakers");
|
|
|
|
//const $ = await tools.loadHtmlLocal(new URL('.', import.meta.url).pathname + "./btcprague.html");
|
2023-01-23 04:37:12 +01:00
|
|
|
const out = { speakers: [] };
|
2023-01-26 02:17:38 +01:00
|
|
|
|
|
|
|
const peopleMapper = {
|
2023-04-07 00:09:13 +02:00
|
|
|
"Dušan Matuška": { country: "sk" },
|
|
|
|
};
|
2023-01-26 02:17:38 +01:00
|
|
|
|
2023-01-23 04:37:12 +01:00
|
|
|
for (const el of $(".speaker").toArray()) {
|
|
|
|
const value = (path) => cleanup($(path, el).text());
|
2023-04-07 00:09:13 +02:00
|
|
|
const name = value("h3");
|
|
|
|
const link = $("a", el).attr("href");
|
2023-01-26 02:17:38 +01:00
|
|
|
|
2023-04-07 00:09:13 +02:00
|
|
|
const $$ = await tools.loadHtmlUrl(link);
|
|
|
|
const sp = $$(".container.pt-5");
|
2023-01-26 02:17:38 +01:00
|
|
|
|
|
|
|
const item = {
|
|
|
|
id: link.match(/speakers\/(.+)\/$/)[1],
|
|
|
|
name,
|
2023-01-23 04:37:12 +01:00
|
|
|
photoUrl: $("img", el).attr("src"),
|
2023-01-26 02:19:01 +01:00
|
|
|
caption: value(".popis"),
|
2023-04-07 00:09:13 +02:00
|
|
|
twitter: $$("a.twitter", sp).attr("href")?.replace(
|
|
|
|
"https://twitter.com/",
|
|
|
|
"",
|
|
|
|
),
|
|
|
|
linkedin: $$("a.linkedIn", sp).attr("href")?.replace(
|
|
|
|
"https://www.linkedin.com/in/",
|
|
|
|
"",
|
|
|
|
).replace(/\/$/, ""),
|
2023-01-26 02:17:38 +01:00
|
|
|
tag: value(".taxTag "),
|
2023-03-28 05:03:44 +02:00
|
|
|
//country: 'xx',
|
2023-04-07 00:09:13 +02:00
|
|
|
desc: $$("p", sp).text(),
|
2023-01-26 02:17:38 +01:00
|
|
|
web: { url: $$(".www", sp).attr("href") },
|
2023-04-07 00:09:13 +02:00
|
|
|
link,
|
|
|
|
};
|
2023-01-26 02:17:38 +01:00
|
|
|
|
|
|
|
if (peopleMapper[name]) {
|
2023-04-07 00:09:13 +02:00
|
|
|
Object.assign(item, peopleMapper[name]);
|
2023-01-26 02:17:38 +01:00
|
|
|
}
|
|
|
|
out.speakers.push(item);
|
2023-01-23 04:37:12 +01:00
|
|
|
}
|
|
|
|
return out;
|
|
|
|
}
|
2023-01-23 04:51:17 +01:00
|
|
|
|
|
|
|
function cleanup(str) {
|
|
|
|
return str.replace(/(\s{2,}|\n)/g, " ").trim();
|
2023-01-26 02:17:38 +01:00
|
|
|
}
|