我对狮身人面像很陌生,我正在尝试将其用作我的项目的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
- ...
甚至可能没有结尾的package
或module
标签甚至更好。
无论如何,它在任何地方看起来都不太好。例如
class tracer.packageManagers.portage.Portage
Bases: tracer.packageManagers.ipackageManager.IPackageManager
会好得多
class Portage
Bases: IPackageManager
我知道全名可能在大型项目中比较好,在大型项目中,模块名称可以具有相同的名称,但是在我的小型项目中我不喜欢全名。我可以以某种方式告诉apidoc生成短名称吗?
您能帮我吗?
非常感谢,FrostyX
就目录而言,对所有* .rst文件(在运行sphinx-apidoc之后)在源文件夹中进行搜索/替换是最终对我有用的方法。
搜索:
^(?:[a-zA-Z0-9]*[.])*([a-zA-Z0-9]+) (package|module)
替换:
\1 \2
...这会缩短标题,即标题树中显示的标题。唯一的结果就是该模块页面上的标题也将是简称,但这并没有让我感到困扰,因为导航和目录仍然清楚地表明了父包是什么。
根据类/函数名称,mzjin对问题的评论:
在conf.py中设置add_module_names = False
应该做到这一点。