将您的doxygen生成的技术文档集成到Sphinx中
项目描述
Docleaf
您的技术文档,美观地集成
Docleaf可以平滑地集成您的技术和长文档。它是一个Sphinx扩展,可以读取Doxygen XML输出,并无缝地将信息格式化与您的用户文档结合。
许可证
Docleaf根据Parity公共许可证许可。Parity许可证允许自由使用Docleaf以帮助记录开源项目。如果您有一个希望使用Docleaf记录的封闭源代码项目,则必须购买商业许可证。请参阅Docleaf定价页面以获取更多信息。
如果您有任何问题,请通过电子邮件联系:support@docleaf.io
特性
- 自定义指令,允许您针对C和C++代码库的各个部分。
- 与Sphinx C和C++域集成,以支持轻松链接到生成的输出。
- 基于哈希的内容检查以及时间戳检查,以最大限度地减少Doxygen运行后的增量构建时间。
- 与
sphinx.ext.linkcode
扩展集成,以支持链接到GitHub仓库中的源代码位置。
安装
可以从PyPI安装Docleaf
pip install docleaf
使用
将docleaf.doxygen
作为扩展添加到您的Sphinx conf.py
文件中
extensions = ["docleaf.doxygen"]
配置扩展以了解您的源代码存储位置以及为项目生成的Doxygen XML输出。可选地设置默认项目
docleaf_projects = {
"my_project": {
"root": "../src",
"xml": "../doxygen/xml"
}
}
docleaf_default_project = "my_project"
在您的reStructuredText文件中使用提供的指令
.. doxygenstruct:: ExampleStruct
下面是可用的指令。
指令
为C++类生成文档。
.. doxygenclass:: ClassName
为C或C++结构体生成文档。
.. doxygenstruct:: StructName
为C或C++函数生成文档。
.. doxygenfunction:: function_name
为C或C++枚举生成文档。
.. doxygenenum:: EnumName
为在您的Doxygen设置和代码注释中指定的特定组生成文档。
.. doxygengroup:: group_name
所有指令都接受一个:project:
选项来指定要使用的项目,如果您不想使用默认项目。
设置
-
docleaf_projects
一个Python字典,将每个项目名称映射到存储其源代码和Doxygen XML输出的文件夹。
-
docleaf_default_project
当指令本身未指定时,默认要使用的项目。
-
docleaf_domain_by_extension
一个Python字典,将文件扩展名映射到Sphinx域。Docleaf尽可能使用Doxygen的语言分类,但为了更好地控制源文件的分类,使用此设置是有用的。例如
docleaf_domain_by_extension = {"hpp": "cpp", "h": "c"}
确保所有以
.hpp
结尾的文件都将被视为C++文件,并使用C++ Sphinx域进行处理,而以.h
结尾的文件将被视为C文件,并使用C Sphinx域进行处理。 -
docleaf_doxygen_skip
一个指令列表,描述在生成输出文档时要跳过的Doxygen XML的任何部分。支持的条目包括
members:all_caps
- 跳过任何名称全部为大写字母和下划线的函数或变量成员(如Doxygen中定义的'memberdef')。这是为了让用户在需要时过滤掉未处理的C/C++宏。xml-nodes:<node name>
- 跳过读取和处理Doxygen XML输出中的给定XML节点及其子节点。支持限于htmlonly
节点。
与sphinx.ext.linkcode
集成
Docleaf可以与sphinx.ext.linkcode
扩展集成,以便在文档中添加[source]
链接。支持基于GitHub的仓库链接。
为了使用它,请将sphinx.ext.linkcode
扩展添加到Sphinx的conf.py
中的extensions
列表,并使用带有适当的存储库参数的docleaf.doxygen.GitHubLinkResolver
。
extensions = [
"docleaf.doxygen",
"sphinx.ext.linkcode",
]
linkcode_resolve = docleaf.doxygen.GitHubLinkResolver(
root="../../../", user="docleaf-labs", repo="docleaf", branch="main"
)
其中
root
是您存储库根的相对路径。user
是您的GitHub存储库的用户或组织名称。repo
是您的GitHub存储库的名称。tag
是您希望生成的链接URL针对的git标签。branch
是您希望生成的链接URL针对的git分支。commit
是您希望生成的链接URL针对的git提交SHA。
只需要tag
、branch
和commit
中的一个。
性能
在进行Zephyr RTOS文档套件的干净构建时,Docleaf比Breathe快2.1倍。
Benchmark: docleaf
Time (mean ± σ): 180.383 s ± 3.213 s [User: 448.242 s, System: 12.908 s]
Range (min … max): 175.695 s … 185.187 s 10 runs
Benchmark: breathe
Time (mean ± σ): 389.658 s ± 5.271 s [User: 1839.366 s, System: 24.895 s]
Range (min … max): 379.093 s … 394.315 s 10 runs
历史
Docleaf是由Breathe项目的创建者编写和维护的。它通过将代码库重写为使用Rust来解决Breathe的一些性能和内存消耗问题。用户体验旨在与Breathe相匹配并改进。
项目详细信息
下载文件
下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
哈希 用于 docleaf-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6befc8d5197ad898e789a35467c8fab46bb2e04470d737366513f088355c779c |
|
MD5 | 03e445be203a8203146ae3f84b82c6f6 |
|
BLAKE2b-256 | 22a6308dccf083d020f24f8b1e77eda31814bcf462a587681700382fa028a030 |
哈希 用于 docleaf-0.8.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f1b14ac912f86e8789aae94eed3351459d93b853343fb5907bc8bcfc51f51e09 |
|
MD5 | 189213cc1913ea8f27a426f3dc7bc2fe |
|
BLAKE2b-256 | 3506e7b7d13de12fbccb4aced83b4cd813f9495c5a4050dd6db93e0f9225bf95 |
哈希 用于 docleaf-0.8.3-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f87fac917e0891b93bb727587b0c8cc03da99d4032bd2215f19f7d6791e179e9 |
|
MD5 | 17ae7fb9b91f4c0749be6e209b647ca1 |
|
BLAKE2b-256 | 39ce0cc124c41a97b10538365bb66daa065d91fffa66cc5ebafe01c661a8116a |
哈希 用于 docleaf-0.8.3-cp311-cp311-macosx_10_7_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bd9aff9b56df94f469889a69f28962531d901d0178585aca6be390f7b5dc2f44 |
|
MD5 | eef237c8b71ed2ee1a552a2002060258 |
|
BLAKE2b-256 | 13fc1909395e3f0015800dbf053a525ce7ce801b90f2865f672ee216a6683166 |
哈希 用于 docleaf-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db67cb629f8947ae1bc840ad8e80dce8be0b72de0aa157ee8e29e2e25e24a815 |
|
MD5 | fafea267068334d87242ae8fe188cff3 |
|
BLAKE2b-256 | 32bf4f733c2d25d9f7c137fff7bda3afef056070608ae3b66abbd6737158ee28 |
哈希 用于 docleaf-0.8.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab74832dacafa901681728c0e807c779566b2f55a88a392d99b4c9394a68c686 |
|
MD5 | b747f0bd1bda3b83fcb0ec7b4f1b5139 |
|
BLAKE2b-256 | f03f052754ff3c7e63bfc85f8c435badc45ff2831f4f66c261a77d6cf5715737 |
哈希 用于 docleaf-0.8.3-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 25eefe573f86037c2b91aeb1040c305afb41478859ca4320f467a0ecd9852aff |
|
MD5 | ae077b8fb031ae3d0ea77388448a252a |
|
BLAKE2b-256 | 377d119a89fdd99031c702f585f486a8003bfc4b96779cdd74aa71aa0e17704a |
哈希 用于 docleaf-0.8.3-cp310-cp310-macosx_10_7_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0225a4cfc2fcf00cb53d13e46e78d1b531220e26381cfb93cb38c7f711d43015 |
|
MD5 | 55d8a494c54850af5a60026fed7261b0 |
|
BLAKE2b-256 | 273e3dfbbb9f3212567fe58f0d98c62f545ddd19d21d5e87b0e5806e5b6a5e7d |
哈希值 用于 docleaf-0.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1e7c125146415e9e26807e907ac692eba230e6874f04e345393121f511775fad |
|
MD5 | f52fd811fbb76a88d654e6fa233d0afb |
|
BLAKE2b-256 | 90b2947dec092f184dd189a13555f890d13dd7f1533207a43e937932d096aad8 |
哈希值 用于 docleaf-0.8.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0f707b4856b6ee674cd0f360dc2b0b177e6dfb97021337a56a20efe660865928 |
|
MD5 | 19ba3feb846c67c17394de834004e763 |
|
BLAKE2b-256 | 5b87f638fa436e4128056891e74edd57d0b732b4df8cdb01939cdebea50ad157 |
哈希值 用于 docleaf-0.8.3-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2eb89490e5d4fcb73c65562bb6f6a28e597ed9f5d3aaee7122b510da69382ecb |
|
MD5 | 3d730a7630d6ab397f095890c45ffdf6 |
|
BLAKE2b-256 | 7d68e14baf25ecf1ab8707f1dc93fb03dde5ae610be333a0b7a8ba6bc4a5ff2b |
哈希值 用于 docleaf-0.8.3-cp39-cp39-macosx_10_7_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ebd112b5361ab593390cb01623d15b005a96a66592504c5605fdf743269a8ac5 |
|
MD5 | c222cce31856503c9d16accf65d06be7 |
|
BLAKE2b-256 | 348d031695eb71da94fb52023ee28d352aa7ed3e6b315e40925a87d691474c40 |
哈希值 用于 docleaf-0.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 82d3c68116ceea51c466b0e26777d0f7acbb749858edf1501e382aa1f837a334 |
|
MD5 | bdf58f0540b86b73e7f9cc00d6291613 |
|
BLAKE2b-256 | 7aecfcc37bf053f13c09090cce64e5b6667a7d8a1031a75a094a9e68939449f1 |
哈希值 用于 docleaf-0.8.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97ff2f72fc71443eb5b43a7e4094ecb8b7c5239dcf925286c9d1390cb2e99efd |
|
MD5 | 89ba80f90ccb9465cab572fe4ba1bbeb |
|
BLAKE2b-256 | 9f90acaa46bc52511fee9e3531c7e30425c48ac6aae69aca8c844aa031569169 |
哈希值 用于 docleaf-0.8.3-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cdbed3a871f7d42bcbd5bbf70af780e8d0dcda9c420893348063bf2fbb93993c |
|
MD5 | 77bdcbea32b87f69c2bc60d2cd3a924e |
|
BLAKE2b-256 | dc544fa3c8b398128ee1cd36c88a65f1ef5f0d302cbc0af18cb15efa47015d17 |
哈希值 用于 docleaf-0.8.3-cp38-cp38-macosx_10_7_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8b0ad798d3c797250baf8ffade0e80fb18ac163ad295732537283c130c6166e1 |
|
MD5 | 58b811395ae9f33a20adcc2820da363b |
|
BLAKE2b-256 | 3091b6c4d423af90a93e9fc4bb5fe2e463d28a71996f17146a9ab717c03f4446 |
哈希值 for docleaf-0.8.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d8d3164289ebaf562f9351053c76af5b3ea4d77ce8541173c57fb891e2556aeb |
|
MD5 | fc3c0bd9bb04ee994894a0dc8658a320 |
|
BLAKE2b-256 | 092db154f9554f258a7ba94d1320ed9e26c077778226ca9efce1756341b47d29 |
哈希值 for docleaf-0.8.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 353d5a5b4dd2f388357be6cfb51914fb2e3c0b96e32c79adebd6c1d34bf8a5cb |
|
MD5 | 4da0df05aad5cf63b4800bf048371f5e |
|
BLAKE2b-256 | 666276b5af52acefc3a9f11bf9f01aeab95c7076e241b4aa10d52f4719257010 |
哈希值 for docleaf-0.8.3-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b40d4e7f8c313ad348366ee3158bbd0720de5a45b8a029bbb99bf8d4204226e1 |
|
MD5 | 69a0b1ce695397627198bf99c206a4f1 |
|
BLAKE2b-256 | a96a756a17bff666f7b8b349f578d622622fff89c82965e87c76c6bbd471a2f2 |
哈希值 for docleaf-0.8.3-cp37-cp37m-macosx_10_7_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0561ae269c7bbac7597e5a2470e1d957cc8b1978c58eeadbbec8fd3d60547a7b |
|
MD5 | 709946b01cdb5349b375cc922149e77a |
|
BLAKE2b-256 | 371c8d82a360ef47023f34c53c41a97733d64de35707afd0850ee3168cd9551e |