• Static Website Generators Reviewed : Jekyll, Middleman, Roots, Hugo

    In this article, we’ll look at four popular static website generators — Jekyll, Middleman, Roots, Hugo — in far more detail. This should give you a great starting point for finding the right one for your project.

    http://www.smashingmagazine.com/2015/11/static-website-generators-jekyll-middleman-roots-hugo-review

    Peut-être des #idées_à_piker (les ancien⋅ne⋅s de contrib.spip.net comprendront le tag) pour le serpent de mer de @fil pour #spip :)

    • Jekyll was the first static generator to introduce the concept of “front matter,” a way of annotating templates or Markdown files with meta data. Front matter is a bit of YAML at the top of any text file, indicated by three leading and following hyphens (---):

      title: A blog post
      date: 2014-09-01
      tags: ["meta", "yaml"]
      ---

      # Blogpost with meta data

      This is a short example of a Markdown document with meta data as front matter.

      ...

      Since version 2.0, Jekyll supports collections. A collection is a folder with Markdown documents.

      ...

      There is the Roots Dynamic Content extension, which gives you something similar to Jekyll’s collections with front matter and a Jade body. There’s also my own Roots Posts extension, which adds collections in Markdown plus front matter, just like Jekyll.

      The Records and YAML extensions add support for data files that can be pulled into any template. The former will even fetch data from any URL and make it available from the templates.

      A similar extension is Roots Contentful, which Carrot blogged about in its article “Building a Static CMS.” The extension pulls in content from Contentful’s API and lets you filter and iterate over it.

      http://carrot.is/coding/static_cms

      ...

      Hugo has the most powerful content model out of the box of any of the static website generators.

      Content is grouped into sections with entries. Sections can be nested as a tree:

      └── content
        ├── post
        |  ├── firstpost.md   // <- http://site/post/firstpost/
        |  ├── happy
        |  |   └── ness.md  // <- http://site/post/happy/ness/
        |  └── secondpost.md  // <- http://site/post/secondpost/
        └── quote
           ├── first.md       // <- http://site/quote/first/
           └── second.md      // <- http://site/quote/second/