Blog rewrite in Astro
TL;DR: Astro is an outstanding meta-framework for building websites.
According to the splash on the Astro website, it is:
Astro is a JavaScript web framework optimized for building fast, content-driven websites.
If that doesnt sound like a good fit for a blog, i dont know what would.
Why now?
My previous blog implementation was built with Gatsby. I really like a lot of the approach of Gatsby, but it has grown to be a bit outdated.
In Gatsby, the premise is to build a massive Graph (queried with GraphQL) at build time, in order to have a consistent view into all of the content for a static site. That idea has merit in theory. In practice it can be cumbersome. Scraping up all of a sites content, all of the images for a blog, scraping markdown from disk, and transforming them with Sharp and Remark, can be a bit awkward. It feels like a bit of a “square peg in a round hole”, and im sure that more complex integrations, like with Ghost or Wordpress would be convoluted at best.
That’s not to damn Gatsby overall. Most of the pain of setting up the content is paid right up front, and once the “content generation” phase sets in, its decently fast, and gives great results for the published website (the output is all static afterall). And it pioneered a great DX for the dev experience, rendering dynamically from the dev server, but static for production.
Enter Astro
Why Astro though?
Why not?!