[![Build Status](https://github.com/avitex/mdbook-tera/workflows/build/badge.svg)](https://github.com/avitex/mdbook-tera/actions?query=workflow:build) [![Crate](https://img.shields.io/crates/v/mdbook-tera.svg)](https://crates.io/crates/mdbook-tera) [![Docs](https://docs.rs/mdbook-tera/badge.svg)](https://docs.rs/mdbook-tera) # mdbook-tera **[Tera](https://github.com/Keats/tera) preprocessor for [mdBook](https://github.com/rust-lang/mdBook)** API documentation hosted on [docs.rs](https://docs.rs/mdbook-tera). ```text $ mdbook-tera --help mdbook-tera 0.5.1 A mdBook preprocessor that renders Tera USAGE: mdbook-tera [OPTIONS] [SUBCOMMAND] OPTIONS: -h, --help Print help information --json Sets context from JSON file --template-include Include tera templates matching a glob expression [default: **/*.tera] --template-root Root directory to include templates from [default: ./src] --toml Sets context from TOML file -V, --version Print version information SUBCOMMANDS: help Print this message or the help of the given subcommand(s) supports Check whether a renderer is supported by this preprocessor ``` ## Usage First install the tera preprocessor. ```text cargo install mdbook-tera ``` Then in your `book.toml` file, add the tera preprocessor as below. ### Default Configuration ```toml # Default options, load a TOML context file from ./src/context.toml [preprocessor.tera] ``` ### JSON Configuration ```toml [preprocessor.tera] command = "mdbook-tera --json ./src/context.json" ``` ### Usage in Markdown files See `example-book` for a basic usage. Simply define your values in the `context.toml` file, and use them in tera statements. You can access the book context with the key `ctx`. ```md # My Heading {{ my_value }} ```