在文档字符串中的某处嵌入 plantuml 图(使用 Sphinx plantuml 扩展名)

Embed a plantuml diagram somewhere in a docstring (with the Sphinx plantuml extension)

我安装了 sphinxcontrib-plantuml 扩展,如果我 运行 HTML 生成器,它可以正常工作,例如对应 testmodule.py 文件的以下 testmodule.rst 文件:

testmodule module
=================

.. automodule:: testmodule
    :members:
    :undoc-members:
    :show-inheritance:

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

这会在文档的最后添加 UML 图。不幸的是,我没有找到如何在文档中的任何地方嵌入 UML 图,例如在方法文档字符串块中间的某个地方。

有人知道怎么做吗?

直接在文档字符串部分添加 UML 图对我不起作用。 但以下对我有用:

  1. 将 plantuml 代码放在单独的文件中,例如diagram.uml:
@startuml
   Alice -> Bob: Hi!
   Alice <- Bob: How are you?
@enduml
  1. 在文档字符串中的所需位置添加带有文件名的 plantuml 指令。例如:
def example():
    """
    some text

    .. uml:: diagram.uml

    some more text 
    """
    ...