我想在Sphinx文档中只包含特定函数的docstring。但是,似乎没有选项只使用http://sphinx.pocoo.org/ext/autodoc.html
显示这些细节而没有关联的类和函数定义我已尝试创建show *only* docstring in Sphinx documentation中概述的类,但我不确定这是如何与模板匹配的。
我也尝试过autodoc-process-docstring事件处理程序而没有运气。
因此,而不是我的文档显示(目前):
class module.MyClass(param)
This is the class doc string
my_method()
This is my method doc string
我只想显示:
This is my method doc string
.txt文件中的当前模板是:
.. autoclass:: module.MyClass
:members: my_method
答案 0 :(得分:14)
查看源代码并进行实验后,这里是如何在Sphinx 1.1中完成的。
在conf.py文件中创建一个新的MethodDocumenter子类。在这里你可以设置一个新的“objtype”,确保文档字符串没有缩进,并删除标题。
from sphinx.ext import autodoc
class SimpleDocumenter(autodoc.MethodDocumenter):
objtype = "simple"
#do not indent the content
content_indent = ""
#do not add a header to the docstring
def add_directive_header(self, sig):
pass
然后确保使用以下功能将其添加到可用的文档中(再次在conf.py中):
def setup(app):
app.add_autodocumenter(SimpleDocumenter)
然后,当您只想显示方法的docstring时,请在.txt或.rst文件中使用以下格式。只需在你的objname前加上auto。
.. autosimple:: mod.MyClass.my_method