Notes on choosing Astro
I rebuilt this site in Astro and the deciding factor was simple: it ships no JavaScript by default.
A blog is text. It should arrive as HTML, render instantly, and work in a text browser. Astro lets me write components when I want them, but the output for a plain post is just markup and a small stylesheet.
A few things I appreciated:
- Content collections give posts a typed schema, so a missing
datefails the build instead of the page. - Markdown gets syntax highlighting at build time via Shiki — no client-side highlighter.
- The mental model is “HTML-first, opt into JS”, which matches how I think about content.
Here’s the entire client-side cost of this page:
0 KB of JavaScript.
That’s the point.