doxytag2zeldb从doxygen标记文件创建sqlite3数据库,以便在helm dash、zeal和dash等工具中使用分类条目启用可搜索的doxygen文档集。
doxytag2zealdb的Python项目详细描述
doxytag2zealdb
doxytag2zealdb从doxygen标记文件创建sqlite3数据库以启用 可搜索的Doxygen文档集,在诸如 helm-dash、Zeal和Dash。
简介
Doxygen's ^{
doxytag2zealdb使用Beautiful Soup遍历doxygen标记文件,然后
按照
Dash guide on generating docsets。默认情况下,它也会更新
Info.plist
,它应该是输出的一个目录级别
db,指示使用了破折号样式的文档集索引(用于破折号用户)。这个
可以通过指定--dont-update-info-plist
禁用。
doxytag2zealdb是针对Doxygen标记文件输出开发的 C++代码库。目前:
几个doxygen标记文件条目类型被映射到它们对应的文档集 输入类型。可能有更多映射到entry types的机会 在文档集生成指南中。
有包含函数参数和返回类型的命令行选项 输入名称(例如,
some_func(int &output, const double input) -> bool
by 指定--include-function-signatures
)并在 类/结构/命名空间成员的条目名(例如,SomeClass::Method
by 指定--include-parent-scopes
)。这些选项可以组合。
要求
python 2.7或python 3的beautifulsoup4
(4.4.1)、lxml
(3.6.0)和
docopt
(0.6.2)
安装
doxytag2zealdb
模块可以直接从存储库中执行
克隆或提取源tarball,前提是要求
使用python -m doxytag2zealdb
安装。
或者,可以运行setup.py
(python setup.py install
)或
从PyPI安装(pip install [--user] [--upgrade] doxytag2zealdb
)注意
当通过这些文件安装时,入口点只是doxytag2zealdb
方法。
典型用法
假设您有一个名为
foo
的项目,其doxygen配置位于foo.dox
。正如 Doxygen section of the Dash docset guide,至少要确保GENERATE_DOCSET = yes
在foo.dox
中。确保HTML输出已启用,并且 还指定标记文件生成GENERATE_TAGFILE = /path/to/desired/foo.tag
。你可能希望 自定义DOCSET_BUNDLE_ID
(它控制文档集的名称 子目录)、其他DOCSET_*
选项和中提到的其他选项 导游。如果顶层doxygen输出目录是
output
,请转到output/html/
。 然后运行make
。关于缺少docsetutil
的错误是可以的(而且应该是 当不使用MacOS和足够旧的Xcode安装时)。也,output/html/$(DOCSET_BUNDLE_ID).docset/Contents/Info.plist
should have the ^{} key set to ^{ 。doxytag2zealdb将执行此操作 自动;在下一步中另外通过} --dont-update-info-plist
如果不需要的话。sqlite数据库应命名为
docSet.dsidx
,并放在 目录output/html/$(DOCSET_BUNDLE_ID).docset/Contents/Resources/
, 其中$(DOCSET_BUNDLE_ID)
可能类似于org.doxygen.Project
如果 在foo.dox
中未固化。这就是doxytag2zealdb的作用:[python -m] doxytag2zealdb --tag /path/to/desired/foo.tag \ --db /path/to/output/html/$(DOCSET_BUNDLE_ID).docset/Contents/Resources/docSet.dsidx \ --include-parent-scopes --include-function-signatures
在添加一个图标和其他东西之后,
output/html/$(DOCSET_BUNDLE_ID).docset
应该准备好与 你选择的工具。
扩展它
有多种方法可以扩展doxytag2zealdb的行为:
- < P>选项可以添加到现有的^ {< CD38>}。参见^ { CD38>}和
functionTagProcessor
举个例子另请参见关键字参数 从doxytag2zealdb.py
传递到TagfileProcessor
到TagProcessor
及其超类 可以将^ {< CD38 >}(或其现有子类之一)分为 处理新的标签盒。然后将其添加到中的注册
TagfileProcessor.init_tag_processors()
或单独注册 运行时,如果你喜欢的话。使用docopt可以轻松添加命令行选项。查看模块 在
doxytag2zealdb.py
中的文档字符串和代码。…
贡献
请提交问题并在上游提交拉(合并)请求 https://gitlab.com/vedvyas/doxytag2zealdb
许可证
doxytag2zealdb是根据gnu general publi的条款发布的c许可证 版本3或(由您选择)任何更高版本。请看复印件。