From 0e54b10cd1bfef1cc3e9e0ad473ed9e840312859 Mon Sep 17 00:00:00 2001 From: Laurie Date: Sun, 29 Mar 2026 23:35:29 -0700 Subject: [PATCH] Speaker section placeholder --- src/components/Speaker.astro | 174 ++++++++++++++++++++++++++++++ src/lib/content.ts | 53 ++++++++++ src/pages/index.astro | 200 ++++++++++++++++++++++------------- 3 files changed, 351 insertions(+), 76 deletions(-) create mode 100644 src/components/Speaker.astro diff --git a/src/components/Speaker.astro b/src/components/Speaker.astro new file mode 100644 index 0000000..66dfcda --- /dev/null +++ b/src/components/Speaker.astro @@ -0,0 +1,174 @@ +--- +import type { Speaker } from "../lib/content"; + +interface Props { + content: Speaker[]; +} + +const { content } = Astro.props; +--- + + +
+
+

+ All + Speakers +

+
+ { + content.map((speaker) => ( +
+
+ {speaker.speakername} +
+
+

{speaker.speakername}

+

{speaker.title}

+

{speaker.company}

+

{speaker.topic}

+
+
+ )) + } +
+
+
+ + diff --git a/src/lib/content.ts b/src/lib/content.ts index 286c1ed..da14f62 100644 --- a/src/lib/content.ts +++ b/src/lib/content.ts @@ -41,6 +41,14 @@ export interface NavigationContent { ctaHref: string; } +export interface Speaker { + speakername: string; + title: string; + company: string; + topic: string; + image: string; +} + export type City = "vancouver" | "toronto"; export const defaultCity: City = "vancouver"; @@ -243,3 +251,48 @@ export const newsletterContent = { ctaText: "Subscribe to Newsletter", ctaHref: "https://tally.so/r/mR6RBl", }; + +export const speakerContent: Speaker[] = [ + { + speakername: "Matt Biilmann", + title: "CEO and Co-Founder", + company: "Netlify", + topic: "AX and Why It Matters", + image: "/images/previous-speakers/matt-biilmann.png", + }, + { + speakername: "Eric Johnson", + title: "Principal Developer Advocate", + company: "Amazon Web Services (AWS)", + topic: "Taking GenAI from Paper to Production with Serverless", + image: "/images/previous-speakers/eric-johnson.png", + }, + { + speakername: "Ahmad Awais", + title: "CEO", + company: "Langbase", + topic: "Why the Best AI Agents Are Built Without Frameworks", + image: "/images/previous-speakers/ahmad-awais.jpg", + }, + { + name: "Luca Maraschi", + title: "Co-Founder & CEO", + company: "Platformatic", + topic: "Scaling Node.js in Kubernetes: Metrics, Memory, and Mastery", + image: "/images/previous-speakers/luca-maraschi.png", + }, + { + speakername: "Denis Astahov", + title: "Solutions Architect", + company: "OpsGuru", + topic: "How to become Cloud/DevOps Engineer from Zero", + image: "/images/previous-speakers/denis-astahov.png", + }, + { + speakername: "Aiman Parvaiz", + title: "Director of DevOps", + company: "NimbusStack", + topic: "Driving Cloud Cost Efficiency: Multi-Cloud Strategies", + image: "/images/previous-speakers/aiman-parvaiz.png", + }, +]; diff --git a/src/pages/index.astro b/src/pages/index.astro index 9ea4cf3..e2fcff7 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,92 +1,140 @@ --- -import Navigation from '../components/Navigation.astro'; -import Hero from '../components/Hero.astro'; -import CityModal from '../components/CityModal.astro'; -import AboutCPCA from '../components/AboutCPCA.astro'; -import WhatIsCloudSummit from '../components/WhatIsCloudSummit.astro'; -import EventLocations from '../components/EventLocations.astro'; -import CloudSummitActivities from '../components/CloudSummitActivities.astro'; -import SummitSummary from '../components/SummitSummary.astro'; -import HighlightReel from '../components/HighlightReel.astro'; -import Ticker from '../components/Ticker.astro'; -import PastSponsors from '../components/PastSponsors.astro'; -import Newsletter from '../components/Newsletter.astro'; -import Footer from '../components/Footer.astro'; -import SeeYouThere from '../components/SeeYouThere.astro'; -import ScrollAnimations from '../components/ScrollAnimations.astro'; -import { heroContent, navigationContent, aboutCPCAContent, whatIsCloudSummitContent, cloudSummitActivitiesContent, eventHighlightsContent, tickerContent, pastSponsorsContent, newsletterContent, footerContent, defaultCity } from '../lib/content'; +import Navigation from "../components/Navigation.astro"; +import Hero from "../components/Hero.astro"; +import CityModal from "../components/CityModal.astro"; +import AboutCPCA from "../components/AboutCPCA.astro"; +import WhatIsCloudSummit from "../components/WhatIsCloudSummit.astro"; +import EventLocations from "../components/EventLocations.astro"; +import CloudSummitActivities from "../components/CloudSummitActivities.astro"; +import SummitSummary from "../components/SummitSummary.astro"; +import HighlightReel from "../components/HighlightReel.astro"; +import Ticker from "../components/Ticker.astro"; +import PastSponsors from "../components/PastSponsors.astro"; +import Newsletter from "../components/Newsletter.astro"; +import Footer from "../components/Footer.astro"; +import SeeYouThere from "../components/SeeYouThere.astro"; +import ScrollAnimations from "../components/ScrollAnimations.astro"; +import Speaker from "../components/Speaker.astro"; +import { + heroContent, + navigationContent, + aboutCPCAContent, + whatIsCloudSummitContent, + cloudSummitActivitiesContent, + eventHighlightsContent, + tickerContent, + pastSponsorsContent, + newsletterContent, + footerContent, + defaultCity, + speakerContent, +} from "../lib/content"; // Use default city for SSR, will be updated client-side const content = heroContent[defaultCity]; --- - - - - - - - - - Cloud Summit 2026 - - - - - - - - - - - - - - - -