我是 Sphinx 文档的初学者。我想生成 numpy 风格的文档。因此,我使用了 numpydoc 扩展。 Numpy 使用 pydata
主题,但我选择了 furo
。我知道外观上会有一些差异,但我希望我的页面至少具有与 numpy 相同的格式,尽管我得到了大写的参数名称和类型。描述未大写。
我的文档字符串:
def translate_pointcloud(pointcloud):
"""
A data augmentation technique that translates the pointcloud randomly.
Parameters
----------
pointcloud : numpy.ndarray
See Also
--------
rotate_pointcloud, jitter_pointcloud
"""
在我的conf.py中我使用:
extensions = [
'sphinx.ext.duration',
'sphinx.ext.doctest',
'sphinx.ext.autodoc',
'sphinx.ext.autosummary',
'numpydoc',
]
html_theme = 'furo'
我做错了什么?是因为主题吗?有简单的解决方法吗?
最佳答案
注意:该问题已在 Furo 2022.1.2 中修复。
这绝对是主题。可能是一个疏忽,甚至是一个错误,因为 Furo 不应该更改 API 文档中标识符和类型的大小写。但它确实如此,here,通过应用 CSS 属性 text-transform: uppercase
。
您可以使用自定义样式覆盖它。在您的 docs
文件夹中,创建一个子文件夹 style
,并在其中创建一个包含以下内容的文件 custom.css
:
dl.py .field-list dt {
text-transform: none;
}
(对于比提出此问题时更新的 Furo 版本,您必须使用 none !important;
而不是仅使用 none;
。请参阅 follow-up question至于为什么。)
然后将这两行添加到Sphinx的配置文件conf.py
中:
html_static_path = ['style']
html_css_files = ['custom.css']
渲染的输出将如下所示:
关于python - Furo Sphinx 主题在 API 文档中大写过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69873561/