Go to file
Sam Ford 11f7a6d114 Mock HTTP requests in tests (#898)
Certain tests involving HTTP requests were sometimes hanging
indefinitely, so this uses Mockito for HTTP mocking. This seemingly
resolves the issue and makes these tests more reliable.

The existing can_fail_404_links test has been renamed to
can_fail_unresolved_links, to represent what actually occurs in the
test. The can_fail_404_links test now deals with a proper 404
response.

Just to be clear, the check_site test in the site component will
still create outgoing HTTP requests (due to the URLs used in the
test_site), so this commit only uses HTTP mocking where possible.
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 Mock HTTP requests in tests (#898) 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.