badboy/mdbook-mermaid

A preprocessor for mdbook to add mermaid support

Rust

451

207 commits

updated Aug 17, 2026

See the code

README

mdbook-mermaid

A preprocessor for mdbook to add mermaid.js support.

It turns this:

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

into this:

Simple Graph

in your book. (Graph provided by Mermaid Live Editor)

Installation

From source

To install it from source:

cargo install mdbook-mermaid

This will build mdbook-mermaid from source.

Using cargo-binstall

If you have cargo-binstall already:

cargo binstall mdbook-mermaid

This will download and install the pre-built binary for your system.

Manually

Binary releases are available on the Releases page. Download the relevant package for your system, unpack it, and move the mdbook-mermaid executable into $HOME/.cargo/bin:

Configure your mdBook to use mdbook-mermaid

When adding mdbook-mermaid for the first time, let it add the required files and configuration:

mdbook-mermaid install path/to/your/book

This will add the following configuration to your book.toml:

[preprocessor.mermaid]
command = "mdbook-mermaid"

[output.html]
additional-js = ["mermaid.min.js", "mermaid-init.js"]

It will skip any unnecessary changes and detect if mdbook-mermaid was already configured.

Additionally it copies the files mermaid.min.js and mermaid-init.js into your book's directory. You find these files in the src/bin/assets directory. You can modify mermaid-init.js to configure Mermaid, see the Mermaid documentation for all options.

Finally, build your book:

mdbook path/to/book

Development

Update the bundled mermaid.js

Find the latest version of mermaid on https://github.com/mermaid-js/mermaid/releases. Then run:

cargo xtask <version>

This will fetch the minified mermaid.js file and commit it.

Note: mdbook-mermaid does NOT automatically update the mermaid.min.js file in your book. For that rerun

mdbook-mermaid install path/to/your/book

or manually replace the file.

License

MPL. See LICENSE.
Copyright (c) 2018-2024 Jan-Erik Rediger [email protected]

Mermaid is MIT licensed. The bundled assets (mermaid.min.js) are MIT licensed.

mdbook-plugins

badboy/mdbook-mermaid

A preprocessor for mdbook to add mermaid support

Rust

451

207 commits

updated Aug 17, 2026

See the code

README

mdbook-mermaid

A preprocessor for mdbook to add mermaid.js support.

It turns this:

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

into this:

Simple Graph

in your book. (Graph provided by Mermaid Live Editor)

Installation

From source

To install it from source:

cargo install mdbook-mermaid

This will build mdbook-mermaid from source.

Using cargo-binstall

If you have cargo-binstall already:

cargo binstall mdbook-mermaid

This will download and install the pre-built binary for your system.

Manually

Binary releases are available on the Releases page. Download the relevant package for your system, unpack it, and move the mdbook-mermaid executable into $HOME/.cargo/bin:

Configure your mdBook to use mdbook-mermaid

When adding mdbook-mermaid for the first time, let it add the required files and configuration:

mdbook-mermaid install path/to/your/book

This will add the following configuration to your book.toml:

[preprocessor.mermaid]
command = "mdbook-mermaid"

[output.html]
additional-js = ["mermaid.min.js", "mermaid-init.js"]

It will skip any unnecessary changes and detect if mdbook-mermaid was already configured.

Additionally it copies the files mermaid.min.js and mermaid-init.js into your book's directory. You find these files in the src/bin/assets directory. You can modify mermaid-init.js to configure Mermaid, see the Mermaid documentation for all options.

Finally, build your book:

mdbook path/to/book

Development

Update the bundled mermaid.js

Find the latest version of mermaid on https://github.com/mermaid-js/mermaid/releases. Then run:

cargo xtask <version>

This will fetch the minified mermaid.js file and commit it.

Note: mdbook-mermaid does NOT automatically update the mermaid.min.js file in your book. For that rerun

mdbook-mermaid install path/to/your/book

or manually replace the file.

License

MPL. See LICENSE.
Copyright (c) 2018-2024 Jan-Erik Rediger [email protected]

Mermaid is MIT licensed. The bundled assets (mermaid.min.js) are MIT licensed.

mdbook-plugins

Project health

Overall

4.3/10

Maintained

5/10

Code review

0/10
OpenSSF Scorecard

Latest release

0.17.1 · Aug 14, 2026

Releases this year

2

Significant stargazers

Daniel McCarney

619 followers · starred Aug 2024

mitchmindtree

501 followers · starred Jan 2023

Sergei Shulepov

312 followers · starred Jun 2020

Tyler Mandry

432 followers · starred Jun 2020