speakers basics

This commit is contained in:
tree🌴 2024-02-02 06:26:38 +01:00
parent cc7df3165a
commit b3f818b1d2
3 changed files with 266 additions and 2 deletions

View file

@ -3,6 +3,7 @@ const { item } = Astro.props;
import { format, compareAsc, addDays, isFuture } from 'date-fns'; import { format, compareAsc, addDays, isFuture } from 'date-fns';
import { marked } from 'marked'; import { marked } from 'marked';
import EventsExt from '../events-ext.json'; import EventsExt from '../events-ext.json';
import core from "../core.json";
function findExt () { function findExt () {
let slug = null let slug = null
@ -18,6 +19,10 @@ function findExt () {
return EventsExt.find(ex => ex.url === slug) return EventsExt.find(ex => ex.url === slug)
} }
function getSpeaker (id) {
return core.people.find(p => p.id === id)
}
const ext = findExt() const ext = findExt()
const isDate = item.date.match(/^\d{4}-\d{2}-\d{2}$/) const isDate = item.date.match(/^\d{4}-\d{2}-\d{2}$/)
@ -119,12 +124,22 @@ const status = item.confirmed
</div> </div>
<div class="py-1 grow text-right items-center flex gap-4"> <div class="py-1 grow text-right items-center flex gap-4">
<div class="grow"></div> <div class="grow"></div>
{ext && {/*ext &&
<div class="flex -space-x-3"> <div class="flex -space-x-3">
{ext.guests.map((guest) => ( {ext.guests.map((guest) => (
<div><img src={guest.avatarUrl} class="w-8 h-8 aspect-square object-fit rounded-full border-gray-800 border-2" /></div> <div><img src={guest.avatarUrl} class="w-8 h-8 aspect-square object-fit rounded-full border-gray-800 border-2" /></div>
))} ))}
</div> </div>
*/}
{item.speakers &&
<div class="flex -space-x-3">
{item.speakers.map(spId => getSpeaker(spId)).slice(0,7).map((speaker) => (
<div><img src={speaker.imageUrl} class="w-8 h-8 aspect-square object-fit rounded-full border-gray-800 border-2" /></div>
))}
{item.speakers.length > 7 &&
<div class="flex items-center justify-center w-8 h-8 rounded-full aspect-square border-2 border-gray-800 bg-gray-800 text-xs">+{item.speakers.length - 7}</div>
}
</div>
} }
{/*<div class="text-sm"></div>*/} {/*<div class="text-sm"></div>*/}
{item.links?.rsvp && {item.links?.rsvp &&

View file

@ -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": [ "events": [
{ {
"id": "w3ps1", "id": "w3ps1",
@ -124,7 +336,28 @@
"links": { "links": {
"web": "https://prague.web3privacy.info/", "web": "https://prague.web3privacy.info/",
"git": "https://github.com/web3privacy/w3ps1" "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", "id": "w3ps2",

16
src/pages/people.astro Normal file
View file

@ -0,0 +1,16 @@
---
import BaseLayout from '../layouts/base.astro';
import core from '../core.json';
---
<BaseLayout title="People">
<div class="middle-pane-medium mt-10">
{core.people.map((person) => (
<div>{person.name}</div>
))}
</div>
</BaseLayout>