Moving to 11ty

saying goodbye to Hugo and hello to 11ty

By Sam on : 2020-04-08

I've been tinkering with this blog for the past three years, and have never actually gotten around to doing anything significant with it.

The main reason for that is lazyness. It's also fair to say that for at least the same amount of time the last thing I want to do after work is... more work.

That's kind of what this site was, just a bunch of things to deal with, whether it be actually coming up with a design, or finding a sensible way of dealing with images.

The site was made with Hugo, a static site generator written in go. Back in the day, I was working on one of my first porjects and got quite familliar with Hugo. It's around that time that I started this blog and decided to use the same stack, which made perfect sense as it was one I was familliar with.

But Hugo didn't quite fit my use case. It really shines if you need to render thousands of pages and collections, taxonomies or whatever you want to call them.

I had like 5 pages, and everytime I wanted to write something I could only see problems that need fixing. Each time I would need to go through a load of documentation to figure out how to do something "trivial".

The bigest issue that I had was not being able to easily add build time functionalities, image processing for example. There are ways around this issue, I could have used an external service like cloudinary (this would be a sensible solution), I could have made an API for my images and have hosted it on heroku (I really should have gone down this route), but what I wanted is to be able to resize my images at build time. I have done this before in Nodejs, and I could have done this with my Hugo setup. But I didn't want to have multiple command in several languages for something like this.

I also really wanted to try out the static site generators all the cool kids are using!
I really missed the experience migrating a corporate site over to Nuxt, I also tried Gatsby ages ago. But they can be really JavaScript heavy for users, and this is something I want to avoid.

I'd heard some really good stuff about 11ty and it seems to tick all the boxes. It was time to move.

The move was pretty painless, swaping go templates for nunjucks took minutes. There were a couple of things that weren't easy to find in the Documentation, I still need to figure out a bunch of details but I got the whole thing to work exactly like it did in hugo in a couple of evenings. I really like how simple it feels, and how flexible it can be.

One thing that I really love, if I can't figure out somehting in the docs, there are a bunch of starter projects to look at and see how people smarter than me have dealt with the issue!