May 19, 2026 · astro · meta
How this site is built
A quick tour of Astro, content collections, and where the data lives.
This site is built with Astro, deployed to GitHub Pages from this repo.
File layout
src/
pages/ ← becomes URLs (file-based routing)
layouts/ ← shared HTML shells
content/blog/ ← Markdown posts (this file is one of them)
lib/ ← TypeScript helpers
public/ ← static assets served as-is (existing HTML apps live here)
How a Markdown post becomes a page
- You drop
src/content/blog/hello.mdwith frontmatter. src/content/config.tsvalidates the frontmatter shape.src/pages/blog/[...slug].astrobuilds one HTML page per entry.astro buildwrites static HTML intodist/.
No server. No database. Just files.
Why content collections?
Because Astro type-checks the frontmatter. Forget the date? Build fails. Misspell a tag’s type? Build fails. You don’t catch it on a Tuesday at 3am.