Recently, in the field of web development, we 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 as a whole, considering that the only thing that is transmitted to the users' devices is the HTML, CSS and Javascript files. To make certain types of sites, like blogs and documentation sites, static, just 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 the content can be stored separately from the layout code, and the content of the site, such as images, can be stored elsewhere. There are many generators of static sites, perhaps even hundreds. Therefore, here is a list of the top 10 generators of static sites and their review.
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 built-in support for Jekyll in the GitHub Pages service. Jekyll boasts blogging support. Creating static blogs on Jekyll is really easy. This requires only basic knowledge of web development. It really is beautiful, because it is easy to customize even for beginners, while it has really powerful characteristics for those who know how to use them.
Jekyll allows you to create and use different plugins, tags, and even make your own converters for any markup language that you want to use in Jekyll. The standard markup language Jekyll, as in most other generators - Markdown. Jekyll includes plugins for compiling Less, Stylus, generating a tag cloud, custom blog pages and more.
')
Jekyll is based on the Shopify Liquid Template engine. It works entirely on Ruby, so it is easy to install along with interdependencies using rvm or using a packer. Jekyll also includes migration options if you want to migrate something from WordPress, Blogger or any other blog site. He is without 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 this article was published).
To install Jekyll, just enter this command in Ruby:
gem install jekyll
Pelican is a static site generator in Python. It is distinguished by the placement of multilingual content, the separation of code (syntax), as well as the simple generation of RSS and Atom Feeds. Pelican includes a nice set of plugins that are in the central GitHub
repository . It supports three default document formats: Markdown, reStructuredText and Ascii Doc.
Pelican is quite unique because it was created in Python. It supports the powerful Python-based Jinja Template Engine, which makes it easy to create beautiful themes and templates for Pelican. In terms of migration support, Pelican offers WordPress and Tumblr support. Instead of the standard YAML configuration files, Pelican uses the .py file called pelicanconf.py for configuration and configuration.
The easiest way to install a pelican is with pip:
pip install pelican
Middleman is a static Ruby site generator that adheres to the simplicity of building static sites. It has powerful maintenance features for 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 an existing blog static, Middleman is unlikely to suit 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 at your discretion. All Tilt-based template engines (the full list is presented
here ) work on 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
Metalsmith is proud to be a generator of static sites based on plugins. This means that all Metalsmith logic is implemented by plugins. Whatever function you need, just add the plugin you need. A huge number of plug-ins offered in Metalsmith can beat any competitor (probably, except for Jekyll and Docpad). This means that Metalsmith can be used as something more than just a static site generator.
In other words, "Since everything consists of plug-ins, the library is actually just an abstraction for managing the file directory." As a result, this results in the fact that you easily use Metalsmith as a tool for working with a project, a generator of e-books, a tool for building technical documentation, etc. (these are just a few examples shown on Metalsmith website).
Metalsmith is based on Node.js, and can be installed using the node package manager using the following command:
$ npm install metalsmith
Harp includes built-in pre-processing 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 Dropbox folder. 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 2Useful Paysto solutions for Megamind readers: