Menu

Becoming an Astro-not

I spent an entire weekend migrating my Eleventy site to Astro—and then back to Eleventy! A reflection on using the right tool for the job, when many options are viable.

It’s so hard to compare frameworks

Marketing pages tend to make everything look like the best thing since sliced bread. I’ve been in this industry long enough to know that everything has tradeoffs, and I’d prefer to have an honest evaluation of the faults of various tools.

I typically need to get neck deep (e.g. spend an entire weekend coding) in a framework change to understand if I want to keep it or not.

Eleventy’s vibes

Eleventy is a simpler static site generator

Their home page includes a cute cartoon opossum mascot that slowly floats in from the left side of the screen. It feels very no-nonsense, but a bit cute too.

Seeing this I think “this is a well established tool made by a small group of quirky people”. It seems like a good fit for an individual web enthusiast like me.

Eleventy’s home page & documentation page

Astro’s vibes

The web framework for content-driven websites

Astro powers the world’s fastest marketing sites, blogs, e-commerce websites, and more.

Their home page opens with a highly polished style and catchy headline, underlined by a huge list of famous logos for some social proof.

After that, we see a really cool hacker-esque set of code snippets about… building an e-commerce platform. I just want a blog with sprinkles lol.

Astro’s home page & documentation page

What does it mean to be “simpler”?

Eleventy offers full control over your project’s output. We don’t inject our own markup into your pages.

For better and for worse, Eleventy really puts the control in your hands. For a project like my personal site, I really like this. I’m a perfectionist, and I hate slow and messy websites. I believe that something as static as my personal site should get by on using the simplest tool for the job. And Eleventy fits really well for me.

Astro on the other hand feels very business ready™. With CSS modules, scoped inline styles, automatic script concatenation, JSX, TypeScript, etc… It brings a lot to the table for larger teams and bigger sites.

This isn’t a hate post

I’m fine with Astro. In fact, it seems really good. But I’m trying to be more conservative with my tech choices these days, with regard to not betting everything on brand new projects all the time (like so many of my peers seem to love doing).

I think Astro seems like a really good framework for business use cases, and could be a nice alternative to the recent dominance of Next.js and React-based websites.

Why I’m sticking with Eleventy

Astro is an opinionated tool, and I think especially for business use-cases this is really helpful. Eleventy is a bit less opinionated and a bit more pluggable.

If it wasn’t so tedious to maintain an RSS feed and keep consistent <head> tags across various pages, I would consider the simplicity of “a huge folder of HTML files” as my site’s source format.

I won’t claim that Eleventy is the most minimal possible static site generator (SSG), but it is simpler than Astro. It’s extremely fast and just enough to get me where I need to be with my site.

What I still want from Eleventy

The documentation for various features can be pretty lightweight. I recently saw they added JSX support, but it’s not especially documented besides a link out to an external blog post from JetBrains that didn’t really work out for me very well. Maybe one day I’ll get motivated and figure it out well enough to contribute to the official documentation.

Nunjucks doesn’t seem especially well supported these days, but migrating to Liquid was a horrible experience for me. Maybe I should play around with EJS? All I really want is something that has a nice auto formatter and decent error messages. Unfortunately there doesn’t seem to be many tools that fit the bill, but Pug might, actually… I just don’t like indentation-based syntax lol.

Saying “good enough”

I’ve been a professional web developer for over a decade, and I’ve been making websites even longer than that. Sometimes my perfectionist side gets the best of me and I want to use more complicated and powerful tools. But it’s my personal site: it should be fun!

Further reading

Which Generator builds Markdown the fastest? by Zach Leatherman

Comparing Static Site Generator Build Times by Sean C Davis

A List of Static Site Generators for Jamstack Sites by Netlify


Thanks for reading

Let's talk about this post. I love making friends and chatting.

Subscribe to my RSS feed to stay up to date. What is RSS?