In a previous article, I compared WordPress, the world’s most popular blogging platform, with Jekyll, a less-conventional approach to blogging whereby you create all of your content inside local text files before running a command to generate a purely static version of your blog. Jekyll has a range of benefits:
- You have far more control over every aspect of your blog.
- Since there’s no database involved, the performance is unbeatable.
- Many find blogging from their desktop to be more intuitive.
But while Jekyll is by far the most popular static blog generator, and it’s the one I recommend for first-timers, there are many to choose from.
Let’s talk about some of the most interesting alternatives.
Jekyll has become increasingly flexible with each release but, at its core, it encourages bloggers to follow a precise set of conventions. This is a big part of its user friendliness but some might find it limiting.
If, after playing around with Jekyll, you find yourself wishing that it had feature X or Y, check out Middleman. It’s built upon the same language — Ruby — but, right out of the box, it’s far more flexible.
Here are a few reasons to love Middleman:
- While there’s a “Blog” module, you’re not confined to sticking with the basic structure of a blog. You can build much more complex websites.
- There are plenty of great plugins available, like sitemap generation, image optimization, local gzipping, and all sorts of deployment solutions.
- An incredible amount of functionality and flexibility can be found within the main configuration file.
But since Middleman can do a lot more, it’s also trickier to get a handle on, compared to Jekyll. It’s not overtly difficult, but you will have to spare a little extra time and attention to manipulating it to your will.
A common problem amongst static blog generators is the time it takes to actually generate the static files. Because while dynamic blogs are generated on the fly, a static blog is generated all at once. For a small blog, this is fine. The bigger a blog becomes though, the more frustrating it can become.
Some generators, like Middleman, offer incremental generation. This stops the entire blog from being generated every time. Instead, only the parts that have changed are generated. (Unfortunately, Jekyll doesn’t have this intelligence.)
If you’re looking for sheer performance though, Hugo is your best bet. It’s no slouch in terms of features, but its biggest draw is that it’s built with Go — a language famous for its speed. If I were starting a blog with a frequent publishing schedule and the expectation of thousands of pages, I’d choose Hugo.
I’m a Ruby enthusiast, so tools like Jekyll and Middleman are attractive to me. If, however, you’re a Python aficionado, then your preferences are well-catered for in the form of Pelican — the most popular static blog generator built with Python and the third most popular overall.
It comes with all the standard features:
- Generation of Markdown-based blog articles and pages.
- Syntax highlighting for code snippets inside your posts.
- Automatic creation of an RSS feed.
But because of my leanings toward Jekyll, the only significant reason I’d recommend Pelican is for people who already develop with Python.
Learn PHP for free!
Make the leap into server-side programming with a comprehensive cover of PHP & MySQL.
RRP $11.95 Yours absolutely free
Metalsmith is easily the “weirdest” blog generator on this list but I mean that as a compliment. Here’s a basic idea of how it works:
- The core of Metalsmith itself manipulates files within a folder.
- Various plugins are used to define how these files are manipulated.
- Plugins can be chained together to create different results.
Since it’s a little tricky to explain without a number of examples, looking through the official website is the best way to “get” how cool this approach is. It won’t be what everyone needs, but it’s certainly clever.
Okay, to suggest that Octopress is distinct from Jekyll is a little disingenuous. In reality, Octopress is based on Jekyll. Out of the box, it simply has a range of extra functionality and a different default theme.
Personally, I prefer working from scratch with vanilla Jekyll. That way, my blog will have nothing more than exactly what it needs. If you’re looking for a quick-start option though, Octopress has you covered.
Obviously, people looking for a static blog generator are not starved for choice. This isn’t even an exhaustive list, either. There’s dozens of other options I haven’t covered. These six, however, are the most interesting to me, and they’re a great place to start. Feel free to make your own suggestions in the comments though. I’m always curious to play around with other software.
Jump Start Git, 2nd Edition
Visual Studio Code: End-to-End Editing and Debugging Tools for Web Developers