blob: 7514aef6dcc2658e482df537b39e475015d33fb0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# 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
If you want to use only this preprocessor, install the tool:
```
cargo install mdbook-mermaid
```
Then let `mdbook-mermaid` 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-2021 Jan-Erik Rediger <janerik@fnordig.de>
Mermaid is [MIT licensed](https://github.com/knsv/mermaid/blob/master/LICENSE).
The bundled assets (`mermaid.min.js`) are MIT licensed.
|