sphinx.ext.graphviz – 添加 Graphviz 图

Added in version 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: alternate text (text)

图表的替代文本.默认情况下,图表代码用作替代文本.

Added in version 1.0.

:align: alignment of the graph (left, center or right)

图表的水平对齐.

Added in version 1.5.

:caption: caption of the graph (text)

图表的标题.

Added in version 1.1.

:layout: layout type of the graph (text)

图形的布局(例如 dotneato 等).也允许指定 graphviz 命令的路径.默认情况下使用 graphviz_dot .

Added in version 1.4.

在 2.2 版本发生变更: 重命名为 graphviz_dot

:name: label (text)

图表的标签.

Added in version 1.6.

:class: class names (a list of class names separated by spaces)

图的类名.

Added in version 2.4.

.. graph::

嵌入单个无向图的指令.名称作为指令参数给出,图的内容为指令内容.这是一个生成 graph <name> { <content> } 的便捷指令.

例如:

.. graph:: foo

   "bar" -- "baz";

备注

图形名称会原样传递给Graphviz. 如果它包含非字母数字字符(例如,破折号),您将需要使用双引号.

选项

graphviz 相同.

:alt: alternate text (text)

Added in version 1.0.

:align: alignment of the graph (left, center or right)

Added in version 1.5.

:caption: caption of the graph (text)

Added in version 1.1.

:layout: layout type of the graph (text)

Added in version 1.4.

在 2.2 版本发生变更: 重命名为 graphviz_dot

:name: label (text)

Added in version 1.6.

:class: class names (a list of class names separated by spaces)

图的类名.

Added in version 2.4.

.. digraph::

嵌入单个有向图的指令.名称作为指令参数给出,图的内容为指令内容.这是一个方便的指令,用于生成 digraph <name> { <content> } .

例如:

.. digraph:: foo

   "bar" -> "baz" -> "quux";

选项

graphviz 相同.

:alt: alternate text (text)

Added in version 1.0.

:align: alignment of the graph (left, center or right)

Added in version 1.5.

:caption: caption of the graph (text)

Added in version 1.1.

:layout: layout type of the graph (text)

Added in version 1.4.

在 2.2 版本发生变更: 重命名为 graphviz_dot

:name: label (text)

Added in version 1.6.

:class: class names (a list of class names separated by spaces)

图的类名.

Added in version 2.4.

还有这些配置值:

graphviz_dot

调用 dot 的命令名.默认值为 'dot' ;如果 dot 不在可执行文件的搜索路径中,您可能需要将其设置为完整路径.

由于此设置在系统之间不可移植,因此通常在 conf.py 中设置它并没有用处;相反,最好通过 :program :sphinx-build 命令行上的 -D 选项来给出,例如:

sphinx-build -M html -D graphviz_dot=C:\graphviz\bin\dot.exe . _build
graphviz_dot_args

要提供给dot的额外命令行参数,以列表形式给出.默认值是一个空列表.这是通过dot的 -G-N-E 选项设置全局图、节点或边属性的正确位置.

graphviz_output_format

构建HTML文件时Graphviz的输出格式.这必须为 'png''svg' ;默认值是 'png' .如果使用 'svg' ,为了使URL链接正常工作,必须设置适当的 target 属性,例如 "_top""_blank" .例如,以下图中的链接在svg输出中应该可以正常工作::

.. graphviz::

     digraph example {
         a [label="sphinx", href="https://www.sphinx-doc.org/", target="_top"];
         b [label="other"];
         a -> b;
     }

Added in version 1.0: 以前,输出总是 PNG 格式.