Getting Started with 11ty ... or not
It is time to start a new site and the question is should I use Jekyll, as all my other current sites use (those that aren't still hand-coded HTML) or try something new. I've been wanting to try something new for a while but common sense (?) says that I should just use what I've been using, because why keep reinventing the wheel? I'm not saying that I'm some sort of big industry or innovator, but I did write some plug-ins and generators for Jekyll and I liked being able to add/modify the functionality and wanted to continue to do so.
Based on occasional idle research, I decided that I was choosing between 11ty and Hugo. They are the fastest static site generators (SSGs) and Jekyll was getting slow for my bigger sites. Hugo uses the Go programming language (sometimes called Golang) which in my aged and judgmental opinion is a "real" language as it is based on C. I learned Ruby for Jekyll, I could learn Go for Hugo. 11ty uses JavaScript which is an abomination that I have selectively blocked from browsers for decades. My unreasoning hatred for JavaScript is why I have resisted 11ty for a number of years now (I don't think it was a thing when I first started work with Jekyll?), but so many developers who are my CSS reference sources are 11ty adherents so maybe I should???
Rooting for Hugo, I tried to take a logical and practical approach to deciding between the two. Hugo reportedly has the edge in speed. Both are FOSS. So much of 11ty's purported advantage is based on the idea that you already know JavaScript, which I do not. In any case, the deciding factor was plugin documentation. I found some vague stuff about plugins "could" be written for Hugo by writing modules in Go. 11ty's plugin authoring documentation is less vague and, while not as abundant as I remember Jekyll documentation being, at least exists. A couple of videos that claim to be how-tos can be found on YouTube. Instructions for what should be a text-heavy exercise does not belong in video format.
** Old bag yells at clouds (and prepares to learn JavaScript) **
Following 11ty's own getting
started guide, I had to insert a brew install npm
*sigh*... Finishing the page we end up with, basically, a "Hello,
World" type of thing. The first thing I want to change is the
output going to source-directory/_site
, where do I do
that? It takes a few minutes but there's no
default configuration
file. That's stupid. Sure, don't put anything in there that
you don't need to keep things light, but in what universe would
you not end up needing a configuration file?
8-P
Configuration should be the easiest part, but I'm already in trouble in as much as there wasn't a default configuration file and the configuration file is not even remotely plaintext. We are already programming in JavaScript and most of the getting started tutorials assume we know how to do that or don't cover configuration at all! Add to this that there are (at least) two major formats of JavaScript itself (CommonJS and ESM) so the tutorials that do cover configuration don't match which cripples my default in-context contrast and compare learning style. I just wanted to tweak an existing config file and get started with something basic. Instead I have to learn how much JavaScript first?
Trying to find some ESM configuration file examples, I came across this. Now, I can understand some graphic designer wanting "pretty links" if they are uninformed and afraid of the messiness, but a programmer enforcing that nonsense is just nausea-inducing and disqualifying.
Part of my eagerness to move away from Jekyll has to do with something I read about a redesign in which they intended to remove Pages as a content type. That was a while ago and since it does not appear to have happened, perhaps I can stop worrying? That or try harder to look for Hugo documentation about plugins? ¯\_(ツ)_/¯