+++ title = "Taxonomies" weight = 90 +++ Zola has built-in support for taxonomies. ## Configuration A taxonomy has five variables: - `name`: a required string that will be used in the URLs, usually the plural version (i.e., tags, categories, etc.) - `paginate_by`: if this is set to a number, each term page will be paginated by this much. - `paginate_path`: if set, this path will be used by the paginated page and the page number will be appended after it. For example the default would be page/1. - `rss`: if set to `true`, an RSS feed will be generated for each term. - `lang`: only set this if you are making a multilingual site and want to indicate which language this taxonomy is for **Example 1:** (one language) ```toml taxonomies = [ name = "categories", rss = true ] ``` **Example 2:** (multilingual site) ```toml 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:** ```toml +++ 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 name is never slugified - the taxonomy entry (eg. as specific tag) is slugified when `slugify_paths` is enabled in the configuration The taxonomy pages are then available at the following paths: ```plain $BASE_URL/$NAME/ (taxonomy) $BASE_URL/$NAME/$SLUG (taxonomy entry) ```