No description
Find a file
Vincent Prouillet 637b00547a
Shortcodes (#1640)
* Next version

* Added tests for shortcode insertion

* Added TOC tests

* Added test for #1475 and #1355

* Basic internal / external links tests

* Added integration test

* Added pseudocode and started on logos

* Logos parsing for shortcodes

* Fixed string literal parsing

Moved string literal parsing to a new lexer in order to have greater
control of control characters which are parsed. This fixes the bug that
was present in the `string_from_quoted` function and also moves the
`QuoteType` to be in the `ArgValueToken`.

* Moved string literal logic to seperate module

* Added square bracket notation for variables

* Error handling rewritten

Remove the Result from the `fetch_shortcodes` function. Added proper
messages within the internal parsing.

* Reorganized and documented the shortcode submodule

* Added all logic for ShortcodeContext spans

* Added working insertion code for MD files

* Made functions generic over Markdown or HTML

* Add check for embedding bodies

* Structure of main function clear

* Added test for `new_with_transforms` function

* It runs!

* Added the code for handling p-ed html shortcodes

* Removed placeholders in markdown function

* Adjusted integration tests

* fetch_shortcodes now also returns a string

* Start of HTML insertion

* Kinda working everything

* Loading of shortcodes and builtins

* Fix tests

* Some missed fixes

* Tweaks + fmt

* Remove string literal handling

* Fix benches

* Grab shortcode def only once per site

* Fix benches

* Rewrite of parser

* Fix tests

* Add test for #1655

* Re-enable integration test

* Add test for #1601

* Add test for #1600

* Add test for #1500

* Add test for #1320

* Fix test on windows?

Co-authored-by: Gijs Burghoorn <g.burghoorn@gmail.com>
2021-11-19 20:31:42 +01:00
.github Update PULL_REQUEST_TEMPLATE.md 2019-05-07 07:18:26 -07:00
completions Make path to config.toml independent from root dir (#1023) 2020-05-23 11:55:45 +02:00
components Shortcodes (#1640) 2021-11-19 20:31:42 +01:00
docs Support custom syntax highlighting themes (#1499) 2021-09-13 21:08:48 +02:00
src Shortcodes (#1640) 2021-11-19 20:31:42 +01:00
sublime Add protobuf syntax highlighting 2021-05-10 22:09:36 +02:00
test_site Support custom syntax highlighting themes (#1499) 2021-09-13 21:08:48 +02:00
test_site_i18n Fix languages docs 2021-08-08 10:28:32 +02:00
.dockerignore add .dockerignore file to reduce intermediate docker image size and build time 2020-06-09 12:16:01 +02:00
.editorconfig Create new project 2016-12-06 14:51:33 +09:00
.gitignore Add class based syntax higlighting + line numbers (#1531) 2021-07-10 08:53:19 +02:00
.gitmodules Add protobuf syntax highlighting 2021-05-10 22:09:36 +02:00
azure-pipelines.yml cargo/manifests: allow user to use native-tls if ring is unsupported (#1587) 2021-08-18 15:32:34 +02:00
build.rs Use Rust 2018 edition (#885) 2020-02-02 17:48:43 -08:00
Cargo.lock Shortcodes (#1640) 2021-11-19 20:31:42 +01:00
Cargo.toml fix: crash on config change (#1616) 2021-09-11 09:31:34 +02:00
CHANGELOG.md Update changelog 2021-09-13 21:16:55 +02:00
CONTRIBUTING.md Merge branch 'master' into next 2021-07-18 13:53:27 +02:00
Dockerfile Use distroless instead of dockerize (#1643) 2021-10-21 19:37:12 +02:00
EXAMPLES.md Fix uggla blog git repo location 2021-07-26 19:25:43 +02: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 Update version of zola for docs + version of ubuntu for release 2021-07-19 20:12:41 +02:00
README.md Add Cloudflare Pages support to README (#1396) 2021-03-22 19:21:57 +01:00
rustfmt.toml rustfmt 2018-10-31 08:18:57 +01:00
snapcraft.yaml Prepare for 0.14.1 2021-08-24 08:50:44 +02: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
Vercel support yes no yes yes
Cloudflare Pages 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.