Python 在呈现文档中显示为文本的指令

Python 在呈现文档中显示为文本的指令,python,python-sphinx,restructuredtext,sections,autodoc,Python,Python Sphinx,Restructuredtext,Sections,Autodoc,我想在两个节标题之间显示两个函数的docstring,如下所示: === API === .. autofunction:: parsons.aws.distribute_task .. autofunction:: parsons.aws.event_command *** S3 *** 这两个docstring都出现在呈现的HTML中,但第二个函数也显示Sphinx指令。。autofunction::parsons.aws.event_命令作为docstring下面的文本: 你知道

我想在两个节标题之间显示两个函数的docstring,如下所示:

===
API
===

.. autofunction:: parsons.aws.distribute_task

.. autofunction:: parsons.aws.event_command

***
S3
***
这两个docstring都出现在呈现的HTML中,但第二个函数也显示Sphinx指令
。。autofunction::parsons.aws.event_命令
作为docstring下面的文本:

你知道为什么会发生这种情况吗?我怎样才能摆脱它

您可以在GitHub上的该文件顶部看到问题(以及该项目的所有代码):

在文档的内置版本中:


github上的代码没有一个空白行分隔这两个
。。自动功能::
指令:

.. autofunction :: parsons.aws.distribute_task
.. autofunction :: parsons.aws.event_command
声明:

为响应指令而采取的行动和指令内容块或*后续文本块中文本的解释取决于指令

请看“语法图”和指令块的“三个逻辑部分”:

There are three logical parts to the directive block:

    Directive arguments.
    Directive options.
    Directive content.
(……)

对我来说,“后续文本块”(将具有指令依赖行为)是否适用于紧跟在另一个指令之后的指令,或者仅适用于“指令块的三个逻辑部分”并不完全清楚

一条指令被视为一条指令,因此第三条规则意味着一条指令应该在一条未缩进的行之前结束

显式标记块是文本块: (……)

  • 在未插入的线之前结束
请注意,这两个
之间没有明确的结尾。。自动功能::
指令(两个指令都不包含)。 此外,还指出:

在显式标记块和其他元素之间需要空行,但在明确无误的显式标记块之间是可选的

通常,在指令后有空行更安全,以防止任何未指定的行为(在您的情况下,使指令正常呈现并以文本形式包含)

如果在指令后留下一个空行,它应该按预期工作


编辑:需要说明的是,应在上划线部分之前放置两个空白行。我无法解释原因(可能是github或readthedocs本地问题),但显然它解决了问题。

github上的代码实际上没有反映我在本地测试的内容。我特别尝试过这个,但它并没有解决问题。这是我目前的公关,我在其中实现了您建议的更改,但呈现的HTML根本没有更改@Slowloris建议在上划线标题前有两行空白。它可能在github、readthedocs和本地呈现不同。尝试在
的“良好测量”
前后添加两个空行。如果它不起作用,请告诉我们,我们会想出其他办法。我相信我已经修复了
。。autoclass::parsons.S3
我的PR中已经存在问题:似乎在标题前还需要一个额外的空行
Syntax diagram:

+-------+-------------------------------+
| ".. " | directive type "::" directive |
+-------+ block                         |
        |                               |
        +-------------------------------+