Top 10 Static Site Generators (Part 1)

Original author: Aniruddha Mysore
  • Transfer
Recently, in the field of web development, we have noticed a strong shift in emphasis in favor of static sites. Such sites are easier to maintain (no databases, no server scripts) and more secure in general, given that the only thing that is transmitted to user devices is HTML, CSS and Javascript files. To make certain types of sites, such as blogs and documentation sites, static, simply writing code in HTML files is quite difficult. It is also not easy to maintain sites with massive content, especially if you need to change some minor details (for example, design).

In this case, static site generators come to the rescue. Such generators basically convert (or compile) a bunch of different source files into one site. This means that content can be stored separately from the layout code, and site content, such as images, can be stored in another place altogether. There are many static site generators, maybe even hundreds. Therefore, here is a list of the top 10 static site generators and their overview.

1. Jekyll

In a nutshell: King of static file generators. Jekyll is the most widely used generator, including excellent documentation, a huge community and excellent support. Even GitHub offers native Jekyll support on the GitHub Pages service. Jekyll boasts blogging support. Creating static Jekyll blogs is really easy. This requires only basic web development knowledge. It really is beautiful, because it is easy to configure even for beginners, while it has really powerful features for those who know how to use them.

Jekyll allows you to create and use various plugins, tags, and even make your own converters for any markup language that you want to use in Jekyll. The standard markup language of Jekyll, as with most other generators, is Markdown. Jekyll includes plugins for compiling Less, Stylus, generating a tag cloud, custom blog pages, and more.

Jekyll is based on Shopify's Liquid Template engine. It runs entirely on Ruby, so it’s easy to install along with interdependencies using rvm or the packer. Jekyll also includes migration options if you want to migrate something from WordPress, Blogger or any other blog site. He is without a doubt the first of the site generators in terms of the number of users. And it is under active development (the last change for its GitHub repository came out the day before the publication of this article).

To install Jekyll, simply enter this command in Ruby:
gem install jekyll

2. Pelican

Pelican is a static site generator in Python. It is distinguished by the placement of multilingual content, the selection of code (syntax), as well as the simple generation of RSS and Atom Feeds. Pelican includes a nice set of plugins that are located in the central repository of GitHub. It supports three default document formats: Markdown, reStructuredText, and Ascii Doc.

Pelican is quite unique as it is created in Python. It supports the powerful Python-based Jinja Template Engine, making it easy to create beautiful themes and templates for Pelican. In terms of support for migration, Pelican offers support for WordPress and Tumblr. Instead of the standard YAML configuration files, Pelican uses a .py file called to configure and configure.

The easiest way to install a pelican is with pip:
pip install pelican

3. Middleman

Middleman is a Ruby static site generator that focuses on simplicity in building static sites. It has powerful functions for serving static blocks, such as simple tag generation, quick commands for listing categorized articles, and pagination. Middleman does not include migration support, so if you want to make your existing blog static, Middleman is unlikely to work for you.

Middleman provides support for most modern web development tools, such as HAML, Coffeescript, Sass and others. The standard template engine is eRb, but it allows you to switch to the standard template engine of your choice. All Tilt-based template engines (full list here) work for Middleman. It initially supports 2 configuration formats - YAML and JSON. The title page of your content should also be YAML or JSON, depending on the configuration format used.

You can install Middleman using Ruby as follows:
gem install middleman

4. Metalsmith

Metalsmith prides itself on being a plugin-based static site generator. This means that all the logic of Metalsmith is implemented by plugins. Whatever function you need, just add the plugin you need. A huge number of plugins offered in Metalsmith can be used to fit any competitor (probably, except for Jekyll and Docpad). This means that Metalsmith can be used as more than just a static site generator.

In other words, "Since everything consists of plugins, a library is really just an abstraction for managing a directory of files." As a result, this makes it easy to use Metalsmith as a tool for working with a project, an e-book generator, a tool for building technical documentation, etc. (these are just a few examples demonstrated on the Metalsmith website).

Metalsmith is based on Node.js and can be installed using the node package manager using the following command:
$ npm install metalsmith

5. Harp

Harp includes built-in preprocessing for Jade, Markdown, LESS, Sass, Coffeescript, EjS and Stylus without any additional settings. It also allows you to use layouts / partial form tables with Jade and EjS, which requires a special plugin in other static site generators.

Harp is built on Node.Js and can work side-by-side with the Harp Platform, which allows you to create web pages from a folder on Dropbox. Harp can also compile pages for use on GitHub pages, as well as PhoneGap and Heroku.
To install Harp, use npm and run the following command:
sudo npm install -g harp

part 2

Also popular now: