Gutenberg 0.1.3: themes are in

Gutenberg is a powerful static site engine inspired by Hugo but simpler to use. You can build pretty much any kind of static site with it using markdown:

  • a basic blog
  • a landing site
  • a knowledge base
  • a gitbook
  • a documentation site
  • all of the above combined

You can download built binaries from the Github releases page.

What's new🔗

The highlight of this release is, as you might have guessed from the title of the post, themes.

Themes are a staple of static site engines: you can use one to get started with your site and only tweak little bits.

As a proof of concept I have ported a famous theme from Jekyll: hyde.

Since Tera, the template engine used in Gutenberg, supports multiple levels of inheritance, using a theme is almost seamless. For example, if you want to change the about part of the sidebar of Hyde, it is as easy as adding a index.html in your templates folder with the following:

{% extends "hyde/templates/index.html" %}

{% block sidebar_about %}
    Something else
    You can of course render the theme block
    first by calling {{ super() }} if wanted.
{% endblock sidebar_about %}

The architecture chosen for themes is the same as Hugo: you have a themes folder in which you download your themes (via git clone or copy/paste) and tell Gutenberg which one to load by adding a theme = "theme_name" line in your config.toml.

This is the first pass at themes so there are probably features missing or bugs laying around but it's ready to be used!

What's next🔗

The main focus now will be to get a site up and running for Gutenberg and to put it in various package managers. If someone reading this is on Mac and has some time to spare, I would love to get it on Homebrew but I don't have access to one.

Lastly, the i18n RFC is open. If you are interested in multi-lingual sites, please have a look and comment!