本文介绍了API文档中的Furo Sphinx主题大写过多的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Sphinx文档的初学者。我想制作麻木风格的纪录片。因此,我使用了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文档中标识符和类型的大小写。但是,它通过应用CSS属性text-transform: uppercasehere

您可以用自定义样式覆盖它。在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']

呈现的输出将如下所示:

这篇关于API文档中的Furo Sphinx主题大写过多的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-08 14:19