diff --git a/src/components/Navbar.astro b/src/components/Navbar.astro index 06382ba..c7ebc63 100644 --- a/src/components/Navbar.astro +++ b/src/components/Navbar.astro @@ -59,6 +59,7 @@ const navlinkClass = `navlink ${theme}`;
Blog + Hall of fame Code of Conduct Privacy Statement Terms and Conditions diff --git a/src/data/hall-of-fame.ts b/src/data/hall-of-fame.ts new file mode 100644 index 0000000..82a7c11 --- /dev/null +++ b/src/data/hall-of-fame.ts @@ -0,0 +1,264 @@ +type Talk = { + title: string; + speaker: string; + cover: string; + link: string; +}; + +export const talks: Talk[] = [ + { + title: "The journey of a package from the npm registry to your computer", + speaker: "Jeffrey Lembeck ", + link: "https://youtu.be/GSnyVS79OR0?si=XjPeChNOgZJhOkG_", + cover: "hall-of-fame/jeff-lembeck.jpg", + }, + { + title: "The Future of Web Animation", + speaker: "Sarah Drasner", + link: "https://youtu.be/hjgni3dXcVE?si=KwshMDFuz6D-4q-F", + cover: "hall-of-fame/sarah-drasner.jpg", + }, + { + title: "Container Queries: The next step towards a truly modular CSS", + speaker: "Maarten Van Hoof", + link: "https://youtu.be/1mSsrSn0arw?si=pCE5Fvnuh4w5qEee", + cover: "hall-of-fame/maarten-van-hoof.jpg", + }, + { + title: "A Unified Styling Language", + speaker: "Mark Dalgleish", + link: "https://youtu.be/z-4cujO519Q?si=xxnIKEPs-f8hZfcZ", + cover: "hall-of-fame/mark-dalgleish.jpg", + }, + { + title: "Web typography: a non-English perspective", + speaker: "Hui Jing Chen", + link: "https://youtu.be/yLQHDGRLOwQ?si=TIuVondcvJTaD8-z", + cover: "hall-of-fame/hui-jing-chen.jpg", + }, + + { + title: "What the v...DOM?", + speaker: "Stefan Judis", + link: "https://youtu.be/0cbCxfJMfx0?si=fHbwWQyCW5KXpJiS", + cover: "hall-of-fame/stefan-judis.jpg", + }, + { + title: "Serverless can do that?!", + speaker: "Simona Cotin", + link: "https://youtu.be/fNKT6GMUxBY?si=yudBjUyesT_1tEc2", + cover: "hall-of-fame/simona-cotin.jpg", + }, + { + title: "CodeSandbox", + speaker: "Ives van Hoorne", + link: "https://youtu.be/DQtj811KIT4?si=n14dZgT9OYwck7Gb", + cover: "hall-of-fame/ives-van-hoorne.jpg", + }, + { + title: "Fontastic web performance", + speaker: "Monica Dinculescu", + link: "https://youtu.be/WsFirqL4lBI?si=JcE8603sRjD9-6Xk", + cover: "hall-of-fame/monica-dinculescu.jpg", + }, + { + title: "V8 internals for JS developers", + speaker: "Mathias Bynens", + link: "https://youtu.be/5UZzT_hgsl0?si=C8ooy2EfIXgnUieP", + cover: "hall-of-fame/mathias-bynens.jpg", + }, + { + title: "Recursion, Iteration, and JavaScript: A Love Story", + speaker: "Anjana Vakil", + link: "https://youtu.be/FmiQr4nfoPQ?si=QRnmfGpwLUfzk48D", + cover: "hall-of-fame/anjana-vakil.jpg", + }, + { + title: "Char Wars: The Path Traversal Strikes Back ", + speaker: "Liran Tal", + link: "https://youtu.be/P1goT5BSFWM?si=UQ6ZLZ96phYUcYeV", + cover: "hall-of-fame/liran-tal.jpg", + }, + { + title: + "Blowing Bubbles on Mental Health - Hacking a Kid's Toy in JavaScript", + speaker: "Daisy Smith", + link: "https://youtu.be/1vkziw8UpQQ?si=w-SDECdhEclH2uKS", + cover: "hall-of-fame/daisy-smith.jpg", + }, + { + title: "Building AI-powered user interfaces", + speaker: "Jani Eväkallio", + link: "https://youtu.be/GQjubOMOWzo?si=4K3MQ_rFgRGTL2Ka", + cover: "hall-of-fame/jani-evakallio.jpg", + }, + { + title: "It’s My (Third) Party, and I’ll Cry if I Want To", + speaker: "Harry Roberts", + link: "https://youtu.be/cOXl_q8JgjI?si=Q6uD5CBxDB5-Mx81", + cover: "hall-of-fame/harry-roberts.jpg", + }, + { + title: "A red LEGO brick is always red: components on the web", + speaker: "Jack Franklin", + link: "https://youtu.be/SF64OwN58Fw?si=bJkah-kaFKm-B3L-", + cover: "hall-of-fame/jack-franklin.jpg", + }, + { + title: "WebAssembly's Post-MVP Future", + speaker: "Lin Clark", + link: "https://youtu.be/ZZ3uj-2H6-w?si=eaSbZWhcwjWV9jTa", + cover: "hall-of-fame/lin-clark.jpg", + }, + { + title: "You Belong Here: How to Make Open Source More Open", + speaker: "Jason Lengstorf", + link: "https://youtu.be/8ARA7AD4yPs?si=gEDwSvQwlJ181-LK", + cover: "hall-of-fame/jason-lengstorf.jpg", + }, + { + title: "The exciting future of React", + speaker: "Kristijan Ristovski", + link: "https://youtu.be/QjGuhXwpbUc?si=n_5ORZr_VgMTKxOz", + cover: "hall-of-fame/kristijan-ristovski.jpg", + }, + { + title: "Large scale refactoring: from start to finish", + speaker: "Natalia Tepluhina", + link: "https://youtu.be/tkPHtSUJwMI?si=eE7Sf3IKf8aaNo_N", + cover: "hall-of-fame/natalia-tepluhina.jpg", + }, + + { + title: "The Dream of Styleguide Driven Development", + speaker: "Sara Vieira", + link: "https://youtu.be/_XJFeSZV6FI?si=wW6lTL-bMICWVcJC", + cover: "hall-of-fame/sara-vieira.jpg", + }, + { + title: "Serving for the win: Deployments and hosting for the rest of us", + speaker: "Phil Hawksworth", + link: "https://youtu.be/ttL4K-WLJ-c?si=RBPfDJ9ApHvmgTuq", + cover: "hall-of-fame/phil-hawksworth.jpg", + }, + { + title: "Built-in Tests with Node.js", + speaker: "Tierney Cyren", + link: "https://youtu.be/exoubCoKA_w?si=rcFxP-kfxMP3F6Mp", + cover: "hall-of-fame/tierney-cyren.jpg", + }, + { + title: "Towards a simpler JavaScript ecosystem", + speaker: "Gil Tayar", + link: "https://youtu.be/WE0dWHHAAfg?si=7TDJ8vvGAKvy5ofy", + cover: "hall-of-fame/gil-tayar.jpg", + }, + { + title: "The two ways to manage state", + speaker: "David Khourshid", + link: "https://youtu.be/yVhmYiRNPvw?si=nCYQmcZAY-vLViKi", + cover: "hall-of-fame/david-khourshid.jpg", + }, + { + title: "Moving on from runtime CSS-in-JS at scale", + speaker: "Sid Kshetrapal", + link: "https://youtu.be/OrIuKl_x0vE?si=F9llL-t5XwMrLoEu", + cover: "hall-of-fame/sid-kshetrapal.jpg", + }, + { + title: "The evolution of scalable CSS", + speaker: "Andrei Pfeiffer", + link: "https://youtu.be/eekrjAdviO4?si=gJtM-hhleL8jjucW", + cover: "hall-of-fame/andrei-pfeiffer.jpg", + }, + { + title: "Fighting the Front-end Fatigue", + speaker: "Benedek Gagyi", + link: "https://youtu.be/UTQkkZ1SO1Y?si=_ZAm70gqeTVJFxoG", + cover: "hall-of-fame/benedek-gagyi.jpg", + }, + { + title: "Taming UI complexity with Typed State Machines", + speaker: "Bogdan Zaharia", + link: "https://youtu.be/gcuZJ2LHTFI?si=YkVsENG8OPAoRGcU", + cover: "hall-of-fame/bogdan-zaharia.jpg", + }, + { + title: "Humanizing Your Documentation", + speaker: "Carolyn Stransky", + link: "https://youtu.be/yE7eOoXTZtM?si=sjmmaACkC3HJn4Bq", + cover: "hall-of-fame/carolyn-stransky.jpg", + }, + { + title: "Reaching for the sky with JavaScript", + speaker: "Charlie Gerard", + link: "https://youtu.be/YyrdJvIAe20?si=94QlpMxV3oSDwhoF", + cover: "hall-of-fame/charlie-gerard.jpg", + }, + { + title: "Playing your tests wright ", + speaker: "Debbie O'Brien", + link: "https://youtu.be/yMSIsavrOR4?si=LtfNTuW7Dt9E5Sl_", + cover: "hall-of-fame/debbie-obrien.jpg", + }, + { + title: "ADHD in the Digital World", + speaker: "Emmy Cao", + link: "https://youtu.be/kB1EUVsciE8?si=gg4RUudotbFtqtpX", + cover: "hall-of-fame/emmy-cao.jpg", + }, + { + title: "Static and Dynamic Next.js", + speaker: "Guillermo Rauch", + link: "https://youtu.be/lLNJsuXB4CI?si=n06D-Z959ygd-Iaf", + cover: "hall-of-fame/guillermo-rauch.jpg", + }, + { + title: "Visualised guide to memory management in JavaScript", + speaker: "Kateryna Porshnieva", + link: "https://youtu.be/OG_AZnPokGw?si=unFLE-YV3O1Ic18y", + cover: "hall-of-fame/kateryna-porshnieva.jpg", + }, + { + title: "Building Offline and Real-Time Applications - The Magic of CRDTs", + speaker: "Matan Kushner", + link: "https://youtu.be/BVUBFlMFIYM?si=hrHr-yc1DoNh0z1M", + cover: "hall-of-fame/matan-kushner.jpg", + }, + { + title: "JavaScript Modules: Past, Present, and Future ", + speaker: "Nicolò Ribaudo", + link: "https://youtu.be/gvuOUVA7NYk?si=cEJt8LZPriyAX2IW", + cover: "hall-of-fame/nicolo-ribaudo.jpg", + }, + { + title: "Advanced Redux: Design Patterns and Practices", + speaker: "Nir Kaufman", + link: "https://youtu.be/5gl3cCB_26M?si=JRtjBtrnJx6DVJ5j", + cover: "hall-of-fame/nir-kaufman.jpg", + }, + { + title: "As Simple as an AST", + speaker: "Pavithra Kodmad", + link: "https://youtu.be/LRKlqR6KY_E?si=0bDiPqm8pVeesbi3", + cover: "hall-of-fame/pavithra-kodmad.jpg", + }, + { + title: "You are an AI engineer", + speaker: "Tejas Kumar", + link: "https://youtu.be/AlsNzAoCLSA?si=0zDCIkNsR-3QXINs", + cover: "hall-of-fame/tejas-kumar.jpg", + }, + { + title: "How to get started and build something with GraphQL", + speaker: "Xavier Cazalot", + link: "https://youtu.be/McPeX5gsSX8?si=F8rwI3lkvy0IoAWJ", + cover: "hall-of-fame/xavier-cazalot.jpg", + }, + { + title: "The Good, The Bad, and The Web Components", + speaker: "Zach Leatherman", + link: "https://youtu.be/R4Ri4ft7bXY?si=zMAnRSKiiJytROnH", + cover: "hall-of-fame/zach-leatherman.jpg", + }, +]; diff --git a/src/images/hall-of-fame/andrei-pfeiffer.jpg b/src/images/hall-of-fame/andrei-pfeiffer.jpg new file mode 100644 index 0000000..000e8e8 Binary files /dev/null and b/src/images/hall-of-fame/andrei-pfeiffer.jpg differ diff --git a/src/images/hall-of-fame/anjana-vakil.jpg b/src/images/hall-of-fame/anjana-vakil.jpg new file mode 100644 index 0000000..8b7516c Binary files /dev/null and b/src/images/hall-of-fame/anjana-vakil.jpg differ diff --git a/src/images/hall-of-fame/benedek-gagyi.jpg b/src/images/hall-of-fame/benedek-gagyi.jpg new file mode 100644 index 0000000..59ed0fd Binary files /dev/null and b/src/images/hall-of-fame/benedek-gagyi.jpg differ diff --git a/src/images/hall-of-fame/bogdan-zaharia.jpg b/src/images/hall-of-fame/bogdan-zaharia.jpg new file mode 100644 index 0000000..e43ffba Binary files /dev/null and b/src/images/hall-of-fame/bogdan-zaharia.jpg differ diff --git a/src/images/hall-of-fame/carolyn-stransky.jpg b/src/images/hall-of-fame/carolyn-stransky.jpg new file mode 100644 index 0000000..a94d3a1 Binary files /dev/null and b/src/images/hall-of-fame/carolyn-stransky.jpg differ diff --git a/src/images/hall-of-fame/charlie-gerard.jpg b/src/images/hall-of-fame/charlie-gerard.jpg new file mode 100644 index 0000000..11d4980 Binary files /dev/null and b/src/images/hall-of-fame/charlie-gerard.jpg differ diff --git a/src/images/hall-of-fame/daisy-smith.jpg b/src/images/hall-of-fame/daisy-smith.jpg new file mode 100644 index 0000000..26a95c7 Binary files /dev/null and b/src/images/hall-of-fame/daisy-smith.jpg differ diff --git a/src/images/hall-of-fame/david-khourshid.jpg b/src/images/hall-of-fame/david-khourshid.jpg new file mode 100644 index 0000000..21bdb09 Binary files /dev/null and b/src/images/hall-of-fame/david-khourshid.jpg differ diff --git a/src/images/hall-of-fame/debbie-obrien.jpg b/src/images/hall-of-fame/debbie-obrien.jpg new file mode 100644 index 0000000..bfc335a Binary files /dev/null and b/src/images/hall-of-fame/debbie-obrien.jpg differ diff --git a/src/images/hall-of-fame/emmy-cao.jpg b/src/images/hall-of-fame/emmy-cao.jpg new file mode 100644 index 0000000..1a5e5dd Binary files /dev/null and b/src/images/hall-of-fame/emmy-cao.jpg differ diff --git a/src/images/hall-of-fame/gil-tayar.jpg b/src/images/hall-of-fame/gil-tayar.jpg new file mode 100644 index 0000000..754fe04 Binary files /dev/null and b/src/images/hall-of-fame/gil-tayar.jpg differ diff --git a/src/images/hall-of-fame/guillermo-rauch.jpg b/src/images/hall-of-fame/guillermo-rauch.jpg new file mode 100644 index 0000000..955e49d Binary files /dev/null and b/src/images/hall-of-fame/guillermo-rauch.jpg differ diff --git a/src/images/hall-of-fame/harry-roberts.jpg b/src/images/hall-of-fame/harry-roberts.jpg new file mode 100644 index 0000000..bf34e60 Binary files /dev/null and b/src/images/hall-of-fame/harry-roberts.jpg differ diff --git a/src/images/hall-of-fame/hui-jing-chen.jpg b/src/images/hall-of-fame/hui-jing-chen.jpg new file mode 100644 index 0000000..0507cdb Binary files /dev/null and b/src/images/hall-of-fame/hui-jing-chen.jpg differ diff --git a/src/images/hall-of-fame/ives-van-hoorne.jpg b/src/images/hall-of-fame/ives-van-hoorne.jpg new file mode 100644 index 0000000..2fa4d9e Binary files /dev/null and b/src/images/hall-of-fame/ives-van-hoorne.jpg differ diff --git a/src/images/hall-of-fame/jack-franklin.jpg b/src/images/hall-of-fame/jack-franklin.jpg new file mode 100644 index 0000000..50209dd Binary files /dev/null and b/src/images/hall-of-fame/jack-franklin.jpg differ diff --git a/src/images/hall-of-fame/jani-evakallio.jpg b/src/images/hall-of-fame/jani-evakallio.jpg new file mode 100644 index 0000000..cc106f2 Binary files /dev/null and b/src/images/hall-of-fame/jani-evakallio.jpg differ diff --git a/src/images/hall-of-fame/jason-lengstorf.jpg b/src/images/hall-of-fame/jason-lengstorf.jpg new file mode 100644 index 0000000..71157d6 Binary files /dev/null and b/src/images/hall-of-fame/jason-lengstorf.jpg differ diff --git a/src/images/hall-of-fame/jeff-lembeck.jpg b/src/images/hall-of-fame/jeff-lembeck.jpg new file mode 100644 index 0000000..8703a1e Binary files /dev/null and b/src/images/hall-of-fame/jeff-lembeck.jpg differ diff --git a/src/images/hall-of-fame/kateryna-porshnieva.jpg b/src/images/hall-of-fame/kateryna-porshnieva.jpg new file mode 100644 index 0000000..03c2fe1 Binary files /dev/null and b/src/images/hall-of-fame/kateryna-porshnieva.jpg differ diff --git a/src/images/hall-of-fame/kristijan-ristovski.jpg b/src/images/hall-of-fame/kristijan-ristovski.jpg new file mode 100644 index 0000000..7dad169 Binary files /dev/null and b/src/images/hall-of-fame/kristijan-ristovski.jpg differ diff --git a/src/images/hall-of-fame/lin-clark.jpg b/src/images/hall-of-fame/lin-clark.jpg new file mode 100644 index 0000000..1829db6 Binary files /dev/null and b/src/images/hall-of-fame/lin-clark.jpg differ diff --git a/src/images/hall-of-fame/liran-tal.jpg b/src/images/hall-of-fame/liran-tal.jpg new file mode 100644 index 0000000..b0cacad Binary files /dev/null and b/src/images/hall-of-fame/liran-tal.jpg differ diff --git a/src/images/hall-of-fame/maarten-van-hoof.jpg b/src/images/hall-of-fame/maarten-van-hoof.jpg new file mode 100644 index 0000000..7b48e47 Binary files /dev/null and b/src/images/hall-of-fame/maarten-van-hoof.jpg differ diff --git a/src/images/hall-of-fame/mark-dalgleish.jpg b/src/images/hall-of-fame/mark-dalgleish.jpg new file mode 100644 index 0000000..016e472 Binary files /dev/null and b/src/images/hall-of-fame/mark-dalgleish.jpg differ diff --git a/src/images/hall-of-fame/matan-kushner.jpg b/src/images/hall-of-fame/matan-kushner.jpg new file mode 100644 index 0000000..060578e Binary files /dev/null and b/src/images/hall-of-fame/matan-kushner.jpg differ diff --git a/src/images/hall-of-fame/mathias-bynens.jpg b/src/images/hall-of-fame/mathias-bynens.jpg new file mode 100644 index 0000000..5d42be2 Binary files /dev/null and b/src/images/hall-of-fame/mathias-bynens.jpg differ diff --git a/src/images/hall-of-fame/monica-dinculescu.jpg b/src/images/hall-of-fame/monica-dinculescu.jpg new file mode 100644 index 0000000..2b73bb3 Binary files /dev/null and b/src/images/hall-of-fame/monica-dinculescu.jpg differ diff --git a/src/images/hall-of-fame/natalia-tepluhina.jpg b/src/images/hall-of-fame/natalia-tepluhina.jpg new file mode 100644 index 0000000..34d4a39 Binary files /dev/null and b/src/images/hall-of-fame/natalia-tepluhina.jpg differ diff --git a/src/images/hall-of-fame/nicolo-ribaudo.jpg b/src/images/hall-of-fame/nicolo-ribaudo.jpg new file mode 100644 index 0000000..c2c20dd Binary files /dev/null and b/src/images/hall-of-fame/nicolo-ribaudo.jpg differ diff --git a/src/images/hall-of-fame/nir-kaufman.jpg b/src/images/hall-of-fame/nir-kaufman.jpg new file mode 100644 index 0000000..29788a6 Binary files /dev/null and b/src/images/hall-of-fame/nir-kaufman.jpg differ diff --git a/src/images/hall-of-fame/pavithra-kodmad.jpg b/src/images/hall-of-fame/pavithra-kodmad.jpg new file mode 100644 index 0000000..08d91df Binary files /dev/null and b/src/images/hall-of-fame/pavithra-kodmad.jpg differ diff --git a/src/images/hall-of-fame/phil-hawksworth.jpg b/src/images/hall-of-fame/phil-hawksworth.jpg new file mode 100644 index 0000000..acd286d Binary files /dev/null and b/src/images/hall-of-fame/phil-hawksworth.jpg differ diff --git a/src/images/hall-of-fame/sara-vieira.jpg b/src/images/hall-of-fame/sara-vieira.jpg new file mode 100644 index 0000000..acdf6ac Binary files /dev/null and b/src/images/hall-of-fame/sara-vieira.jpg differ diff --git a/src/images/hall-of-fame/sarah-drasner.jpg b/src/images/hall-of-fame/sarah-drasner.jpg new file mode 100644 index 0000000..3da2252 Binary files /dev/null and b/src/images/hall-of-fame/sarah-drasner.jpg differ diff --git a/src/images/hall-of-fame/sid-kshetrapal.jpg b/src/images/hall-of-fame/sid-kshetrapal.jpg new file mode 100644 index 0000000..e3d487f Binary files /dev/null and b/src/images/hall-of-fame/sid-kshetrapal.jpg differ diff --git a/src/images/hall-of-fame/simona-cotin.jpg b/src/images/hall-of-fame/simona-cotin.jpg new file mode 100644 index 0000000..c6ed58b Binary files /dev/null and b/src/images/hall-of-fame/simona-cotin.jpg differ diff --git a/src/images/hall-of-fame/stefan-judis.jpg b/src/images/hall-of-fame/stefan-judis.jpg new file mode 100644 index 0000000..582bc27 Binary files /dev/null and b/src/images/hall-of-fame/stefan-judis.jpg differ diff --git a/src/images/hall-of-fame/tejas-kumar.jpg b/src/images/hall-of-fame/tejas-kumar.jpg new file mode 100644 index 0000000..0791937 Binary files /dev/null and b/src/images/hall-of-fame/tejas-kumar.jpg differ diff --git a/src/images/hall-of-fame/tierney-cyren.jpg b/src/images/hall-of-fame/tierney-cyren.jpg new file mode 100644 index 0000000..ba9fe4f Binary files /dev/null and b/src/images/hall-of-fame/tierney-cyren.jpg differ diff --git a/src/images/hall-of-fame/xavier-cazalot.jpg b/src/images/hall-of-fame/xavier-cazalot.jpg new file mode 100644 index 0000000..89997bb Binary files /dev/null and b/src/images/hall-of-fame/xavier-cazalot.jpg differ diff --git a/src/images/hall-of-fame/zach-leatherman.jpg b/src/images/hall-of-fame/zach-leatherman.jpg new file mode 100644 index 0000000..183d2d9 Binary files /dev/null and b/src/images/hall-of-fame/zach-leatherman.jpg differ diff --git a/src/pages/hall-of-fame.astro b/src/pages/hall-of-fame.astro new file mode 100644 index 0000000..61e2427 --- /dev/null +++ b/src/pages/hall-of-fame.astro @@ -0,0 +1,55 @@ +--- +import BaseLayout from "@/layouts/BaseLayout.astro"; +import Section from "@/components/Section.astro"; +import { talks } from "@/data/hall-of-fame"; +import { Image } from "astro:assets"; +import { getImage } from "../utils/getImage"; + +const orderedTalks = talks.sort((t1, t2) => (t1.speaker > t2.speaker ? 1 : -1)); +--- + + + + +
+
+
+

JSHeroes Hall of Fame

+ +

+ Here are some of the amazing humans, that took the stage at JSHeroes + across the years, and their awesome talks. +

+ +
+ { + orderedTalks.map((talk) => ( + + {talk.speaker} +
+ {talk.speaker} + {talk.title} +
+
+ )) + } +
+
+
+
+