This note is about several static web page generators. The list of different engines is at the very end.
Jekyll appeared when
Tom Preston-Werner , the co-founder of GitHub, tired of blogger platforms like Wordpress or Blogger,
asked himself : "What happens if I write to the blog the way I develop software?" Posts in it are created in files in the Textile format and are played through the Liquid template engine. Both are very popular among the rubists.
Jekyll turned out to be very useful for
the Donetsk coffee-and-code
site . Anyone can write news as files in the repository. Commit to github.
The repository with files is checked by cron every half hour. And, if there are updates, the site is updated. Thus, a kind of caching for 30 minutes is obtained. Hosting courtesy of
Pasha Reznikov . You can read about the details of work with posts in the
memo on the site, but in fact everything is simple there: the file is edited and git push is done.
')
For my purposes I wanted something written in Python. It would be desirable, that pages were written in reStructuredText, records were sorted by last edited, and some more small whims.
A discussion on StackOverflow can be a good starting point for those who face similar challenges.
An analogue of Jekyll in Python -
Hyde , which grows from
AYM CMS , seemed like a kind of "Wasserman vest" - too much, although the ancestor is very lightweight.
Poole caught the eye. It uses Markdown, and in the templates the author made it possible to embed pieces of code in Python. For specifically such purposes, such mixing of code and design seemed appropriate. I liked the fact that initially the whole engine was a single file, which then creates the initial templates.
In the end, he started writing
StaPy - his bike based on Poole. There, also, all text files for pages are loaded into dict-like objects, and then pages and capitalized are generated from them. Nevertheless, I decided not to interfere with the code and design, but I abandoned the paradigm of installation - the script is stored together with all the files in the directory and filed for various applications. Django templates are used as templates. The code for the link is laid out only for illustrations - until I assign it even a minor version.
After all the observations on various engines, it now seems to me very logical if the tasks of generating static websites arise, choose your favorite language (Python, Ruby, PHP ...), the most familiar template engine (Django, Liquid, Smarty ...) , the most familiar markup language (reStructureText, Textile, Markdown ...) and jot down your generator based on the available ones. For team goals, averaging preferences, and also take into account what is most common and best documented.
List of engines
Python
AYM CMSpretty lightweight engine with Django templates
Hyde (old)An analogue of Jekyll, Django templates, a lot of things are mixed
Hyde (new)no django active development
PooleMarkdown + templates that support code insertion
StapyreStructureText + Django templates
CyraxOn Jinja2 templates
PelicanJinja2, reST, Markdown -
description in RussianBlogofileMako patterns, different markup languages
pyblosxom.bluesock.org/ - very ancient by the standards of the Internet, since 2004
nikola.ralsina.com.ar/ - developed
posativ.org/acrylamid/ - simple
Ruby
Jekyllvery popular engine among those who use github
Gollum siteGenerates a static wiki site in Gollum format that is used by GitHub (git + Markdown, Textile, reST ...).
OctopressAdd-on Jekyll with a number of plugins and a responsive template.
Php
StaceyappNode.js
github.com/sapegin/sweet
miscellanea
bitbucket.org/jek/blatter/
github.com/dz/chisel
markdoc.org/
nanoc.stoneship.org/
inky.github.com/pilcrow/
sphinx.pocoo.org/
ivy.fr/tahchee/
Add to the list in the comments.