When Iām not fighting WordPress I deliver static HTML or the occasional JavaScript framework integration. For personal projects I have āfunā with my own static site generator.
This week was a side quest (soon to be main quest) to build my new company website. Weāre talking proper business here so I canāt be messing about. I figured an off the shelf SSG would be most suitable.
I asked the socials, ā11ty or Astro?ā Both are popular but Astro had the edge. I gave Astro an early spin back in 2022 and found it slow. Maybe itās good now?
The install
I ran pnpm create with minimum release age to avoid immediately getting pwned.
I selected Astroās āUse minimal (empty) templateā option and it generated both an AGENTS.md and CLAUDE.md file ā are you f ā deep breaths, donāt fall for the rage bait.
I code in a modern editor so I installed the recommended Astro extension. At first I struggled with Zed recognising HTML.

I discovered a restart temporarily fixed the issue, but I guess I restarted one time too many because now the Astro LSP is completely broken.

No modern comforts for me then. At least I can look at HTML without the red squigglies.
I know what youāre going to say, āDave bro, youāre inflicting this pain upon yourself! Just write HTML!ā And I should. I just want native no-framework HTML includes, you know? Can you imagine the civilisation weād live in if that could happen?
The docs are nice
I persevered and got my templates built with minimal fuss. I added a markdown collection and got the blog part blogging. Itās obvious that people use Astro to build real websites because all my āhow do Iā questions had an answer in the documentation.

Iāve been forced to deploy way too many āReact spacesā in my templates because Astroās whitespace treatment is a mystery. I donāt need many components so I havenāt gone deep on Astro vs JSX. My site has zero JavaScript on the front-end. I plan to keep it that way.
Edit: Christian Niklas on Mastodon shared a link to a recent Astro update where they added a compressHTML: "jsx" option that defaults to no longer āfollowing HTML rules.ā Umm⦠okay. Set this to true or false if youāre building a website? I set it to false. Minifying whitespace is over-optimisation.
Iāll keep it around
Astro has got the job done, despite the
Final conclusion: Astro is fine I guess. Iām not convinced Cloudflareās acquisition is a good thing, considering their record for performative slop. Iāve lost my enthusiasm for DX and tooling to be honest. Even my own SSG experiments are collecting dust. Iād call the ecosystem a lost cause if I was being dramatic.
I just try to avoid the worst of it and care about the end product: shipping a damn fine website! Which I canāt do because Iāve got more businessing to business before this particular site sets sail. Maybe in a few months? Itās looking awesome on localhost though.
Thanks for reading! Follow me on Mastodon and Bluesky. Subscribe to my Blog and Notes or Combined feeds.