Sphinx文档和自动文档跳过成员

8

我正在按照以下方式为我的Django项目构建Sphinx文档:

sphinx-apidoc app -o docs/source/app --force

现在我的文档里包含了所有南迁移的内容,而我并不想要它们。我尝试使用以下方式将它们排除:

conf.py:
    def skip_migrations(app, what, name, obj, skip, options):
        return skip or (what == 'module' and name.find('Migration') != -1)\ 
               or str(obj).find('migrations') != -1

    def setup(app):
       app.connect('autodoc-skip-member', skip_migrations)

现在它们不再有文档,但仍列在模块下。我该如何排除它们?
2个回答

6
您可以通过在conf.py文件中将rst文件添加到exclude_pattern中来排除为迁移创建的rst文件:
exclude_patterns = ["**/*.migrations.rst",]

2

只需要避免使用sphinx-apidoc生成.rst文件即可:

sphinx-apidoc app -o docs/source/app --force */migrations/*

在模块名称后添加的模式被视为排除路径。

1
对于后来者:--force 需要放在 -o 之前,否则此命令将失败。正如 该问题 中所解释的那样,这与 argparse 有关。 - gallen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接