跳至主要内容

Sphinx "plantuml" 扩展

项目描述

安装

pip install sphinxcontrib-plantuml

用法

sphinxcontrib.plantuml 添加到你的 conf.py 文件中的扩展列表

extensions = [
    'sphinxcontrib.plantuml',
]

你也可以在 conf.py 中指定 plantuml 命令

plantuml = 'java -jar /path/to/plantuml.jar'

相反,你可以在你的 PATH 中安装一个包装脚本

% cat <<EOT > /usr/local/bin/plantuml
#!/bin/sh -e
java -jar /path/to/plantuml.jar "$@"
EOT
% chmod +x /usr/local/bin/plantuml

然后,在 .. uml:: (或 .. plantuml::) 指令下写入 PlantUML 文本

.. uml::

   Alice -> Bob: Hi!
   Alice <- Bob: How are you?

或指定外部 PlantUML 文件的路径

.. uml:: external.uml

您可以指定 heightwidthscalealign

.. uml::
   :scale: 50 %
   :align: center

   Foo <|-- Bar

您还可以指定标题

.. uml::
   :caption: Caption with **bold** and *italic*
   :width: 50mm

   Foo <|-- Bar

有关详细信息,请参阅PlantUML 文档。

配置

plantuml

plantuml 可执行文件路径。(默认:‘plantuml’)

plantuml_output_format

HTML 渲染器的输出图像类型。(默认:‘png’)

png:

仅在

svg:

svg_img:

仅在 浏览器支持)

svg_obj:

仅在 浏览器支持)

none:

不生成任何图像(忽略 uml 指令)

当SVG位于标签内时,它将始终以全尺寸渲染,可能大于容器大小。当SVG位于标签内时,它将尊重容器大小并在必要时进行缩放。

plantuml_latex_output_format

LaTeX渲染器的输出图像类型。(默认:'png')

eps:

生成.eps文件(pdflatex不支持)

pdf:

生成.eps文件并将其转换为.pdf文件(需要< cite>epstopdf)

png:

生成.png

tikz:

生成TikZ格式的.latex文件

none:

不生成任何图像(忽略 uml 指令)

由于嵌入式png看起来很糟糕,建议对于pdflatex选择(pdf),对于platex选择(eps)。

plantuml_epstopdf

epstopdf可执行文件的路径。(默认:'epstopdf')

plantuml_syntax_error_image

plantuml是否应该生成带有渲染错误的图像。(默认:False)

plantuml_cache_path

存储图像缓存的目录。(默认:'_plantuml')

plantuml_batch_size

(实验性)按指定图像数运行plantuml命令。(默认:1)

如果启用,plantuml文档将首先写入缓存目录,并批量渲染。这消除了Java运行时的引导开销,并允许plantuml利用多个CPU核心。

要启用批量渲染,请将大小设置为100-1000。

开发

使用以下命令安装python测试依赖项

pip install sphinxcontrib-plantuml[test]

此外,还需要以下非python依赖项才能运行测试

  • latexmk

  • plantuml

  • texlive

  • texlive-font-utils

  • texlive-latex-extra

可以使用pytest执行测试

pytest