Static Blogging Tool Face-Off: Middleman vs JekyllBy David Turnbull
Previously, I’ve written about why static blogging tools can be better than WordPress, and about a range of tools worth considering for this purpose. But for most people, I recommend one of two tools:
I’ve used both generators extensively and have a lot of love for both of them, so I don’t want to pit them against each other as if there’s some sort of objective winner. But I will compare them because they share many similarities and, to a newcomer, it might not necessarily be easy to choose between them.
Here’s what you need to know:
In the past, I’ve described Jekyll as “the WordPress of static blog generators”, and I think that label still applies. It’s the first tool that comes to mind when people think of static blogging and, popularity-wise, it has a huge lead over the nearest competitor (and even then, “the nearest competitor” is a fork of Jekyll).
There’s probably a number of reasons why Jekyll became so popular — it was one of the earliest generators, for instance — but I’d argue the reason it’s remained so popular is because of its simplicity.
This is what the Jekyll blogging process looks like:
- Install Jekyll.
- Create a blog via the command line.
- Create text files inside a “_posts” folder.
Of course, this process can generally be applied to all static blogging tools, but the difference is that Jekyll doesn’t require any notable tweaking or configuration to get going. The default template is fine, the default settings are sensible, and the only real changes you need to make are in defining the name and URL of the blog.
Middleman, on the other hand, requires extra setup to get going. You’ll need to dig into the documentation, install the “blog” extension, and spend an afternoon figuring out what you’re doing before you end up making anything that looks like something. Once that setup is done, Middleman is essentially the same as Jekyll in regards to simplicity, but since Jekyll has fewer features, it has a built-in “idiot proof” factor. You’ll have a harder time breaking everything as a result of a silly mistake.
Jekyll, then, has an advantage when building a personal blog, or when building a blog that won’t need to expand far beyond the blogging mold.
To say that Middleman is a static blog generator is a little misleading. In actual fact, it’s a static site generator. The blogging component must be installed as a plugin (as is the case with a number of other features).
This, however, can be considered an advantage.
Middleman doesn’t lock you into a particular way of working. Most people will use the blogging plugin, but you can also build a complicated site — even choosing to create multiple blogs, if you want. Because of this flexibility, some simplicity is lost, but for anyone with a little development experience, it’s hardly a big sacrifice.
With my own blog, for instance, I didn’t want it to be just a blog. I wanted to publish books online in a manner distinct from the blog, and with Middleman, I’ve been able to do that. Is that same thing possible with Jekyll? Basically, yes. But Jekyll works best when used to build a standard blog, which aids in simplicity, but isn’t always the best option.
Middleman has some blog-centric features that I prefer over Jekyll — you don’t have to include a date in the file names of your blog posts, for instance — but the major distinction comes down to how much you want to do with your tool of choice. If you “just” want a blog, Jekyll will serve you well. If you need more complex structures for your content, Middleman has a strong lead.
One of the biggest benefits of static blog generators is that, because the generated results are completely static files, they’re able to load extremely fast on any web host. I even managed to get my blog to load in well-under a second. In this regard, Jekyll and Middleman are identical.
Middleman does, however, have a slight edge due to the variety of performance-focused extensions available:
Using these extensions will help eke out further performance benefits.
Jekyll has some equivalents though, and most of these things are easy enough to handle manually. So while this is an edge for Middleman, it’s not exactly a definitive point in either platform’s favor.
We’re experiencing a rennaissance for static blog generation but there’s still a lot of room for improvement. As such, it’s important to consider which blog generator is under the heaviest development.
Luckily, Middleman and Jekyll are both receiving a lot of love in this regard.
Middleman, for instance, is closing in on the release of Version 4. You can click here to see their new website, and also read about the various changes made to the tool. This particular upgrade focuses on:
…removing a lot of lesser used features in the core and replacing them with either better-supporting approaches which already existed or moving that functionality into an extension.
There’s no particular “wow factor” to point out, but the tool is maturing a significant amount with this release.
Jekyll, on the other hand, is closing in on the release of Version 3, and there are a number of features on the horizon. The addition of incremental generation, for instance, means that generating a blog with Jekyll will be much faster. This feature can already be found in Middleman but it’s nevertheless a great addition to Jekyll.
If I had to pick a winner, I’d say Jekyll comes out ahead since it has a larger team of core developers, a bigger community, and more regular blog updates, but it’s also an imperfect comparison. Middleman is a bigger piece of software with a number of features that Jekyll has yet to add, so it makes sense that its growth doesn’t appear as rapid.
Either way, neither tool is on its way to the deadpool and we can expect a lot more from both of them over the coming months.
Like I’ve said, there’s no real winner in a comparison between Jekyll and Middleman. Both are great tools that serve different purposes within the same space. Middleman is what I use for my business blog, while Jekyll is what I’d use for a personal blog. That doesn’t mean one can’t be used for either purpose but therein lies a useful question:
What are you actually trying to create?
If you can answer that question clearly, then I hope the points I’ve covered in this article help make the decision a little clearer.
Which static blogging tool do you prefer? Do you have any tips for getting the most out of your favorite?