为`sphinx-apidoc`自定义模板

本教程将介绍为`sphinx-apidoc`自定义模板的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

为`sphinx-apidoc`自定义模板 教程 第1张

问题描述

我最近尝试使用sphinx-apidocfromSphinx来帮助从一个Python项目的API生成特定于Sphinx的reStrutiredText。

但是,我得到的结果是:

谁知道我是否可以自定义sphinx-api用于其输出的模板?具体地说,我想:

    去掉所有"子模块"、"子包"和"模块内容"标题,

    让我的__init__.py文件中的docstring结果直接显示在包的下面,这样当我单击包名称时,首先看到的就是包文档。目前,本文档放在每个程序包部分末尾略显奇怪的"模块内容"标题下。

我认为"子模块"和"子包"标题是多余的,因为包/模块的正常标题是"xxx.yyy包"和"xxx.yyy.zzz模块"。

我希望上面的小示例的结构是

    orexplore.ents包

      orexplore.Components.mbg120模块

    orexplore.模拟器包

      orexplore.simators.test包

        orexplore.simators.est.mbg120模块

      orexplore.simators.mbg120模块

在单击包的位置,我在页面上首先看到的将是包文档。

或者甚至只是

    orexplore.组件

      orexplore.Components.mbg120

    orexplore.模拟器

      orexplore.simators.test

        orexplore.simators.est.mbg120

    orexplore.simators.mbg120

如果有某种方法可以从视觉上区分封装/模块(颜色?徽章?)而不是冗长的"包"和"模块"。

推荐答案

sphinx-apidoc脚本使用apidoc.py模块。我不能提供详细的说明,但为了删除标题或以其他方式定制输出,您必须编写此模块的您自己的版本。没有其他"模板"。

注意,如果API和模块结构稳定,则不需要重复运行sphinx-apidoc。您可以根据自己的喜好对生成的rst文件进行一次后处理,然后将它们置于版本控制之下。另请参阅https://stackoverflow.com/a/28481785/407651。

更新

从Sphinx 2.2.0开始,sphinx-apidoc支持模板。请参阅https://stackoverflow.com/a/57520238/407651。

好了关于为`sphinx-apidoc`自定义模板的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。