Struct mdbook::config::Config [−][src]
pub struct Config {
pub book: BookConfig,
pub build: BuildConfig,
pub rust: RustConfig,
// some fields omitted
}
Expand description
The overall configuration object for MDBook, essentially an in-memory
representation of book.toml
.
Fields
book: BookConfig
Metadata about the book.
build: BuildConfig
Information about the build environment.
rust: RustConfig
Information about Rust language support.
Implementations
Load the configuration file from disk.
Updates the Config
from the available environment variables.
Variables starting with MDBOOK_
are used for configuration. The key is
created by removing the MDBOOK_
prefix and turning the resulting
string into kebab-case
. Double underscores (__
) separate nested
keys, while a single underscore (_
) is replaced with a dash (-
).
For example:
MDBOOK_foo
->foo
MDBOOK_FOO
->foo
MDBOOK_FOO__BAR
->foo.bar
MDBOOK_FOO_BAR
->foo-bar
MDBOOK_FOO_bar__baz
->foo-bar.baz
So by setting the MDBOOK_BOOK__TITLE
environment variable you can
override the book’s title without needing to touch your book.toml
.
Note: To facilitate setting more complex config items, the value of an environment variable is first parsed as JSON, falling back to a string if the parse fails.
This means, if you so desired, you could override all book metadata when building the book with something like
$ export MDBOOK_BOOK='{"title": "My Awesome Book", "authors": ["Michael-F-Bryan"]}' $ mdbook build
The latter case may be useful in situations where mdbook
is invoked
from a script or CI, where it sometimes isn’t possible to update the
book.toml
before building.
Fetch an arbitrary item from the Config
as a toml::Value
.
You can use dotted indices to access nested items (e.g.
output.html.playground
will fetch the “playground” out of the html output
table).
Fetch a value from the Config
so you can mutate it.
👎 Deprecated: use get_deserialized_opt instead
use get_deserialized_opt instead
Deprecated, use get_deserialized_opt instead.
pub fn get_deserialized_opt<'de, T: Deserialize<'de>, S: AsRef<str>>(
&self,
name: S
) -> Result<Option<T>>
pub fn get_deserialized_opt<'de, T: Deserialize<'de>, S: AsRef<str>>(
&self,
name: S
) -> Result<Option<T>>
Convenience function to fetch a value from the config and deserialize it into some arbitrary type.
Set a config key, clobbering any existing values along the way.
The only way this can fail is if we can’t serialize value
into a
toml::Value
.
Get the table associated with a particular renderer.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Config
impl UnwindSafe for Config
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self