gpt4 book ai didi

python - Sphinx apidoc - 不要打印包和模块的完整路径

转载 作者:太空狗 更新时间:2023-10-29 17:07:17 28 4
gpt4 key购买 nike

我对 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 生成短名称吗?

你能帮帮我吗?

非常感谢,冰霜X

最佳答案

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

搜索:

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

替换:

\1 \2

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

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

set add_module_names = False in conf.py

应该可以解决问题。

关于python - Sphinx apidoc - 不要打印包和模块的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25276164/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com