# `mdbook-typst` `mdbook-typst` is a [backend](https://rust-lang.github.io/mdBook/for_developers/backends.html) for [mdBook]. The backend converts the book to [Typst] markup and can output any format Typst can (currently `pdf`, `png`, `svg`, and raw Typst markup). ## Usage First, install the Typst cli: ```sh cargo install --git https://github.com/typst/typst ``` Next, install `mdbook-typst` (this project): ```sh cargo install mdbook-typst ``` Then, add an entry to your [book.toml]: ```toml [output.typst] ``` Finally, build your book via mdBook: ```sh mdbook build ``` By default `mdbook-typst` will output raw Typst markup to `book/typst/book.typst`. ## Pdf and other formats Pdf and other formats can be output instead of raw Typst markup. In your [book.toml] set the `format` value of the `output` config section: ```toml [output.typst.output] format = "pdf" ``` By default `mdbook-typst` will output to `book/typst/book.[format]`. ## Other configuration `mdbook-typst` is fairly configurable. Check out [the configuration code](./src/config.rs) for a complete list of options. If you want more control, consider creating your own formatter and/or preprocessing the book using the [pullup](https://github.com/LegNeato/pullup) project. [mdBook]: https://github.com/rust-lang/mdBook [book.toml]: https://rust-lang.github.io/mdBook/guide/creating.html#booktoml [Typst]: https://typst.app/docs/