首页 > 解决方案 > Python:Sphinx 不输出转换

问题描述

我正在使用 Sphinx 将我正在编写的包记录为网页。包的每个成员都有一个文档字符串,我用它autosummary来自动将它们转换为单独的 rst 文件。

我的问题是我无法使用转换在 html 输出中打印水平线(通过使用----)。每当我添加其中一个时,Sphinx 都会输出一条错误消息,并且生成的 html 不包含转换。

这是一个最小的例子。下面的函数属于my_module.

def foobar():
    r"""Foo

    ----

    Bar
    """
    pass

这是我的狮身人面像的主index.rst文件:

.. autosummary::
    :toctree: _api_members

    my_module.foobar

尝试制作 html 将输出以下消息:

docstring of my_module.foobar:3: WARNING: Unexpected section title or transition.

如下所示,输出不包含预期的转换。

在此处输入图像描述

我发现解决此问题的唯一方法是使用原始 html 打印 a <hr>,但这确实是污染文档字符串的不雅解决方案。

def foobar():
    r"""Foo

    .. raw:: html

        <hr>

    Bar
    """
    pass

使用水平规则产生预期输出:

在此处输入图像描述

我相信我对默认设置所做的唯一更改conf.py是:

extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.autosummary',
]

autosummary_generate = True
autosummary_imported_members = True

所以我的问题是如何在 html 输出中打印水平规则,而无需手动将原始 html 代码添加到我的文档字符串中?

标签: pythonpython-sphinx

解决方案


推荐阅读