Posted
- updated

Why I Chose Astro To Build My Blog

Isn't Hugo meant for this?

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

  1. Astro provides a blog template that looks great (inspired by the bear blog theme).
  2. Customizing Astro is easy for me, given my past experience.
  3. It adds no more friction than Hugo to writing a post.
  4. 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!