Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/badboy/mdbook-mermaid
A preprocessor for mdbook to add mermaid support
https://github.com/badboy/mdbook-mermaid
mdbook-plugins
Last synced: 5 days ago
JSON representation
A preprocessor for mdbook to add mermaid support
- Host: GitHub
- URL: https://github.com/badboy/mdbook-mermaid
- Owner: badboy
- License: mpl-2.0
- Created: 2018-07-18T13:42:52.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-09-11T15:07:00.000Z (3 months ago)
- Last Synced: 2024-11-30T14:54:30.212Z (13 days ago)
- Topics: mdbook-plugins
- Language: Rust
- Homepage:
- Size: 3.48 MB
- Stars: 315
- Watchers: 7
- Forks: 32
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - badboy/mdbook-mermaid - A preprocessor for mdbook to add mermaid support (others)
README
# mdbook-mermaid
A preprocessor for [mdbook][] to add [mermaid.js][] support.
[mdbook]: https://github.com/rust-lang-nursery/mdBook
[mermaid.js]: https://mermaidjs.github.io/It turns this:
~~~
```mermaid
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
```
~~~into this:
![Simple Graph](simple-graph.png)
in your book.
(Graph provided by [Mermaid Live Editor](https://mermaidjs.github.io/mermaid-live-editor/#/view/eyJjb2RlIjoiZ3JhcGggVEQ7XG4gICAgQS0tPkI7XG4gICAgQS0tPkM7XG4gICAgQi0tPkQ7XG4gICAgQy0tPkQ7IiwibWVybWFpZCI6eyJ0aGVtZSI6ImRlZmF1bHQifX0))## 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](https://github.com/cargo-bins/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](https://github.com/badboy/mdbook-mermaid/releases).
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`:
```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`](src/bin/assets) directory.
You can modify `mermaid-init.js` to configure Mermaid, see the [Mermaid documentation] for all options.[Mermaid documentation]: https://mermaid-js.github.io/mermaid/#/Setup?id=mermaidapi-configuration-defaults
Finally, build your book:
```
mdbook path/to/book
```## License
MPL. See [LICENSE](LICENSE).
Copyright (c) 2018-2024 Jan-Erik RedigerMermaid is [MIT licensed](https://github.com/knsv/mermaid/blob/master/LICENSE).
The bundled assets (`mermaid.min.js`) are MIT licensed.