Jekyll vs Eleventy
A showdown of two of the simplest static site generators to get you up and running with a personal blog without the need for specialised coding knowledge or frameworks.
Jekyll is the granddaddy [[!static site generator]], thriving on simplicity and packing a blog right out of the box. It is one of the oldest in the game so there is a vibrant community and plenty of tutorials and templates if you get stuck. It is also the first static site generator I ever used and the basis for my old personal blog.
However, it's simplicity comes at a cost. Blogging right out of the box means you need to conform to Jekyll's opinion on how your blog is structured and if you, like me, are not a ruby expert, prepare for much tears and googling to get the ruby environment up and running. When it works, it's great. Just prepare yourself if you switch computers and try to build your site again.
- Blog-aware and ready to go with drafts and sorting posts by date right out of the box.
- Reasonably fast once you get it up and running.
- SCSS built in to keep your CSS nice and organised.
- Ruby and all its ruby-ness. Installing gems is a pain and can potentially leave you unable to build your site if you're environment isn't set up properly.
- Blog-aware means it is great for a stiff structure, but not creating your own structure or custom groupings. You get blogs and drafts, but any custom categories exist outside the blog and do not get the same features.
Eleventy or (11ty) is the new cool kid on the JAMstack block. Which is a fancy way of saying it eschews frameworks and structure in favour of the simplest, fastest, most customisable experience.
Eleventy is like the simpler Jekyll, focusing on pure speed and letting you figure out any extra bits you want to tack on. It doesn't impose a structure on you, instead building the blog based on whatever tags you specify in any folders you like. However, all this freedom comes at the cost of a big more setup time to get things to your liking, unless there is a template out there which is exactly what you want.
- Simple (npm install, forget endless gem install errors)
- Lightning fast
- Customisable blog structure built on tags so you have full control over how to set up your blog.
- Flexible templates where you can mix and match languages of your choice (instead of Liquid, Jekyll's only choice).
- New kid on the block so not as much in the way of documentation, tutorials, and plugins (though there was enough for a newbie like myself to get by).
- More customisable blogging features also means a bit more work to setup. Little things like private drafts or automatic dates would have to be setup manually unless using a template that has them already.
- No SCSS/Sass pre-processing out of the box. If you just want to use standard CSS than no problem, otherwise you will have to setup SCSS for eleventy yourself.
- Pagination is the devil. Okay, so not literally, but some of those little functions like that required a lot of googling to get right.
It depends what you are after. Do you want a dead simple blog right out of the box and an tried and tested tool? Jekyll may be the one for you. Do you think if you're going to the bother of setting up your site from the ground up, you may as well have all the customisation you like? Try Eleventy!
What seals it for me personally, however, is the [[!User Experience]] and installation. Eleventy is hands down the simplest static site generator I've tried. I am no longer afraid of being stuck on a new computer unable to build my site because of an install error (like I was with my old Jekyll blog). It's also silly fast and blogging from tags makes up for having to spend a bit more time getting the structure I wanted.
However, if you know you're going to be working off of a template and want a single personal blog, both are excellent choices. If you can't decide, pick a template from each and see which gives you the smoothest workflow for your needs because, at the end of the day, you are the one who will be maintaining this and the [[!Flip side of portfolio UX]] is crucial.
For me, I had a special usecase in mind: building a Digital garden. Check out the [[!The best blogging tool for notes]].