General Configuration #
You can configure the parameters for your book in the book.toml file.
Here is an example of what a book.toml file might look like:
[book]
title = "Example book"
authors = ["John Doe"]
description = "The example book covers examples."
[rust]
edition = "2018"
[build]
build-dir = "my-example-book"
create-missing = false
[preprocessor.index]
[preprocessor.links]
[output.html]
additional-css = ["custom.css"]
[output.html.search]
limit-results = 15
Supported configuration options #
It is important to note that any relative path specified in the configuration will always be taken relative from the root of the book where the configuration file is located.
General metadata #
This is general information about your book.
- title: The title of the book
- authors: The author(s) of the book
- description: A description for the book, which is added as meta
information in the html
<head>of each page - src: By default, the source directory is found in the directory named
srcdirectly under the root folder. But this is configurable with thesrckey in the configuration file. - language: The main language of the book, which is used as a language attribute
<html lang="en">for example. This is also used to derive the direction of text (RTL, LTR) within the book. - text-direction: The direction of text in the book: Left-to-right (LTR) or Right-to-left (RTL). Possible values:
ltr,rtl. When not specified, the text direction is derived from the book’slanguageattribute.
book.toml
[book]
title = "Example book"
authors = ["John Doe", "Jane Doe"]
description = "The example book covers examples."
src = "my-src" # the source files will be found in `root/my-src` instead of `root/src`
language = "en"
text-direction = "ltr"
Rust options #
Options for the Rust language, relevant to running tests and playground integration.
[rust]
edition = "2015" # the default edition for code blocks
-
edition: Rust edition to use by default for the code snippets. Default is
"2015". Individual code blocks can be controlled with theedition2015,edition2018oredition2021annotations, such as:```rust,edition2015 // This only works in 2015. let try = true; ```
Build options #
This controls the build process of your book.
[build]
build-dir = "book" # the directory where the output is placed
create-missing = true # whether or not to create missing pages
use-default-preprocessors = true # use the default preprocessors
extra-watch-dirs = [] # directories to watch for triggering builds
-
build-dir: The directory to put the rendered book in. By default this is
book/in the book’s root directory. This can overridden with the--dest-dirCLI option. -
create-missing: By default, any missing files specified in
SUMMARY.mdwill be created when the book is built (i.e.create-missing = true). If this isfalsethen the build process will instead exit with an error if any files do not exist. -
use-default-preprocessors: Disable the default preprocessors (of
links&index) by setting this option tofalse.If you have the same, and/or other preprocessors declared via their table of configuration, they will run instead.
- For clarity, with no preprocessor configuration, the default
linksandindexwill run. - Setting
use-default-preprocessors = falsewill disable these default preprocessors from running. - Adding
[preprocessor.links], for example, will ensure, regardless ofuse-default-preprocessorsthatlinksit will run.
- For clarity, with no preprocessor configuration, the default
-
extra-watch-dirs: A list of paths to directories that will be watched in the
watchandservecommands. Changes to files under these directories will trigger rebuilds. Useful if your book depends on files outside itssrcdirectory.