Why I Chose Astro To Build My Blog
When I started this blog recently, it was powered (due to my love of Golang) by Hugo. I wasn’t satisfied with the default theme, so I explored others. Unfortunately, each had something I disliked. With this in the back of my mind, I stumbled on a beautiful blog made using Eleventy. Since I wasn’t yet strongly committed to Hugo, this discovery ignited my search for alternatives: both 11ty and Astro had multiple users vouching for them, but I decided to try Astro first due to its versatility.
While I had heard of Astro before, I thought it was a complicated tool for SSR. Its main use case, in my mind, was crafting quality landing pages. My uninformed opinion was that it was overkill for building a blog, and that it would require me to start from scratch, write boilerplate and all the logic, etc.
I was mistaken. The npm create astro@latest command initializes a blog template that
gets you started fast. I liked its initial style more than any Hugo theme, and had no trouble customizing it. And Astro is not only for SSR. Indeed, by default, it acts as a mere static site generator. It feels very light when used only to process Markdown files.
Now, I also chose Astro to build my blog due to preexisting interest. It started when I saw Astro rank highly on the State of JavaScript polls many moons ago. Since 2023, it has ranked #1 for both the satisfaction and positivity scores among meta frameworks. Back then, I did a quick search just to get a rough idea of what it was about. I learned it enabled building fast websites with great SEO and minimal client-side JavaScript. Verdict: when the time came to make a fancy marketing landing page, I would investigate further.
Finally, deploying this blog to Netlify was trivial. I selected the GitHub repo in a dropdown, pressed deploy, and it just worked. The Hugo version was also easy to deploy, but required an extra step: specifying the Hugo version as an environment variable.
I am so satisfied with Astro I didn’t bother trying 11ty. I still may do so someday, but for now, all of my blogging needs are fulfilled.
TLDR
- Astro provides a blog template that looks great (inspired by the bear blog theme).
- Customizing Astro is easy for me, given my past experience.
- It adds no more friction than Hugo to writing a post.
- Astro is a tool I’ve been interested in learning for a good while.
Update
Ironically, the very morning after writing this post, I found a very nice blog built with Hugo. I would not have switched from Hugo to Astro if its default theme looked like that!