* maybe_slugify() only does simple sanitation if config.slugify is false * slugify is disabled by default, turn on for backwards-compatibility * First docs changes for optional slugification * Remove # from slugs but not & * Add/fix tests for utf8 slugs * Fix test sites for i18n slugs * fix templates tests for i18n slugs * Rename slugify setting to slugify_paths * Default slugify_paths * Update documentation for slugify_paths * quasi_slugify removes ?, /, # and newlines * Remove forbidden NTFS chars in quasi_slugify() * Slugification forbidden chars can be configured * Remove trailing dot/space in quasi_slugify * Fix NTFS path sanitation * Revert configurable slugification charset * Remove \r for windows newlines and \t tabulations in quasi_slugify() * Update docs for output paths * Replace slugify with slugify_paths * Fix test * Default to not slugifying * Move slugs utils to utils crate * Use slugify_paths for anchors as well
162 lines
6.4 KiB
Markdown
162 lines
6.4 KiB
Markdown
+++
|
|
title = "Configuration"
|
|
weight = 4
|
|
+++
|
|
|
|
The default configuration is sufficient to get Zola running locally but not more than that.
|
|
It follows the philosophy of paying for only what you need; almost everything is turned off by default.
|
|
|
|
To change the configuration, edit the `config.toml` file.
|
|
If you are not familiar with TOML, have a look at [the TOML spec](https://github.com/toml-lang/toml).
|
|
|
|
Only the `base_url` variable is mandatory; everything else is optional. All configuration variables
|
|
used by Zola as well as their default values are listed below:
|
|
|
|
|
|
```toml
|
|
# The base URL of the site; the only required configuration variable.
|
|
base_url = "mywebsite.com"
|
|
|
|
# The site title and description; used in RSS by default.
|
|
title = ""
|
|
description = ""
|
|
|
|
# The default language; used in RSS.
|
|
default_language = "en"
|
|
|
|
# The site theme to use.
|
|
theme = ""
|
|
|
|
# Slugify paths for compatibility with ASCII-only URLs produced by Zola < 0.9
|
|
# Enabling this setting removes non-English (UTF8) characters in URLs
|
|
slugify_paths = false
|
|
|
|
# When set to "true", all code blocks are highlighted.
|
|
highlight_code = false
|
|
|
|
# The theme to use for code highlighting.
|
|
# See below for list of allowed values.
|
|
highlight_theme = "base16-ocean-dark"
|
|
|
|
# When set to "true", an RSS feed is automatically generated.
|
|
generate_rss = false
|
|
|
|
# The number of articles to include in the RSS feed. All items are included if
|
|
# this limit is not set (the default).
|
|
# rss_limit = 20
|
|
|
|
# When set to "true", files in the `static` directory are hard-linked. Useful for large
|
|
# static files. Note that for this to work, both `static` and the
|
|
# output directory need to be on the same filesystem. Note that the theme's `static`
|
|
# files are always copied, regardles of this setting.
|
|
# hard_link_static = false
|
|
|
|
# The taxonomies to be rendered for the site and their configuration.
|
|
# Example:
|
|
# taxonomies = [
|
|
# {name = "tags", rss = true}, # each tag will have its own RSS feed
|
|
# {name = "tags", lang = "fr"}, # you can have taxonomies with the same name in multiple languages
|
|
# {name = "categories", paginate_by = 5}, # 5 items per page for a term
|
|
# {name = "authors"}, # Basic definition: no RSS or pagination
|
|
# ]
|
|
#
|
|
taxonomies = []
|
|
|
|
# The additional languages for the site.
|
|
# Example:
|
|
# languages = [
|
|
# {code = "fr", rss = true}, # there will be a RSS feed for French content
|
|
# {code = "fr", search = true}, # there will be a Search Index for French content
|
|
# {code = "it"}, # there won't be a RSS feed for Italian content
|
|
# ]
|
|
#
|
|
languages = []
|
|
|
|
# When set to "true", the Sass files in the `sass` directory are compiled.
|
|
compile_sass = false
|
|
|
|
# When set to "true", a search index is built from the pages and section
|
|
# content for `default_language`.
|
|
build_search_index = false
|
|
|
|
# A list of glob patterns specifying asset files to ignore when the content
|
|
# directory is processed. Defaults to none, which means that all asset files are
|
|
# copied over to the `public` directory.
|
|
# Example:
|
|
# ignored_content = ["*.{graphml,xlsx}", "temp.*"]
|
|
ignored_content = []
|
|
|
|
# A list of directories used to search for additional `.sublime-syntax` files.
|
|
extra_syntaxes = []
|
|
|
|
<<<<<<< HEAD
|
|
# Optional translation object. The key if present should be a language code.
|
|
# Example:
|
|
# default_language = "fr"
|
|
#
|
|
# [translations]
|
|
# [translations.fr]
|
|
# title = "Un titre"
|
|
#
|
|
# [translations.en]
|
|
# title = "A title"
|
|
|
|
|
|
# Configuration of the link checker.
|
|
[link_checker]
|
|
# Skip link checking for external URLs that start with these prefixes
|
|
skip_prefixes = [
|
|
"http://[2001:db8::]/",
|
|
]
|
|
|
|
# Skip anchor checking for external URLs that start with these prefixes
|
|
skip_anchor_prefixes = [
|
|
"https://caniuse.com/",
|
|
]
|
|
|
|
[extra]
|
|
```
|
|
|
|
## Syntax highlighting
|
|
|
|
Zola currently has the following highlight themes available:
|
|
|
|
- [1337](https://tmtheme-editor.herokuapp.com/#!/editor/theme/1337)
|
|
- [agola-dark](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Agola%20Dark)
|
|
- [ascetic-white](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Ascetic%20White)
|
|
- [axar](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Axar)
|
|
- [base16-ocean-dark](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Base16%20Ocean%20Dark)
|
|
- [base16-ocean-light](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Base16%20Ocean%20Light)
|
|
- [bbedit](https://tmtheme-editor.herokuapp.com/#!/editor/theme/BBEdit)
|
|
- [boron](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Boron)
|
|
- [charcoal](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Charcoal)
|
|
- [cheerfully-light](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Cheerfully%20Light)
|
|
- [classic-modified](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Classic%20Modified)
|
|
- [demain](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Demain)
|
|
- [dimmed-fluid](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Dimmed%20Fluid)
|
|
- [dracula](https://draculatheme.com/)
|
|
- [gray-matter-dark](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Gray%20Matter%20Dark)
|
|
- [gruvbox-dark](https://github.com/morhetz/gruvbox)
|
|
- [gruvbox-light](https://github.com/morhetz/gruvbox)
|
|
- [idle](https://tmtheme-editor.herokuapp.com/#!/editor/theme/IDLE)
|
|
- [inspired-github](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Inspiredgithub)
|
|
- [ir-white](https://tmtheme-editor.herokuapp.com/#!/editor/theme/IR_White)
|
|
- [kronuz](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Kronuz)
|
|
- [material-dark](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Material%20Dark)
|
|
- [material-light](https://github.com/morhetz/gruvbox)
|
|
- [monokai](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Monokai)
|
|
- [solarized-dark](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Solarized%20(dark))
|
|
- [solarized-light](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Solarized%20(light))
|
|
- [subway-madrid](https://github.com/idleberg/Subway.tmTheme)
|
|
- [subway-moscow](https://github.com/idleberg/Subway.tmTheme)
|
|
- [visual-studio-dark](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Visual%20Studio%20Dark)
|
|
- [ayu-light](https://github.com/dempfi/ayu)
|
|
- [ayu-dark](https://github.com/dempfi/ayu)
|
|
- [ayu-mirage](https://github.com/dempfi/ayu)
|
|
- [Tomorrow](https://tmtheme-editor.herokuapp.com/#!/editor/theme/Tomorrow)
|
|
- [one-dark](https://github.com/andresmichel/one-dark-theme)
|
|
- [zenburn](https://github.com/colinta/zenburn)
|
|
|
|
Zola uses the Sublime Text themes, making it very easy to add more.
|
|
If you want a theme not listed above, please open an issue or a pull request on the [Zola repo](https://github.com/getzola/zola).
|