Sphinx公共API文档

问题描述 投票:5回答:1

我有大量的python文件,我想为我的项目生成公共API文档。我用装饰器装饰过的api的所有功能。

例如:

@api
def post_comment(comment)"
    """ Posts a coment
    """
    pass

同一类中还有其他公共方法。该API分布在多个文件中,每个文件都使用方法定义类,某些方法具有此@api装饰器。如何告诉Sphinx仅为公共API生成文档?

python documentation python-sphinx
1个回答
3
投票

我正在回答自己的问题...经过更多搜索后,我发现了这一点:

https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#skipping-members

基本上您可以在conf.py文件中定义一个函数,可以查看每个成员并跳过没有合适的装饰器的所有东西。

这是我的conf.py文件(这是狮身人面像的配置文件)末尾的一个小例子:

def my_doc_skip(app, what, name, obj, skip, options):
    if what != "method":
        return True

    # if obj is decorated with @api
    #     return True
    # return False

def setup(app):
    app.connect('autodoc-process-docstring', my_process_docstring)
    app.connect('autodoc-skip-member', my_doc_skip)

您还可以使用函数来处理文档字符串。

© www.soinside.com 2019 - 2024. All rights reserved.