‘Iacta alea est’

Why 11ty?

The question could be asked why I, as a Ruby developer with an open distaste of JavaScript, would use a tool like 11ty as a static site generator.

This blog runs on Jekyll at the moment but in a professional setting I gravitate towards 11ty. It has a lot to do with JavaScript being the lingua franca of the web.

A JavaScript tool integrates well with the world that has arisen around front-end development. Most build tools for CSS and for JavaScript are written in JavaScript. By keeping everything in one language you simplify the approach, there’s no context switching. The tools integrate well together, or at least as well as JavaScript tools can.

JavaScript is also the place where most new people get on board these days and there is a certain momentum and community that is impossible to ignore when it comes to having tools that follow the latest best practices. JavaScript has become the default.

At the same time, 11ty is rare in the JavaScript world as a tool that does not burden the developer unnecessarily. It appears as a modicum of sense in a world characterised by the offering of solutions to problems of one’s own creation.

11ty is also built for a world of APIs, it is a post-Jamstack framework. Not that Jamstack is gone, but that this new way of working was the fertile soil in which 11ty grew, and 11ty is thus well suited to things like fetching remote data via APIs.

11ty is inspired by Jekyll (is there a static site generator that isn’t in some way?). Jekyll had a bit of a renaissance when Parker Moore started contributing in 2013 and he later took over the project. He modernised it adding the concept of collections in 2014 which broadened Jekyll’s appeal from simply a blogging platform to be something a lot more flexible.

Now it’s difficult to retrofit something so fundamental into an existing tool, so Mr. Moore did an impressive job in getting collections in. 11ty on the other hand was designed with collections as a premise and thus you experience no dissonance when using them. Jekyll expanded, 11ty contracted.

11ty is a simple tool conceptually. It focuses on generating the site and lets all other concerns like JavaScript and CSS completely up to you. It has points of integration and extension that help with that process of managing assets, but it leaves the management firmly to tools that it feels do a better job.

It is surprisingly unopinionated and flexible. It has a small core which you can adorn with the elements you deem necessary. It’s featured enough to give you something out of the box, without boxing you in. You can generally build anything by writing some JavaScript, and it has enough hooks for hanging it up.

You can understand it. It gets out of your way. It gives you the freedom you crave.

Tuesday 18th May 2021.