#graphviz #dot #add #process #flags #file

app mdbook-graphviz

mdbook 预处理器,用于添加 graphviz 支持

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 文本处理

Download history 616/week @ 2024-04-26 507/week @ 2024-05-03 528/week @ 2024-05-10 441/week @ 2024-05-17 435/week @ 2024-05-24 498/week @ 2024-05-31 600/week @ 2024-06-07 523/week @ 2024-06-14 571/week @ 2024-06-21 509/week @ 2024-06-28 599/week @ 2024-07-05 597/week @ 2024-07-12 571/week @ 2024-07-19 679/week @ 2024-07-26 589/week @ 2024-08-02 545/week @ 2024-08-09

2,470 每月下载次数

MPL-2.0 许可证

34KB
820

mdBook Graphviz

crates.io LICENSE

安装

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