Not Sure Which Static Site Generator to Pick?
Static Site Generators (SSGs) are a great option for many web developers and bloggers looking to build fast websites that can handle a lot of content without relying on bulky servers or databases. But there are dozens of different generators on the market, with each one declaring itself to be the “simplest and fastest” SSG on the market. So which one should you choose?
If you’re a newbie blogger who wants to get into coding, then you’ll need something a little more user friendly. If you’re a programming-savvy developer, on the other hand, you could tackle something a little more intense. Here we’ll compare a few of the most popular SSGs to help you decide which direction is the best for your site.
Jekyll
Website: jekyllrb.com
Language: Ruby
Templates: Liquid
License: MIT
Similar: Octopress. Serif, Enfield, JAQ
Jekyll markets itself as “a simple, blog-aware, static site generator” and it’s one of the most popular choices when it comes to SSGs, especially for first-time users. Jekyll allows you to blog straight from your desktop, giving you more control over every aspect of your blog without having to deal with heavy databases and bloated frameworks. In terms of speed, the performance is nearly unbeatable. But does that mean Jekyll is the right option for you? Let’s take a look at some of its best (and worst) features.
Best Features
User friendly. Jekyll is built on Liquid, a templating engine that originated with Shopify, which means that it includes ready-made templates that are fairly straightforward to use. If you’re a developer that doesn’t want to spend hours creating your templates from scratch, then Jekyll is the easiest choice by far.
Built for blogging. Jekyll is almost ready-made for blogging, as its pages are automatically organized by post. It also lets you import existing blogs from Joomla, Drupal, WordPress, or almost any other dynamic blog engine with relative ease, so if you’re transitioning from a current blog to Jekyll, you won’t have to go through the tedious setup process.
A large support community. Because Jekyll is so popular, it has a great community support system if you ever need to troubleshoot an issue. This is especially good news if you’re hosting your site through GitHub, the equally popular public webhosting service most commonly linked to Jekyll. If you ever have questions you can’t answer, the solutions are only a few clicks away.
Worst Features
Less customization. While the Liquid templates are great if you just need something basic to get started, they don’t offer much in the way of customization. Because its engine is primarily designed to support Shopify, it doesn’t allow for any custom code whatsoever, which isn’t helpful for developers wanting to give their sites a unique look and feel. If you want to do something more customized, you’ll need to develop your own Liquid helpers, which can be time consuming.
Poor support for Windows users. If you’re running your website from Windows, you might be at a disadvantage. Jekyll doesn’t officially support the Windows platform, so setup requires a lot more time, effort, and maneuvering to work properly if you’re not already on OSX.
Who should use Jekyll?
If you’re a first-time SSG user or blogger, Jekyll is the perfect choice. Because Jekyll doesn’t require advanced knowledge of web development, it’s extremely user friendly and still includes powerful features for those with more experience. If you like building your own templates in Liquid, you’ll also do great with Jekyll.
But if you’re not familiar with Ruby (or you don’t like it), or you feel limited by the templates supported by Liquid and don’t want to spend time building your own from scratch, you might want to go with a different SSG.
Pelican
Website: blog.getpelican.com/
Language: Python
Templates: Jinja2
License: AGPL
Similar: Urubu, Lektor, Hyde, Nikola, Acrylamid
Pelican is another popular SSG built using Python. It incorporates templates from Jinja, a Python-based template engine, which gives it added flexibility when customizing themes and templates. Pelican also supports WordPress and Tumblr and includes its own RSS feed, making it a good choice for bloggers looking to make the move from dynamic to static. Let’s review a few features that make Pelican stand out from the crowd.
Best Features
Flexible options. Pelican features multi-language content posting and can use multiple formats, such as reStructuredText, Markdown, or ASCiiDoc. It also allows for code (syntax) highlighting and has a variety of plugin options, making it a good choice for developers who want to use styles that are familiar and friendly.
Great for full websites. Because it supports Jinja templates, Pelican can cater to a variety of unique templates that go far beyond basic blogging. The themes and templates coming from Jinja are also extremely easy to use, which means less time for developers when it comes to customizing and coding.
Import friendly. If you’re looking to move your dynamic site to a static site but don’t want to spend more time than is absolutely needed, Pelican is the perfect choice. It supports import from a variety of different blogging sites, making it one of the easiest to use in terms of moving existing sites over to a static platform.
Worst Features
Requires knowledge of Python. When it comes to coding, Python is a higher-level programming language and takes a fair amount of experience to use. For those who are familiar with Python, using Pelican shouldn’t be a problem, but if you’re more familiar with JavaScript or Ruby, then you might run into more problems than using Jekyll or another Java or Ruby based SSG.
Trouble with org-mode integration. If you’re one of the few developers using org-mode for Emacs to write your blog posts, you’ll have trouble using Pelican. While there’s a plugin to read org files (org_reader), it isn’t as well supported as other SSGs and often crashes. If org-mode is something essential for you, then Pelican isn’t the right choice.
Who should use Pelican?
Developers familiar with Python who want flexibility when it comes to coding will naturally gravitate towards Pelican. Those looking to build a website that goes beyond blogging, or who want to import existing WordPress blogs to a static site, will also love Pelican.
But if you’re a developer who is more comfortable using Ruby or JavaScript, then Pelican isn’t for you. And if you’re an avid org-mode user, you can probably find another SSG more suited to your needs.
Metalsmith
Website: metalsmith.io/
Language: JavaScript
Templates: HBS/Any JS
License: MIT
Similar: Brunch, Docpad, Cabin, Wainwright
Metalsmith is perhaps slightly less well known than Jekyll or Pelican, but it is by far the most flexible. Branding itself a “pluggable” site generator, it boasts an impressive library of plugins that gives your site any feature it needs, making it useful as more than just an SSG. Metalsmith’s website showcases it used for everything from generating eBooks to creating technical documents in addition to building blogs. Let’s take a look at a few of Metalsmith’s unique qualities.
Best Features
Built for developers. Metalsmith utilizes a very simple core and the rest is managed through plugins, making it very flexible and easy to use (that is, if you know what you’re doing). You simply give the site a source directory and then tell it which plugins to use. If you’re a developer that has used Gulp and you’re very familiar with Node.js (or any .js), you’ll love Metalsmith.
Not just for blogging. While it will handle all the basics of a blog, it can also be used for a variety of other projects, like converting markdowns to ePub files or creating project scaffolds. You could also use it to generate PDFs for your blog posts, making it a super flexible option for anyone wanting to add interesting projects alongside their static site.
Supports chained API. Maybe the most programmer-friendly feature, Metalsmith uses consistent and simple chained API, providing significantly reduced processing time. It also allows for things like unlimited linking, reduced client/server coding, and ID security. If these are features you need in your site, then Metalsmith should be your go-to SSG.
Worst Features
Less user friendly. Even though Metalsmith is designed for easy use, it takes a fair amount of programming knowledge to get it working to its full potential. This is definitely an SSG for developers who know what they’re doing, so if you’re a newbie, keep looking.
Small community. Unlike larger SSGs like Jekyll, Metalsmith has much less support when it comes to troubleshooting. A lack of resources and experienced users means less help when you run into tricky problems, though they do have a Slack group to help developers ask and answer questions.
Who should use Metalsmith?
If you’re an intermediate or advanced developer looking for more flexibility and control over your content, you’ll love Metalsmith. It’s also great for those wanting to do more than just blog, and if you’ve got a good understanding of JavaScript and don’t mind spending a little extra time developing your site, this is a great option.
But if you’re a newbie developer or someone unfamiliar with JavaScript, or you just want a good support system if you run into trouble, this SSG is not for you.