Zola has built-in support for taxonomies.

Configuration

A taxonomy has five variables:

Example 1: (one language)

taxonomies = [ name = "categories", rss = true ]

Example 2: (multilingual site)

taxonomies = [
    {name = "tags", lang = "fr"},
    {name = "tags", lang = "eo"},
    {name = "tags", lang = "en"},
]

Using taxonomies

Once the configuration is done, you can then set taxonomies in your content and Zola will pick them up:

Example:

+++
title = "Writing a static-site generator in Rust"
date = 2019-08-15
[taxonomies]
tags = ["rust", "web"]
categories = ["programming"]
+++

Output paths

In a similar manner to how section and pages calculate their output path:

The taxonomy pages are then available at the following paths:

$BASE_URL/$NAME/ (taxonomy)
$BASE_URL/$NAME/$SLUG (taxonomy entry)