Python 如何在Sphinx中只记录函数的子集?
使用Sphinx,我需要为我的Python应用程序生成两组文档:Python 如何在Sphinx中只记录函数的子集?,python,python-sphinx,Python,Python Sphinx,使用Sphinx,我需要为我的Python应用程序生成两组文档: 包含我的所有模块/函数 仅包含模块中的函数子集 我想在函数docstrings中使用一个“标记”,指示是否在第二组文档中包含该函数 使用。。只有,我才能根据我提供给sphinx build的-t控制包含文档字符串的哪一部分。但是我找不到任何方法根据这些函数的docstring条目筛选出要包含在文档范围内的一组函数。通常情况下,发布问题后,您会给出答案。 使用以下代码并将其放入conf.py def include_only_tag
使用
。。只有
,我才能根据我提供给sphinx build的-t
控制包含文档字符串的哪一部分。但是我找不到任何方法根据这些函数的docstring条目筛选出要包含在文档范围内的一组函数。通常情况下,发布问题后,您会给出答案。
使用以下代码并将其放入conf.py
def include_only_tagged(app, what, name, obj, skip, options):
inclusion_tag_format = ".. only:: {}" #can be any pattern here, choose what works for you
for tag in app.tags.tags:
if obj.__doc__ is not None and inclusion_tag_format.format(tag) in obj.__doc__:
return False
return True
def setup(app):
if(len(app.tags.tags)>0):
app.connect('autodoc-skip-member', include_only_tagged)
所以,如果我使用类似于
”.only::subset“
的东西作为任何函数的docstring的一部分,也就是说,每当我运行sphinx build-t subset时,只有这个函数将保留在生成的文档的范围内。就像通常发生的那样-发布问题后,您会给出答案。
使用以下代码并将其放入conf.py
def include_only_tagged(app, what, name, obj, skip, options):
inclusion_tag_format = ".. only:: {}" #can be any pattern here, choose what works for you
for tag in app.tags.tags:
if obj.__doc__ is not None and inclusion_tag_format.format(tag) in obj.__doc__:
return False
return True
def setup(app):
if(len(app.tags.tags)>0):
app.connect('autodoc-skip-member', include_only_tagged)
因此,如果我使用类似于“.only::subset”
的内容作为任何函数的文档字符串的一部分,也就是说,每当我运行sphinx build-t subset
时,只有这个函数将保留在生成的文档范围内