Go to file
Sam Ford 6b5768fd76 Treat 304 as valid, add mock tests, fix mock issue (#900)
* Treat 304 (Not Modified) requests as valid.

* Add tests for 301-to-200 links, 301-to-404 links, and 500 links.
This helps to test redirections and the previously-added
response.status() checking for non-success status codes in check_url().

* Make names for HTTP mock paths unique, to avoid weird behavior. It
seems like mocks with the same path can potentially bleed between
tests, so you may end up with an unexpected response which causes the
test to sometimes pass and sometimes fail.

* Fix Clippy warnings about String::from(format!()).
2020-02-02 17:48:43 -08: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 Treat 304 as valid, add mock tests, fix mock issue (#900) 2020-02-02 17:48:43 -08:00
docs Optionally do not slugify paths (#875) 2020-02-02 17:48:43 -08:00
src Print remove_dir_all error on ctrl-c 2020-02-02 17:48:43 -08:00
sublime_syntaxes Build syntax dumps 2019-05-14 08:52:12 -07:00
sublime_themes Add zenburn theme 2020-02-02 17:44:38 -08:00
test_site Optionally do not slugify paths (#875) 2020-02-02 17:48:43 -08:00
test_site_i18n Add path to TranslatedContent (#863) 2020-02-02 17:48:43 -08:00
.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 Point to https submodule instead of git 2018-11-15 17:12:36 +01:00
azure-pipelines.yml Bump minimum Rust version to 1.39.0 (#895) 2020-02-02 17:48:43 -08:00
build.rs Use Rust 2018 edition (#885) 2020-02-02 17:48:43 -08:00
Cargo.lock Mock HTTP requests in tests (#898) 2020-02-02 17:48:43 -08:00
Cargo.toml Use Rust 2018 edition (#885) 2020-02-02 17:48:43 -08:00
CHANGELOG.md Optionally do not slugify paths (#875) 2020-02-02 17:48:43 -08:00
CONTRIBUTING.md Adding GH specific issues/pr templates 2018-11-30 23:16:21 +01: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.