3e1221064b
* Add ignored_content to the Config structure. * Use the GlobSet crate to parse the glob patterns into a matcher, which is created once at program initialization. If there are no patterns in ignored_content, an empty globber is created, which excludes no files. This is consistent with the existing behaviour of Gutenberg, before this feature was added. * Bail if there are any errors in the glob patterns. * Add a call to the globber in page.rs to actually do the filtering. * Update documentation. A note on the Config structure ------------------------------ * I had to remove the PartialEq derive from the Config structure as it does not work for the GlobSet type. No harm is done, Config does not need to be PartialEq anyway, since there is no need to sort Configs. * The implementation follows the pattern of the existing config settings in that it uses an Option<...>. This would appear unnecessary, in that an empty vec could be used as the default, but it appears to be needed by the TOML parsing. A better approach would be to use a separate SerializableConfig and map to/from a Config struct. This would also allow the elimination of most, if not all, of the other Options in the Config structure, but that ought to be another PR.
87 lines
2.4 KiB
Markdown
87 lines
2.4 KiB
Markdown
+++
|
|
title = "Configuration"
|
|
weight = 4
|
|
+++
|
|
|
|
The default configuration will be enough to get Gutenberg running locally but not more than that.
|
|
It follows the philosophy of only paying for what you need: almost everything is turned off by default.
|
|
|
|
To change the config, 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)
|
|
to learn about it.
|
|
|
|
Only one variable - `base_url` - is mandatory, everything else is optional. You can find all variables
|
|
used by Gutenberg config as well as their default values below:
|
|
|
|
|
|
```toml
|
|
# Base URL of the site, the only required config argument
|
|
base_url = "mywebsite.com"
|
|
|
|
# Used in RSS by default
|
|
title = ""
|
|
description = ""
|
|
# the default language, used in RSS and coming i18n
|
|
default_language = "en"
|
|
|
|
# Theme name to use
|
|
theme = ""
|
|
|
|
# Highlight all code blocks found
|
|
highlight_code = false
|
|
|
|
# Which theme to use for the code highlighting.
|
|
# See below for list of accepted values
|
|
highlight_theme = "base16-ocean-dark"
|
|
|
|
# Whether to generate a RSS feed automatically
|
|
generate_rss = false
|
|
|
|
# The number of articles to include in the RSS feed
|
|
rss_limit = 20
|
|
|
|
# Whether to generate a tags page and individual
|
|
# tag pages for pages with tags
|
|
generate_tags_pages = false
|
|
|
|
# Whether to generate a categories page and individual
|
|
# category pages for pages with a category
|
|
generate_categories_pages = false
|
|
|
|
# Whether to compile the Sass files found in the `sass` directory
|
|
compile_sass = false
|
|
|
|
# A list of glob patterns specifying asset files to ignore when
|
|
# copying content. Defaults to none, which means all asset files
|
|
# are copied over to the public folder. Example:
|
|
# ignored_content = ["*.{graphml,xlsx}", "temp.*"]
|
|
ignored_content = []
|
|
|
|
# Optional translation object. The key if present should be a language code
|
|
[translations]
|
|
|
|
# You can put any kind of data in there and it
|
|
# will be accessible in all templates
|
|
[extra]
|
|
```
|
|
|
|
## Syntax highlighting
|
|
|
|
Gutenberg currently has the following highlight themes available:
|
|
|
|
- base16-ocean-dark
|
|
- base16-ocean-light
|
|
- gruvbox-dark
|
|
- gruvbox-light
|
|
- inspired-github
|
|
- kronuz
|
|
- material-dark
|
|
- material-light
|
|
- monokai
|
|
- solarized-dark
|
|
- solarized-light
|
|
- 1337
|
|
|
|
Gutenberg uses the Sublime Text themes, making it very easy to add more.
|
|
If you want a theme not on that list, please open an issue or a pull request on the [Gutenberg repo](https://github.com/Keats/gutenberg).
|