使用Doxygen、Sphinx和Breathe自动生成C++库API文档的C++库API文档生成器。
项目描述
使用Doxygen、Sphinx和Breathe自动生成C++库API文档。Exhale在reStructuredText文档中恢复Doxygen的类、文件和页面层次结构,以便在Sphinx文档项目中使用这些层次结构。
这是否适合我?
Exhale可能 不是 你要找的工具!它被设计得尽可能直观和灵活,但确实需要更多的配置才能启动。
- 为什么使用它?
如果你想要有美丽的Sphinx生成的网站,同时也看到了Doxygen提供的类、文件和页面层次结构的价值,你会使用Exhale。从为你运行Doxygen,到每次组织你的完整API,你不需要担心你的文档与代码不同步——它会在每次运行时动态重新生成。
- 为什么不使用它?
可能比您需要的要复杂。查看随您的
安装一同提供的breathe-apidoc工具。它与Sphinx API文档工具非常相似,这可能是您要显示文档所需的所有内容。 如果您使用的是足够小的框架,您可能只需要使用breathe的.. autodoxygenindex::指令。它非常有效!
- 主要区别
类、文件和页面层次结构仅在Sphinx通过Exhale可用😊
根据您项目的大小和复杂性,breathe-apidoc或autodoxygenindex可能更适合。
- 重要注意事项
Exhale已知在小到中等规模的项目上表现良好。在Sphinx中支持大型项目是一个更加复杂的过程,这可能在时间上得到解决也可能不会得到解决——这不仅仅与Exhale有关,但Exhale(生成大量的.rst文件)的性质肯定不会有所帮助。
有关如何开始的更多信息,请参阅完整文档。
看看它在行动中的样子
ExhaleCompanion仓库有三个构建,展示了创建树视图的不同选项,以及特定HTML主题选择的细节。
HTML主题选择 |
创建树视图 |
ExhaleCompanion文档 |
---|---|---|
是 |
||
是 |
||
否 |
安装
Exhale是一个Sphinx扩展,它依赖于Breathe来访问Doxygen reStructuredText指令,以及BeautifulSoup和lxml来解析生成的Doxygen XML文档。Exhale在PyPI上托管,这意味着您可以通过常规机制安装它,例如
$ python -m pip install exhale
这将安装Exhale以及所有其依赖项。
Exhale与Python、Sphinx和Breathe的版本兼容性
Exhale版本 |
Python版本 |
Sphinx版本 |
Breathe版本 |
---|---|---|---|
0.3.7 |
>=3.8 |
>=4.3.2 |
>=4.33.1 |
0.3.2 – 0.3.6 |
>=3.7 |
>=3.0,<5 |
>=4.32.0 |
0.3.0 |
>=3.6 |
>=3.0,<5 |
>=4.32.0 |
0.2.1 – 0.2.4 |
2.7, 3.3+ |
>=1.6.1 |
“任何” |
<=0.2.0 |
2.7, 3.3+ |
>=1.0 |
“任何” |
对于您项目的文档需求,采用exhale@0.3.0意味着您只需直接在您的docs/requirements.txt或类似表达中指定即可
exhale>=0.3.0
exhale@0.3.0版本使用与breathe@4.32.0相同的依赖。如果您需要Python 3.5支持,将文档需求固定为
sphinx>=2.0 breathe>=4.13.0 exhale<0.3.0
对于Python 2.7,您应将文档需求固定为
sphinx==1.8.5 breathe==4.12.0 exhale<0.3.0
顺序很重要,即sphinx和breathe在exhale之前出现/安装。Exhale 0.2.*版本支持Python 2.7,但用户需要了解Python、Sphinx和Breathe版本之间的依赖关系。
致谢
没有这些已经非常出色的工具,本项目将无法存在:Doxygen、Sphinx、Breathe以及许多其他工具。特别是,为了使树视图层次结构成功,我提供了两个出色的库的副本,我对此不做任何声明。这些副本与每个项目的许可协议一起提供。
对于非Bootstrap,我使用了Kate Morley的出色而轻量级的可折叠列表,包括该帖子上的示例CSS/图像。她为这些文件以及她网站上的其余部分提供了慷慨的CC0 1.0许可。
在我尝试过的每一个HTML主题中,除了使用bootstrap的主题之外,这个库都工作得非常可靠和一致。它与Sphinx RTD主题也非常匹配!
对于bootstrap,我使用了Jon Miles的综合性bootstrap-treeview库。Jon Miles使用Apache v2许可协议托管这个库。
这个库的设计非常周到,提供了令人印象深刻的定制功能。目前,Exhale还没有公开任何可用的定制选项。如果您想看到特定的定制选项,请加入这里的讨论。
这两个库及其许可协议的副本可以在源代码的数据文件夹中找到。
许可
本项目使用BSD 3条款许可协议,希望它能被大多数项目所采用。如果您需要其他许可协议,请提出问题,我将考虑双许可协议。
完整的许可协议在此处可用。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
exhale-0.3.7.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 752a96d0a59456511d933311d4a81f642cd668296eacd2561905727d5ed6b0d8 |
|
MD5 | 84e7ec2fcec2afa2c8b9c214526bd70e |
|
BLAKE2b-256 | 2f2bc5c665e743415c894d49c60e7b1338fb86d05c9ec8909a38e700e55626f0 |
exhale-0.3.7-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 698fe5612bdfb4955ce780ea2441d085fe30c6174b12ef29839dd232c7363504 |
|
MD5 | b0126d758af3d215cea706f5fdfc6b07 |
|
BLAKE2b-256 | ea789a8a174011682d71cb4922f4014ebbeb9d3067922678e7059351fd9207cf |