An Astro starter for a single conference event. Publish the conference program, speaker profiles, and a chronological schedule from typed content collections.
- Lighthouse Score: 100
- Conference program with Markdown/MDX detail pages and localized listings
- Speaker profiles sourced from YAML
- Schedule generated by ordering the conferences by their starting time
- Typed collections for conferences, speakers, and socials in src/content.config.ts
- Site-wide search via Pagefind with an accessible modal
- SEO-ready: OpenGraph/Twitter, canonical links, and preloaded fonts in src/components/BaseHead.astro
- Themes
light/dark/bluewith persistent toggle; debug toggle for layout borders - RSS (
/rss.xml) and sitemap (/sitemap-index.xml) generated automatically
- Bun
- Astro @latest
- Tailwdind CSS
# install dependencies
bun install
# start dev server
bun run dev
# production build
bun run build
# preview the build
bun run preview- Conferences: add localized
.mdor.mdxfiles undersrc/content/conferences/<lang>/. The schema validatestitle,description,date,day,startsAt,endsAt?,heroImage?,tags[], and speaker references. Program and schedule are ordered byday, thenstartsAt. - Speakers: add localized YAML files under
src/content/speakers/<lang>/. Each profile hasid,name,bio,avatar?,role?,company?, andlocation?. - Socials:
src/content/socials.yml.
Frontmatter example:
---
title: "Opening keynote"
description: "A practical start to Summit."
date: 2027-10-14
day: 1
startsAt: "09:30"
endsAt: "10:15"
speakers: [marina-li]
---Each speakers value references a speaker YAML id. The program is available at /conferences, speaker profiles at /speakers, and the full agenda at /schedule.
- Site name and description in src/site-config.yml.
- Navigation and hero actions in src/pages/index.astro.
- Colors, type, and utilities in
src/styles/global.css. - Key components: header with search and toggles (src/components/Header.astro), base layout (src/layouts/BaseLayout.astro).
npm run dev: server onlocalhost:4321(Astro default).npm run build: outputsdist/ready to deploy.npm run preview: serves the built site locally.
Output is static HTML. Upload dist/ to your platform of choice (Netlify, Vercel, Cloudflare Pages, S3+CDN). Set BASE_URL if you publish under a subpath.



