在 Sphinx 中记录带有长描述的参数
Documenting parameters with long descriptions in Sphinx
我正在使用 Sphinx 记录我的 Python 类,有时我想给我的参数提供很长的描述以详细解释某些内容。不幸的是,Sphinx 为我生成了丑陋的输出,这浪费了很多 space 并破坏了整个页面的外观:
可以看出Sphinx创建了一个table,然后把"Parameters" header放到左边的单元格,把实际的参数列表放到右边的单元格。但是应该有办法完全避免创建这个 table 。在玩完页面 DOM 树后,我终于可以显示我想要实现的目标:
是否有 built-in 方法可以做到这一点,或者我必须创建一个 PR 到 Sphinx 主题或 Sphinx 本身?
在 posting an issue 到 Sphinx bug-tracker 并且没有任何回应之后,我决定推出我自己的解决方案(更好的说法是 hack)。为了实现我想要的外观,我编写了一个简单的 Sphinx 扩展,它 post-processes 生成了 HTML 代码。它可以在 PyPI 上找到:
- https://pypi.python.org/pypi/sphinxcontrib.divparams
- https://pythonhosted.org/sphinxcontrib.divparams/
这似乎不是解决问题的最佳方法,但我想要更改的行为在 docutils
中进行了深度硬编码,而不是 Sphinx。
我正在使用 Sphinx 记录我的 Python 类,有时我想给我的参数提供很长的描述以详细解释某些内容。不幸的是,Sphinx 为我生成了丑陋的输出,这浪费了很多 space 并破坏了整个页面的外观:
可以看出Sphinx创建了一个table,然后把"Parameters" header放到左边的单元格,把实际的参数列表放到右边的单元格。但是应该有办法完全避免创建这个 table 。在玩完页面 DOM 树后,我终于可以显示我想要实现的目标:
是否有 built-in 方法可以做到这一点,或者我必须创建一个 PR 到 Sphinx 主题或 Sphinx 本身?
在 posting an issue 到 Sphinx bug-tracker 并且没有任何回应之后,我决定推出我自己的解决方案(更好的说法是 hack)。为了实现我想要的外观,我编写了一个简单的 Sphinx 扩展,它 post-processes 生成了 HTML 代码。它可以在 PyPI 上找到:
- https://pypi.python.org/pypi/sphinxcontrib.divparams
- https://pythonhosted.org/sphinxcontrib.divparams/
这似乎不是解决问题的最佳方法,但我想要更改的行为在 docutils
中进行了深度硬编码,而不是 Sphinx。