Go to file
Hannu Hartikainen 36ec33f042
Change get_url(cachebust=true) to use a hash (#1032)
Cache-busting was previously done with a compile-time timestamp. Change
to the SHA-256 hash of the file to avoid refreshing unchanged files.

The implementation could be used to add a new global fn (say,
get_file_hash) for subresource integrity use, but that's for another
commit.

Fixes #519.

Co-authored-by: Vincent Prouillet <balthek@gmail.com>
2020-05-23 11:46:50 +02:00
.github Update PULL_REQUEST_TEMPLATE.md 2019-05-07 07:18:26 -07:00
completions Update completions 2019-08-25 19:15:12 +02:00
components Change get_url(cachebust=true) to use a hash (#1032) 2020-05-23 11:46:50 +02:00
docs Change get_url(cachebust=true) to use a hash (#1032) 2020-05-23 11:46:50 +02:00
src Update image to 0.23 2020-02-10 20:48:52 +01:00
sublime Update syntect, using rust-onig with bindgen temporarily 2020-05-12 20:07:02 +02:00
test_site Support and default to generating Atom feeds 2020-04-14 17:27:08 +05:30
test_site_i18n Support and default to generating Atom feeds 2020-04-14 17:27:08 +05:30
.editorconfig Create new project 2016-12-06 14:51:33 +09:00
.gitignore Optionally do not slugify paths (#875) 2020-02-02 17:48:43 -08:00
.gitmodules Update syntaxes and syntect 2020-04-29 22:35:28 +02:00
azure-pipelines.yml Update pinned version in CI 2020-04-21 18:29:41 +02:00
build.rs Use Rust 2018 edition (#885) 2020-02-02 17:48:43 -08:00
Cargo.lock Change get_url(cachebust=true) to use a hash (#1032) 2020-05-23 11:46:50 +02:00
Cargo.toml 0.10.2 2020-03-25 15:19:17 +01:00
CHANGELOG.md Some tweaks 2020-04-21 19:28:58 +02:00
CONTRIBUTING.md Update syntaxes and syntect 2020-04-29 22:35:28 +02:00
Dockerfile Update dockerfile to remove hardcoded version number (#939) 2020-02-02 17:42:43 -08:00
EXAMPLES.md fixes #844 duplicate entries in doc (#845) 2020-02-02 17:47:01 -08:00
is-ehh.svg improve README comparison svgs 2019-04-09 14:36:55 -04:00
is-no.svg improve README comparison svgs 2019-04-09 14:36:55 -04:00
is-yes.svg improve README comparison svgs 2019-04-09 14:36:55 -04:00
LICENSE USe date range for license 2018-01-16 13:39:56 +01:00
netlify.toml Use zola 0.8 for the docs 2019-06-22 13:15:13 +02:00
README.md Add ZEIT Now support 2019-09-30 11:11:25 -04:00
rustfmt.toml rustfmt 2018-10-31 08:18:57 +01:00
snapcraft.yaml Update changelog 2020-02-02 17:45:16 -08:00

zola (né Gutenberg)

Build Status

A fast static site generator in a single binary with everything built-in.

Documentation is available on its site or in the docs/content folder of the repository and the community can use its forum.

Comparisons with other static site generators

Zola Cobalt Hugo Pelican
Single binary yes yes yes no
Language Rust Rust Go Python
Syntax highlighting yes yes yes yes
Sass compilation yes yes yes yes
Assets co-location yes yes yes yes
Multilingual site ehh no yes yes
Image processing yes no yes yes
Sane & powerful template engine yes yes ehh yes
Themes yes no yes yes
Shortcodes yes no yes yes
Internal links yes no yes yes
Link checker yes no no yes
Table of contents yes no yes yes
Automatic header anchors yes no yes yes
Aliases yes no yes yes
Pagination yes no yes yes
Custom taxonomies yes no yes no
Search yes no no yes
Data files yes yes yes no
LiveReload yes no yes yes
Netlify support yes no yes no
ZEIT Now support yes no yes yes
Breadcrumbs yes no no yes
Custom output formats no no yes no

Supported content formats

  • Zola: markdown
  • Cobalt: markdown
  • Hugo: markdown, asciidoc, org-mode
  • Pelican: reStructuredText, markdown, asciidoc, org-mode, whatever-you-want

ehh explanations

Hugo gets ehh for the template engine because while it is probably the most powerful template engine in the list (after Jinja2) it personally drives me insane, to the point of writing my own template engine and static site generator. Yes, this is a bit biased.

Zola gets ehh for multi-language support as it only has a basic support and does not (yet) offer things like i18n in templates.

Pelican notes

Many features of Pelican come from plugins, which might be tricky to use because of a version mismatch or inadequate documentation. Netlify supports Python and Pipenv but you still need to install your dependencies manually.