【问题标题】:Sphinx apidoc - don't print full path to packages and modulesSphinx apidoc - 不要打印包和模块的完整路径
【发布时间】:2014-08-13 00:17:29
【问题描述】:

我对 sphinx 很陌生,我正在尝试将它用作我的项目的 API 参考。也许在那之后也可以作为项目文档。

我使用这两个命令生成它

sphinx-apidoc -e -o doc/api tracer
sphinx-build -b dirhtml doc/ build/doc/dirhtml

生成这个目录有问题

- tracer package
    - tracer.lang package
        - tracer.lang.en module
    - tracer.packageManagers package
        - tracer.packageManagers.dnf module
        - tracer.packageManagers.dpkg module
        - tracer.packageManagers.portage module
        - ...
    - tracer.resources package
        - tracer.resources.ProcessesList module
        - tracer.resources.applications module
        - tracer.resources.args_parser module
        - ...

列出不必要的冗余信息的原因非常不清楚。这样会好很多:

- tracer package
    - lang package
        - en module
    - packageManagers package
        - dnf module
        - dpkg module
        - portage module
        - ...
    - resources package
        - ProcessesList module
        - applications module
        - args_parser module
        - ...

如果没有packagemodule 的结尾标签可能会更好。

无论如何,它在任何地方看起来都不是很好。比如

class tracer.packageManagers.portage.Portage
    Bases: tracer.packageManagers.ipackageManager.IPackageManager

会更好

class Portage
    Bases: IPackageManager

我知道全名在模块名称可以有相同名称的大型项目中可能很好,但我不喜欢在我的小项目中使用它。我可以告诉 apidoc 生成短名称吗?

你能帮帮我吗?

非常感谢, FrostyX

【问题讨论】:

  • 在conf.py中设置add_module_names = False是否有效?见sphinx-doc.org/config.html#confval-add_module_names
  • 谢谢,它确实有点帮助。现在它看起来像:class Portage Bases: tracer.packageManagers.ipackageManager.IPackageManager 但在其他地方,有一个全名。

标签: python python-sphinx


【解决方案1】:

就目录而言,在所有 *.rst 文件的源文件夹中进行搜索/替换(在运行 sphinx-apidoc 之后)最终对我有用。

搜索:

^(?:[a-zA-Z0-9]*[.])*([a-zA-Z0-9]+) (package|module)

替换:

\1 \2

...这会缩短标题,即在目录树中显示的内容。唯一的结果是该模块页面上的标题也是短名称,但这并没有打扰我,因为导航和目​​录仍然清楚地表明父包是什么。

根据类/函数名称,mzjin 对问题的评论:

在 conf.py 中设置 add_module_names = False

应该可以解决问题。

【讨论】:

    猜你喜欢
    • 2014-01-26
    • 2021-06-11
    • 2022-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 2020-08-30
    • 1970-01-01
    相关资源
    最近更新 更多