sphinx.ext.graphviz – 添加 Graphviz 图¶
0.6 版本新增。
此扩展允许您在文档中嵌入 Graphviz 图。
它添加了这些指令
- .. graphviz::¶
嵌入 graphviz 代码的指令。
dot的输入代码作为内容给出。例如.. graphviz:: digraph foo { "bar" -> "baz"; }
在 HTML 输出中,代码将渲染为 PNG 或 SVG 图像(参见
graphviz_output_format)。在 LaTeX 输出中,代码将渲染为可嵌入的 PDF 文件。您还可以通过将文件名作为参数传递给
graphviz,并且不带额外内容来嵌入外部 dot 文件.. graphviz:: external.dot
与 Sphinx 中的所有文件引用一样,如果文件名是绝对路径,则将其视为相对于源目录。
1.1 版中已更改: 增加了对外部文件的支持。
选项
- :alt: 替代 文本 (文本)¶
图的替代文本。默认情况下,图代码用作替代文本。
版本 1.0 新增。
- :align: 图的对齐方式 (左、中或右)¶
图的水平对齐方式。
版本 1.5 新增。
- :caption: 图的标题 (文本)¶
图的标题。
版本 1.1 新增。
- :layout: 图的布局类型 (文本)¶
图的布局(例如
dot、neato等)。也允许使用 graphviz 命令的路径。默认情况下,使用graphviz_dot。版本 1.4 中新增。
2.2 版中已更改: 从
graphviz_dot重命名。
- :name: 标签 (文本)¶
图的标签。
版本 1.6 中新增。
- :class: 类名 (以空格分隔的类名列表)¶
图的类名。
2.4 版本新增。
- .. graph::¶
嵌入单个无向图的指令。名称作为指令参数给出,图的内容是指令内容。这是一个方便的指令,用于生成
graph <name> { <content> }。例如
.. graph:: foo "bar" -- "baz";
注意
图名称会原样传递给 Graphviz。如果它包含非字母数字字符(例如破折号),则必须用双引号引起来。
选项
与
graphviz相同。- :alt: 替代 文本 (文本)¶
版本 1.0 新增。
- :align: 图的对齐方式 (左、中或右)¶
版本 1.5 新增。
- :caption: 图的标题 (文本)¶
版本 1.1 新增。
- :layout: 图的布局类型 (文本)¶
版本 1.4 中新增。
2.2 版中已更改: 从
graphviz_dot重命名。
- :name: 标签 (文本)¶
版本 1.6 中新增。
- :class: 类名 (以空格分隔的类名列表)¶
图的类名。
2.4 版本新增。
- .. digraph::¶
嵌入单个有向图的指令。名称作为指令参数给出,图的内容是指令内容。这是一个方便的指令,用于生成
digraph <name> { <content> }。例如
.. digraph:: foo "bar" -> "baz" -> "quux";
选项
与
graphviz相同。- :alt: 替代 文本 (文本)¶
版本 1.0 新增。
- :align: 图的对齐方式 (左、中或右)¶
版本 1.5 新增。
- :caption: 图的标题 (文本)¶
版本 1.1 新增。
- :layout: 图的布局类型 (文本)¶
版本 1.4 中新增。
2.2 版中已更改: 从
graphviz_dot重命名。
- :name: 标签 (文本)¶
版本 1.6 中新增。
- :class: 类名 (以空格分隔的类名列表)¶
图的类名。
2.4 版本新增。
还有这些配置值
- graphviz_dot¶
- 类型:
str- 默认:
'dot'
调用
dot的命令名称。如果dot不在可执行文件搜索路径中,您可能需要将其设置为完整路径。由于此设置不可从一个系统移植到另一个系统,因此通常不适合在
conf.py中设置;相反,通过-D选项在 sphinx-build 命令行上提供它应该更好,如下所示sphinx-build -M html -D graphviz_dot=C:\graphviz\bin\dot.exe . _build
- graphviz_dot_args¶
- 类型:
序列[str]- 默认:
()
要传递给 dot 的额外命令行参数,作为一个列表。这是通过 dot 的
-G、-N和-E选项设置全局图、节点或边属性的正确位置。
- graphviz_output_format¶
- 类型:
'png' | 'svg'- 默认:
'png'
构建 HTML 文件时 Graphviz 的输出格式。这必须是
'png'或'svg'。如果使用'svg',为了使 URL 链接正常工作,必须设置适当的target属性,例如"_top"和"_blank"。例如,以下图中的链接应该在 svg 输出中有效.. graphviz:: digraph example { a [label="sphinx", href="https://sphinx-doc.cn/", target="_top"]; b [label="other"]; a -> b; }
1.0 版中新增: 此前,输出始终为 PNG。