blob: 6edbde53393a760d48090f5b5d65b35681734698 [file] [log] [blame] [view]
# mdbook-spec
[`mdbook-spec`] is an mdBook preprocessor that adds features to the Reference. It provides:
- Parsing and generation of [grammar diagrams].
- [Automatic grammar production links].
- Generation of the [grammar summary appendix].
- [Automatic standard library links].
- Handling of [rule names].
- Validation of the names.
- Converting rule names to links.
- [Automatic rule link references].
- Generation of [links to rule tests].
- Generation of the [test summary].
- Support for [admonitions].
## Environment variables
There are a few environment variables that `mdbook-spec` uses, described in the [building chapter]:
- [`SPEC_RELATIVE`] --- Can be set to link external books to the live site.
- [`SPEC_DENY_WARNINGS`] --- Whether warnings should be treated as errors.
- [`SPEC_RUST_ROOT`] --- The path to a checkout of the [`rust-lang/rust`] GitHub repository. This is used for test linking.
[`mdbook-spec`]: https://github.com/rust-lang/reference/tree/HEAD/tools/mdbook-spec
[`rust-lang/rust`]: https://github.com/rust-lang/rust
[`SPEC_DENY_WARNINGS`]: building.md#SPEC_DENY_WARNINGS
[`SPEC_RELATIVE`]: building.md#SPEC_RELATIVE
[`SPEC_RUST_ROOT`]: building.md#SPEC_RUST_ROOT
[admonitions]: ../formatting/admonitions.md
[Automatic grammar production links]: ../grammar.md#automatic-linking
[Automatic rule link references]: ../links.md#rule-links
[Automatic standard library links]: ../links.md#standard-library-links
[Building chapter]: building.md
[grammar diagrams]: ../grammar.md
[grammar summary appendix]: https://doc.rust-lang.org/nightly/reference/grammar.html
[links to rule tests]: ../rules/test-annotations.md
[rule names]: ../rules/index.md
[test summary]: https://doc.rust-lang.org/nightly/reference/test-summary.html