12个版本
新版本 0.2.1 | 2024年8月10日 |
---|---|
0.2.0 | 2024年5月1日 |
0.1.7 | 2024年4月9日 |
0.1.6 | 2023年2月10日 |
0.0.1 | 2019年11月1日 |
#100 in 文本处理
2,470 每月下载次数
34KB
820 行
mdBook Graphviz
安装
cargo install mdbook-graphviz
安装 Graphviz
brew install graphviz
book.toml
[preprocessor.graphviz]
command = "mdbook-graphviz"
output-to-file = false # defaults to false, change to true to create SVG files instead of rendering them inline
用法
仅支持 dot
,但添加其他 graphviz 工具也很容易。
标记 A dot
代码块以供处理
输入
```dot process
digraph {
"processed" -> "graph"
}
```
输出
<div class="mdbook-graphviz-output"><svg>...</svg></div>
class
属性为您提供将通用样式应用于所有输出图像的机会(例如,使它们全部居中)。
渲染
没有 process
标志的 dot
代码块将被忽略
输入
```dot
digraph {
"processed" -> "graph"
}
```
输出
```dot
digraph {
"processed" -> "graph"
}
```
输出到文件
默认情况下,将 SVG 嵌入 Markdown 中的 HTML,但如果这导致问题或需要实际文件,可以通过 output-to-file
标志禁用此功能
[preprocessor.graphviz]
output-to-file = true
或
MDBOOK_preprocessor__graphviz__output_to_file="true" mdbook build
.gitignore
此 .gitignore
应涵盖生成的 SVG 文件。
*.generated.svg
链接到输出文件
使用 output-to-file
时,可以通过 link-to-file
标志将链接添加到图像中
[preprocessor.graphviz]
output-to-file = true
link-to-file = true
或
MDBOOK_preprocessor__graphviz__output_to_file="true" MDBOOK_preprocessor__graphviz__link_to_file="true" mdbook build
嵌入 dot 文件
有时您不想编写 dot 代码,而是从文件中包含它
```dot
{{#include path/to/file.dot}}
```
在这种情况下,您可能需要修改预处理器顺序,以便在传递给 Graphviz 之前解决 include 指令
在这种情况下,请确保您的配置中的 [preprocessor.graphviz]
部分在 links
之后排序
[preprocessor.graphviz]
after = ["links"]
重写 info-string
某些工具更喜欢 dot/graphviz 图表的特定注释。为了与这些工具兼容,mdbook-graphviz
可以支持标记它应处理的图标的自定义值。这通过 info-string
标志实现
[preprocessor.graphviz]
info-string = "graphviz"
或
MDBOOK_preprocessor__graphviz__info_string="graphviz" mdbook build
有关预处理器和排序的更多信息,请参阅此处。
依赖关系
~15–27MB
~390K SLoC