mdbook-mermaid logo

mdbook-mermaid Jan-Erik Rediger

Use this command to install mdbook-mermaid:
winget install --id=badboy.mdbook-mermaid -e

A preprocessor for mdbook to add mermaid support

mdbook-mermaid is a preprocessor designed to integrate Mermaid.js diagrams into mdBook projects. It enables users to include charts, flowcharts, Gantt diagrams, class diagrams, and more directly within their documentation.

Key Features:

  • Supports a wide range of Mermaid diagram types including flowcharts, Gantt charts, class diagrams, and ERD.
  • Automatically generates HTML output with integrated Mermaid.js rendering when building your mdBook project.
  • Compatible with winget for easy installation.

Audience & Benefit: Ideal for developers, technical writers, and anyone using mdBook to create comprehensive documentation. By adding visual elements like diagrams and charts, users can enhance the clarity and engagement of their content without leaving their existing workflow.

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 . Then run:

cargo xtask 

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

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

Versions
0.15.0
0.14.1
0.14.0
Website
License