Static Website Generators

    This note is about several static web page generators. The list of various engines is at the very end.

    Jekyll appeared when Tom Preston-Werner , co-founder of GitHub, tired of blogging platforms like Wordpress or Blogger, asked : "What happens if I write a blog in the way I develop software products?" Posts in it are created in files in Textile format and passed through the Liquid template engine. Both that, and another are very popular among ruby.

    By the way, Jekyll turned out to be for the Donetsk coffee-and-code site . Everyone can write news, like files in a repository. Make commit on GitHub. Repositorywith files checked cron'om every half hour. And, if there are updates, the site is updated. Thus, a kind of caching for 30 minutes is obtained. Hosting is kindly provided by Pasha Reznikov . You can read about the details of working 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. I wanted the pages to be written in reStructuredText, the entries sorted by the last edited, and a number of small whims. A discussion on StackOverflow can serve as a good starting point for those who face such challenges.

    Jekyll's Python equivalent is Hyde , which grows from AYM CMS, seemed like a "Wasserman vest" - too many things, although the ancestor is very lightweight.

    Got the attention of Poole . Markdown is used there, and in templates the author made it possible to embed pieces of code in Python. For specifically such purposes, such a mix of code and design seemed appropriate. I liked the fact that initially the entire engine is a single file, which then creates the original templates.

    In the end, started writing StaPy- your bike based on Poole. There, also, all files with text for pages are loaded into dict-like objects, and then the pages and the header are generated on them. Nevertheless, I decided not to interfere with the code and design, but I refused the installation paradigm - the script is stored along with all the files in the directory and is filed for various applications. Django templates are used as templates. The code for the link is laid out only for illustration - until I assign it even a minor version.

    After all the observations on various engines, it seems quite logical to me now, if we are faced with the task of generating static websites, choose your favorite language (Python, Ruby, PHP ...), the most familiar template engine (Django, Liquid, Smarty ...) , the most familiar markup language (reStructureText, Textile, Markdown ...) and sketch your generator based on the available ones. For team purposes, average preferences, and also take into account what is most common and best documented.

    List of engines


    Python


    AYM CMS is a
    rather lightweight engine with Django templates
    Hyde (old)
    analogue of Jekyll, Django templates, a lot of things are mixed with
    Hyde (new)
    without Django, active development of
    Poole
    Markdown + templates supporting code insertion
    StaPy
    reStructureText + Django templates
    Cyrax
    On Jinja2
    Pelican templates Pelican
    Jelja2 reST, Markdown - description in Russian
    Blogofile
    Mako templates, different markup languages

    pyblosxom.bluesock.org/ - very ancient by the standards of the Internet, since 2004
    nikola.ralsina.com.ar/ - developed by
    posativ.org/acrylamid/ - simple


    Ruby


    Jekyll is a
    very popular engine among those who use GitHub.
    Gollum-site
    Generates a static site from a wiki in Gollum format, which are used by GitHub (git + Markdown, Textile, reST ...).
    Octopress
    Add-on for Jekyll with a number of plugins and a responsive template.

    Php


    Staceyapp

    Node.js


    github.com/sapegin/sweet

    Miscellaneous



    bitbucket.org/jek/blatter/
    github.com/dz/chisel
    markdoc.org/
    nanoc.stoneship.org/
    inky.github.com/pilcrow/
    sphinx.pocoo.org/
    ivy.fr/tahchee/

    Complete the list in the comments.

    Also popular now: