Python Sphinx/readthedocs的谷歌风格文档字符串的样式指南检查?

Python Sphinx/readthedocs的谷歌风格文档字符串的样式指南检查?,python,python-sphinx,read-the-docs,Python,Python Sphinx,Read The Docs,我们正在使用SphinxV3构建文档,并使用Sphinx.ext.napoleon和谷歌风格的docstring读取文档。当我们在本地构建时,Sphinx不会将格式错误的Google文档字符串作为警告捕获。例如: """ This should go next to the triple quotes above. Args: there should be nothing here sample_arg (int): there also shouldn

我们正在使用SphinxV3构建文档,并使用Sphinx.ext.napoleon和谷歌风格的docstring读取文档。当我们在本地构建时,Sphinx不会将格式错误的Google文档字符串作为警告捕获。例如:

"""
This should go next to the triple quotes above.

Args: there should be nothing here
    sample_arg (int): there also shouldn't be anything here
    Some documentation that is missing a tab at the beginning.

Missing return
"""
使用
makehtml
在本地构建,这不会引发任何警告,但会严重破坏它在readthedocs上的显示方式。我们在
conf.py
extensions
变量中添加了
sphinx.ext.napoleon
,并保持了原始Makefile的原样,除了在
SPHINXOPTS
下添加标志
-W--keep go-a-E


如果有人试图使用糟糕的Google风格文档运行
makebuild
,有没有办法让Sphinx的构建失败?或者我们必须手动查找并识别这些错误吗?

如果您参考的是Google Python风格指南,那么您的示例有两个地方是错误的。首先,它说“这里也不应该有任何东西”的地方是您应该放置
sample\u arg
文档的地方。第二,当它说“一些文档在开始时缺少一个标签”时,官方示例有一个两个空格的悬挂缩进。“看,”布莱恩·麦库钦说,“也许我应该把这个问题的措辞更恰当一些。我不是问我提供的例子是否正确。它是故意格式化错误的,我忘了列出一些其他错误,比如你提到的那个。我在问是否有办法配置Sphinx来捕捉这些样式错误。当前,运行
make build
不会在生成错误文档时将任何这些列为警告。可能存在类似于或的linter,或者类似于Black的格式化程序,但适用于谷歌风格的docstring?我不知道任何狮身人面像扩展,可以做什么你想要的,除了什么是提供和。