diff --git a/src/components/EventItem.astro b/src/components/EventItem.astro index 2bb72d2..4ecfbcf 100644 --- a/src/components/EventItem.astro +++ b/src/components/EventItem.astro @@ -3,6 +3,7 @@ const { item } = Astro.props; import { format, compareAsc, addDays, isFuture } from 'date-fns'; import { marked } from 'marked'; import EventsExt from '../events-ext.json'; +import core from "../core.json"; function findExt () { let slug = null @@ -18,6 +19,10 @@ function findExt () { return EventsExt.find(ex => ex.url === slug) } +function getSpeaker (id) { + return core.people.find(p => p.id === id) +} + const ext = findExt() const isDate = item.date.match(/^\d{4}-\d{2}-\d{2}$/) @@ -119,12 +124,22 @@ const status = item.confirmed
- {ext && + {/*ext &&
{ext.guests.map((guest) => (
))}
+ */} + {item.speakers && +
+ {item.speakers.map(spId => getSpeaker(spId)).slice(0,7).map((speaker) => ( +
+ ))} + {item.speakers.length > 7 && +
+{item.speakers.length - 7}
+ } +
} {/*
*/} {item.links?.rsvp && diff --git a/src/core.json b/src/core.json index 1eeca6a..a1f17fa 100644 --- a/src/core.json +++ b/src/core.json @@ -107,6 +107,218 @@ } } ], + "people": [ + { + "id": "rachel-rose-oleary", + "name": "Rachel-Rose O'Leary", + "caption": "[DarkFi](https://dark.fi/) core dev, writer", + "refs": { + "twitter": "lunar_mining" + }, + "imageUrl": "https://data.web3privacy.info/img/people/rachel-rose-oleary.jpg" + }, + { + "id": "antoni-zolciak", + "name": "Antoni Zolciak", + "caption": "Co-founder of [Aleph Zero](https://alephzero.org/) & [Cardinal](https://cardinal.co/)", + "country": "pl", + "refs": { + "twitter": "AntoniZolciak" + }, + "imageUrl": "https://data.web3privacy.info/img/people/antoni-zolciak.jpg" + }, + { + "id": "merula", + "name": "Merula", + "caption": "Software engineer and cryptographer Circles Entropy", + "imageUrl": "https://data.web3privacy.info/img/people/merula.jpeg" + }, + { + "id": "steffen-kux", + "name": "Steffen Kux", + "caption": "CEO dm3", + "refs": { + "twitter": "SteffenKux" + }, + "imageUrl": "https://data.web3privacy.info/img/people/steffen-kux.jpeg" + }, + { + "id": "guy-zyskind", + "name": "Guy Zyskind", + "caption": "Founder of [Secret Network](https://scrt.network/), CEO [SCRT Labs](https://www.scrtlabs.com/)", + "country": "is", + "refs": { + "twitter": "GuyZys" + }, + "imageUrl": "https://data.web3privacy.info/img/people/guy-zyskind.jpg" + }, + { + "id": "serinko", + "name": "Serinko", + "caption": "Privacy Researcher", + "imageUrl": "https://data.web3privacy.info/img/people/serinko.jpeg" + }, + { + "id": "mykola-siusko", + "name": "Mykola Siusko", + "caption": "Web3 privacy advocate behind [Web3Privacy Now](https://web3privacy.info/), [NYM](https://nymtech.net/) ambassador", + "country": "es", + "refs": { + "twitter": "nicksvyaznoy" + }, + "imageUrl": "https://data.web3privacy.info/img/people/mykola-siusko.png" + }, + { + "id": "pg", + "name": "PG", + "caption": "Organizing [ETHRome](https://ethrome.org) w/ [urbe.eth](https://linktr.ee/urbe.eth), making sauce w/ [SpaghettETH](https://linktr.ee/spaghetteth)", + "country": "it", + "refs": { + "twitter": "PG_CDG" + }, + "imageUrl": "https://data.web3privacy.info/img/people/pg.jpg" + }, + { + "id": "nick-almond", + "name": "Nick Almond", + "caption": "Building next generation DAOs with [FactoryDAO](https://www.factorydao.xyz/)", + "country": "gb", + "refs": { + "twitter": "DrNickA" + }, + "imageUrl": "https://data.web3privacy.info/img/people/nick-almond.jpg" + }, + { + "id": "wslyvh", + "name": "Wesley", + "caption": "Events @ Ethereum 🛠️ Indie Maker", + "refs": { + "twitter": "wslyvh" + }, + "imageUrl": "https://data.web3privacy.info/img/people/wslyvh.png" + }, + { + "id": "tree", + "name": "Tree", + "caption": "Orchestrating lunarpunk events [ETHBrno](https://ethbrno.cz) & [w3ps](https://github.com/web3privacy/w3ps) w/ [gwei.cz](https://gwei.cz)", + "country": "cz", + "refs": { + "bsky": "tree.fail" + }, + "imageUrl": "https://data.web3privacy.info/img/people/tree.jpg" + }, + { + "id": "tibor-csoka", + "name": "Tibor Csóka", + "caption": "Software Engineer at [HOPR](https://hoprnet.org/)", + "imageUrl": "https://data.web3privacy.info/img/people/tibor-csoka.jpg" + }, + { + "id": "costanza-gallo", + "name": "Costanza Gallo", + "caption": "Head of partnerships at the [The Swarm Foundation](https://www.ethswarm.org/foundation)", + "country": "it", + "refs": { + "twitter": "costgallo" + }, + "imageUrl": "https://data.web3privacy.info/img/people/costanza-gallo.jpeg" + }, + { + "id": "ameen-soleimani", + "name": "Ameen Soleimani", + "caption": "Summoner of [IranUnchained](https://www.iranunchained.com/), [Privacy Pools](https://www.privacypools.com/), [MolochDAO](https://molochdao.com/)", + "country": "us", + "refs": { + "twitter": "ameensol" + }, + "imageUrl": "https://data.web3privacy.info/img/people/ameen-soleimani.jpg" + }, + { + "id": "max-hampshire", + "name": "Max Hampshire", + "caption": "Senior devrel of [Nym](https://nymtech.net/), Co-founder of [terra0](https://terra0.org/)", + "country": "at", + "refs": { + "twitter": "_wjth" + }, + "imageUrl": "https://data.web3privacy.info/img/people/max-hampshire.jpg" + }, + { + "id": "alex-kampa", + "name": "Alex Kampa", + "caption": "Director at [Aragon ZK Research](https://research.aragon.org/)", + "country": "lu", + "refs": { + "linkedin": "alex-kampa" + }, + "imageUrl": "https://data.web3privacy.info/img/people/alex-kampa.jpg" + }, + { + "id": "manu-alzuru", + "name": "Manu Alzuru", + "caption": "Humanist, solarpunk, Founder of [DoinGud](https://doingud.com/) & [ETH Barcelona](https://ethbarcelona.com/)", + "country": "es", + "refs": { + "twitter": "ManuAlzuru" + }, + "imageUrl": "https://data.web3privacy.info/img/people/manu-alzuru.jpg" + }, + { + "id": "mario-havel", + "name": "Mario Havel", + "caption": "Hacker, Co-Founder of [Bordel Hackerspace](https://bordel.paralelnipolis.cz/#/)", + "country": "cz", + "refs": { + "twitter": "TMIYChao" + }, + "imageUrl": "https://data.web3privacy.info/img/people/mario-havel.jpg" + }, + { + "id": "oliver-gale", + "name": "Oliver Gale", + "caption": "CEO of [Panther Protocol](https://www.pantherprotocol.io/)", + "refs": { + "twitter": "OriginalOlii" + }, + "imageUrl": "https://data.web3privacy.info/img/people/oliver-gale.jpeg" + }, + { + "id": "alona-shevchenko", + "name": "Alona Shevchenko", + "caption": "Unapologetic Ukrainian behind [Ukraine DAO](https://ukrainedao.love/) & [Kyiv Tech Summit](https://www.kyivtechsummit.com/)", + "country": "ua", + "refs": { + "twitter": "cryptodrftng" + }, + "imageUrl": "https://data.web3privacy.info/img/people/alona-shevchenko.jpg" + }, + { + "id": "juraj-bednar", + "name": "Juraj Bednar", + "caption": "Educator, writer, cryptoanarchist & biohacker ([blog](https://juraj.bednar.io/))", + "country": "sk", + "refs": { + "twitter": "jurbed" + }, + "imageUrl": "https://data.web3privacy.info/img/people/juraj-bednar.jpg" + }, + { + "id": "althea", + "name": "Althea", + "caption": "Head of Comms, Privacy & Scaling Exploration", + "imageUrl": "https://data.web3privacy.info/img/people/althea.jpeg" + }, + { + "id": "dcbuilder", + "name": "dcbuilder.eth", + "caption": "Research engineer at [Worldcoin](https://worldcoin.org/), ZKML & Rust enthusiast", + "country": "cz", + "refs": { + "twitter": "DCbuild3r" + }, + "imageUrl": "https://data.web3privacy.info/img/people/dcbuilder.jpg" + } + ], "events": [ { "id": "w3ps1", @@ -124,7 +336,28 @@ "links": { "web": "https://prague.web3privacy.info/", "git": "https://github.com/web3privacy/w3ps1" - } + }, + "speakers": [ + "ameen-soleimani", + "guy-zyskind", + "max-hampshire", + "antoni-zolciak", + "rachel-rose-oleary", + "alex-kampa", + "oliver-gale", + "mario-havel", + "costanza-gallo", + "manu-alzuru", + "nick-almond", + "juraj-bednar", + "dcbuilder", + "alona-shevchenko", + "tibor-csoka", + "merula", + "serinko", + "steffen-kux", + "althea" + ] }, { "id": "w3ps2", diff --git a/src/pages/people.astro b/src/pages/people.astro new file mode 100644 index 0000000..f988c58 --- /dev/null +++ b/src/pages/people.astro @@ -0,0 +1,16 @@ +--- + +import BaseLayout from '../layouts/base.astro'; +import core from '../core.json'; + +--- + + + +
+ {core.people.map((person) => ( +
{person.name}
+ ))} +
+ +
\ No newline at end of file