This site goes up to Eleventy.

I just migrated this little website’s internals over to Eleventy. If I did my job right, you won’t notice the change.


This content originally appeared on Ethan Marcotte’s website and was authored by Ethan Marcotte

The world’s got a few things going on. And as I am apparently wont to do in times like this, I’ve been tinkering with my website. More specifically, I just migrated off of jekyll and over to Eleventy.

(Fair warning: this post is entirely too long; even worse, it’ll get very lightly technical. So if How Markdown Files Go Brr isn’t of interest to you—and believe me, I get it—feel free to skip this post.)

Truth be told, I didn’t need to change anything about my publishing setup. I’ve been using jekyll for over a decade. It’s lovely software, and I’ve been really happy with it. But in recent years, it’s started to become a bit slow to work with. On top of that, I’ve never been any good with Ruby, the language jekyll’s written in. That means that outside of copying-and-pasting a couple borrowed plugins, I’ve more or less been locked into jekyll’s default feature set.

That’s why I started playing with Eleventy. Eleventy’s a static site generator created by my friend and colleague Zach Leatherman. I am very late to this particular party, of course: tons of very cool people have been playing with Eleventy, and doing terrifically exciting things with it. So a few years back, I created a new branch, and started tinkering.

As you might know, a few things happened in the interim: there was is a global pandemic; I got busy; I got sick; I got better; I wrote a book; I got a new job. That’s all to say that the Eleventy migration stopped, started again, restarted, and then basically…fell apart and languished. But I finally got a little momentum going earlier this year, and just pushed the changes live last night.

Overall, the migration went really well. I did stumble on a few things, though:

  • jekyll makes a bunch of really handy global variables available to site owners, nestling key pieces of data underneath objects like site., page., layout.*, and so on. There’s a mental model at play there, and it made a lot of sense to me.

    By contrast, Eleventy doesn’t have a similar structure. And honestly, that’s mostly fine! But when I was first starting to tinker, it did make Eleventy feel a lot…well, fuzzier than jekyll did.

  • I used jekyll’s proprietary {% link %} tag to link to, like, everything on my site. It is an incredibly handy way to link to arbitrary files, and finding an Eleventy equivalent was one of the first things I asked about. I was never happy with any of my custom solutions, so when I found out about the new inputPathToUrl filter in the Eleventy 3 alpha, I upgraded with a quickness. And it’s been great.1

  • About a week ago, I noticed that nearly all of my post dates were wrong: if I’d written a post on February 10, the post would appear on my website with a timestamp of February 9. After hours of frustration, it turns out that this is by design, and listed as a common pitfall for those using Eleventy the first time.

    Thanks to a few very helpful blog entries, I managed to get a solution in place.2 But man, I wasn’t expecting this little curveball, and I could see other folks getting tripped up by it too.

  • Related to that—and this might just be me, mind—I had some difficulty navigating Eleventy’s documentation. When other people wrote about an issue with Eleventy, they’d often link to something in the docs that would get me unstuck. And generally, I found that was a theme with my migration: I’d start by searching the internet for guidance on an issue, rather than the Eleventy documentation itself.

I don’t want to suggest that my experience was bumpy, mind you—far from it! Overall, I am delighted by how easy it was to move a decade’s worth of material over to Eleventy. And now that I’ve moved things over, here are some of the things I’m most excited about:

  1. It’s fast. My jekyll site wasn’t exactly slow, but it was definitely starting to feel creaky. By comparison, Eleventy has been downright zippy.
  2. Eleventy feels like a playground. Eleventy just seems really, really good at ingesting random data from around the web, and pulling it into a website. I get excited when I read about my friend Mark’s ability to pull Letterboxd reviews into Eleventy, the feature Cory built to publish his music listening stats on his blog, or Melanie’s fancy new reading page on her (gorgeous) website. Honestly, I can’t wait to start tinkering myself.
  3. I feel like I have a blog I can extend. Related to that, I’m glad I have a site that’s built on technology I’m a little familiar with. As previously mentioned, I am completely useless when it comes to Ruby; while I’m no JavaScript expert, I’m very comfortable with it. And that’s something of a relief.
  4. Eleventy is powered by its community. I’ve known Zach Leatherman for years, and I’ve always admired the way he’s cultivated a community around Eleventy. I’m doubly excited that there’s an active push to make Eleventy financially self-sustaining, moving the platform to a point where it’s supported by donations from its community. That kind of support makes me hopeful for the platform’s future.

Anyway! I’m delighted to have hit this little milestone, and to be on a platform that feels exciting and sustainable. Of course, if I’ve done my job right, you won’t notice any changes. Not until the redesign’s done, anyway.3 But of course, if you do see anything amiss: please drop me a line, and I’ll get things sorted straightaway.

As always, thank you for reading.


  1. I should note that when I switched from version 2 to version 3’s current alpha, my build times nearly doubled. But since we’re talking about a change of, like, three seconds to five seconds, and since Eleventy 3 is still in alpha, I have absolutely no problems whatsoever with this. ↩︎

  2. Namely, figuring out enough of Moment.js to write some little date formatters. ↩︎

  3. Yep, I’m working on a redesign—and I’m actually pretty excited about it! (And yes, it’ll probably be here in another geological era or two.) ↩︎


This has been “This site goes up to Eleventy.” a post from Ethan’s journal.

Reply via email


This content originally appeared on Ethan Marcotte’s website and was authored by Ethan Marcotte


Print Share Comment Cite Upload Translate Updates
APA

Ethan Marcotte | Sciencx (2024-07-15T04:00:00+00:00) This site goes up to Eleventy.. Retrieved from https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/

MLA
" » This site goes up to Eleventy.." Ethan Marcotte | Sciencx - Monday July 15, 2024, https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/
HARVARD
Ethan Marcotte | Sciencx Monday July 15, 2024 » This site goes up to Eleventy.., viewed ,<https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/>
VANCOUVER
Ethan Marcotte | Sciencx - » This site goes up to Eleventy.. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/
CHICAGO
" » This site goes up to Eleventy.." Ethan Marcotte | Sciencx - Accessed . https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/
IEEE
" » This site goes up to Eleventy.." Ethan Marcotte | Sciencx [Online]. Available: https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/. [Accessed: ]
rf:citation
» This site goes up to Eleventy. | Ethan Marcotte | Sciencx | https://www.scien.cx/2024/07/15/this-site-goes-up-to-eleventy/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.