默认配置足以让 Zola 在本地运行,但仅此而已。它遵循只为你需要的东西付费的理念,默认情况下几乎所有东西都是关闭的。
要更改配置,请编辑config.toml
文件。如果您不熟悉 TOML,请查看TOML 规范。
⚠️ 如果你给你的添加key config.toml
,一定要注意它属于哪个TOML section。TOML 部分以标题开始,例如[search]
,并在下一个部分或 EOF 结束。
以下是当前config.toml
部分:
只有base_url
变量是必需的。其他一切都是可选的。下面列出了 Zola 使用的所有配置变量及其默认值:
# The base URL of the site; the only required configuration variable.
base_url = "mywebsite.com"
# The site title and description; used in feeds by default.
title = ""
description = ""
# The default language; used in feeds.
default_language = "en"
# The site theme to use.
theme = ""
# For overriding the default output directory `public`, set it to another value (e.g.: "docs")
output_dir = "public"
# Whether dotfiles at the root level of the output directory are preserved when (re)building the site.
# Enabling this also prevents the deletion of the output folder itself on rebuilds.
preserve_dotfiles_in_output = false
# When set to "true", the Sass files in the `sass` directory in the site root are compiled.
# Sass files in theme directories are always compiled.
compile_sass = false
# When set to "true", the generated HTML files are minified.
minify_html = 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.*", "**/build_folder"]
ignored_content = []
# When set to "true", a feed is automatically generated.
generate_feed = false
# The filename to use for the feed. Used as the template filename, too.
# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
feed_filename = "atom.xml"
# The number of articles to include in the feed. All items are included if
# this limit is not set (the default).
# feed_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, regardless of this setting.
hard_link_static = false
# The taxonomies to be rendered for the site and their configuration of the default languages
# Example:
# taxonomies = [
# {name = "tags", feed = true}, # each tag will have its own feed
# {name = "tags"}, # 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 feed or pagination
# ]
#
taxonomies = []
# When set to "true", a search index is built from the pages and section
# content for `default_language`.
build_search_index = false
# Configuration of the Markdown rendering
[markdown]
# When set to "true", all code blocks are highlighted.
highlight_code = false
# A list of directories used to search for additional `.sublime-syntax` and `.tmTheme` files.
extra_syntaxes_and_themes = []
# The theme to use for code highlighting.
# See below for list of allowed values.
highlight_theme = "base16-ocean-dark"
# When set to "true", emoji aliases translated to their corresponding
# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄)
render_emoji = false
# Whether external links are to be opened in a new tab
# If this is true, a `rel="noopener"` will always automatically be added for security reasons
external_links_target_blank = false
# Whether to set rel="nofollow" for all external links
external_links_no_follow = false
# Whether to set rel="noreferrer" for all external links
external_links_no_referrer = false
# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form)
# For example, `...` into `…`, `"quote"` into `“curly”` etc
smart_punctuation = false
# 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/",
]
# Treat internal link problems as either "error" or "warn", default is "error"
internal_level = "error"
# Treat external link problems as either "error" or "warn", default is "error"
external_level = "error"
# Various slugification strategies, see below for details
# Defaults to everything being a slug
[slugify]
paths = "on"
taxonomies = "on"
anchors = "on"
# Whether to remove date prefixes for page path slugs.
# For example, content/posts/2016-10-08_a-post-with-dates.md => posts/a-post-with-dates
# When true, content/posts/2016-10-08_a-post-with-dates.md => posts/2016-10-08-a-post-with-dates
paths_keep_dates = false
[search]
# Whether to include the title of the page/section in the index
include_title = true
# Whether to include the description of the page/section in the index
include_description = false
# Whether to include the path of the page/section in the index
include_path = false
# Whether to include the rendered content of the page/section in the index
include_content = true
# At which character to truncate the content to. Useful if you have a lot of pages and the index would
# become too big to load on the site. Defaults to not being set.
# truncate_content_length = 100
# Wether to produce the search index as a javascript file or as a JSON file
# Accepted value "elasticlunr_javascript" or "elasticlunr_json"
index_format = "elasticlunr_javascript"
# Optional translation object for the default language
# Example:
# default_language = "fr"
#
# [translations]
# title = "Un titre"
#
[translations]
# Additional languages definition
# You can define language specific config values and translations:
# title, description, generate_feed, feed_filename, taxonomies, build_search_index
# as well as its own search configuration and translations (see above for details on those)
[languages]
# For example
# [languages.fr]
# title = "Mon blog"
# generate_feed = true
# taxonomies = [
# {name = "auteurs"},
# {name = "tags"},
# ]
# build_search_index = false
# You can put any kind of data here. The data
# will be accessible in all templates
# Example:
# [extra]
# author = "Famous author"
#
# author value will be available using {{ config.extra.author }} in templates
#
[extra]
Zola 目前有以下可用的亮点主题:
Zola 使用 Sublime Text 主题,添加更多主题变得非常容易。如果您想要上面未列出的主题,请在Zola 存储库上打开一个问题或一个拉取请求。
或者,您可以使用extra_syntaxes_and_themes
配置选项从 .tmTheme 文件加载您自己的自定义主题。有关详细信息,请参阅语法突出显示。
默认情况下,Zola 会将每条路径、分类法和锚点转换为 slug,一种没有特殊字符的 ASCII 表示形式。但是,如果您想在 URL 中使用 UTF-8 字符,您可以为每种项目更改该策略。有3种策略:
on
:默认的,一切都变成了一个鼻涕虫safe
<>:"/\|?*
: 在 Windows ( ) 或 Unix ( )上的文件中不能存在的字符/
被删除,其他一切都保留off
: 没有任何改变,您的站点可能不会在某些操作系统上构建和/或破坏各种 URL 解析器由于锚点没有文件名问题,因此在它们的情况下safe
和off
策略是相同的:唯一的变化是空间被替换为_
因为空间在锚点中无效。
请注意,如果您使用的不是默认策略,则必须手动转义空格和 Markdown 标记才能链接到您的页面。例如,指向名为 will 的文件的内部链接some space.md
需要像some%20space.md
在 Markdown 文件中一样编写。