I write books. Sometimes.

Eleventy

by WillHB
Sun, Feb 14, 2021
Read time: 5 min.

Long, long ago, when I set up this website, I decided to use a Content Management System (CMS) called Drupal. A CMS, if you’re not aware, is a type of software that people who can’t be bothered to learn HTML use to post their stupid thoughts on the Internet.

Drupal made it easy enough to post my stupid thoughts, but then there was the update process. With any computer that interfaces with the web, it’s considered vital to keep your software up-to-date, lest Russian hackers elbow their way into your server and use your homepage to advertise discount boner pills and cheap OEM software. Drupal, unfortunately, required a painful manual process of putting the site in maintenance mode, disabling a bunch of plugins and themes, downloading the latest zip files for the core, plugins, and themes, then reenabling everything.

I perpetually forgot what all of the damn plugins did or how to use the server’s file manager,[1] so the process would always take me all evening, and by the time I got around to even doing it, the next monthly set of updates were out, so I could start the process of feeling guilty for not regularly updating my server all over again.

Eventually, I decided to ditch Drupal in favor of an enormously popular CMS called WordPress, in the hopes that it would make my life easier. I used a plugin to migrate all the content, purchased some themes to make it more or less consistent with the aesthetic the site’s had ever since I threw together its first css, and, with a sigh of relief, enabled automatic updates.

And then I lived happily ever after, with an easy-to-manage website.

For a while.

We’ll gloss over the fact that, at one point, I logged onto my site to find that it was totally dead, and probably had been for days. It seemed like a one-off.

But then came the day–not too terribly long ago–that I found that WordPress had, at some point, gotten into an odd state where I could no longer edit or post new content.

To which I responded: YOU HAVE FAILED ME FOR THE LAST TIME.

I don’t want to blame all of my recent radio silence on this, but…well, it’s not not important. The ability to manage your content is sometimes regarded as a plus in a Content Management System. [2]

So this is how WordPress wound up buried in a shallow grave next to its predecessor, Drupal.

In WordPress’s place, I’m now using something called Eleventy, alternatively known as 11ty, depending on whether you prefer a name that’s harder to type or harder to read.

I say “something” called Eleventy, because it’s not actually a CMS–it’s an SSG, or Static Site Generator. It’s basically just a pre-processor that shoves markdown data into some templates and pumps out html/javascript/css files, meaning it is unhackable and therefore there are no goddamn updates. Which is not to say that the website as a whole is unhackable (since those pesky hackers could still elbow their way into Apache, or my account with my service provider, or probably some other stuff), but Eleventy itself isn’t, since it’s just run on my personal computer whenever I change something.

It’s also blazingly fast. Sure, there’s room for improvement (since I haven’t attempted to optimize it yet at all), but like boiling an apocryphal frog, I hadn’t noticed how glacially slow WordPress was.

There are a few disadvantages, though. If you’d grown dependent on that little search bar so that you could use my old blog posts as a technical reference for your job, I’m afraid you’re out of luck.[3] Similarly, without any server-side functionality, there won’t be any comments for the blog. So…no change on that front.

The plus side, though, is that I’ve thrown in a few shiny bells and whistles, such as some contextual awareness for the sidebar content, as well as estimated reading time for posts.[4]

The biggest downside was probably that the migration process from WordPress to Eleventy was much more painful than the last migration. Partially because I didn’t find a quick, easy plugin to migrate the content for me, and partially because going through all the old content with a more watchful eye revealed that the last migration hadn’t necessarily worked all that well, either, leading to broken images and links spread throughout some of the older content.

Also, typos. My approach to blogging is apparently to just mash my face on the keyboard until I’ve got enough characters onscreen to feel like I said something, and then hit “Publish.” But all of that–well, most of that–okay, some of that–has been resolved now, and the migration is more-or-less complete (with the possible exception of a few more 301 redirects I need to add to salvage any inbound links), so I’m ready to declare victory for the moment.

In parting, though, I’d like to clarify that I’m not posting this in order to advocate Eleventy to anyone else–it’s probably a bit technical for many people–but rather as a warning.

To Eleventy.

There have been others before you, Eleventy. You have seen the price of failure. There will be no second chance.


  1. It took me an embarrassingly long time to realize I could just ssh into the server. ↩︎

  2. I did find a workaround that let me at least edit stuff, so I probably could’ve muscled through, but…you know…it’s one more thing to deal with when the whole damn world is on fire, and at any rate, I forgot what the workaround was, so I didn’t want to spend another hour trying to figure out what combination of temporarily disabling plugins and themes would let me change stuff again.

    Yes, I know I probably should’ve written it down when I figured it out the first time, but a while back I spent several hours watching Grinch cartoons just so I could pointlessly create a unifying canon for them all, so that should shed some light on where I’m at intellectually. ↩︎

  3. Update: I’ve actually implemented a search bar now. Still, no comments. ↩︎

  4. Spoiler alert: it’s one minute. ↩︎

Have friends? Prove it. Share this post.