doxytag2zeldb从doxygen标记文件创建sqlite3数据库,以便在helm dash、zeal和dash等工具中使用分类条目启用可搜索的doxygen文档集。

doxytag2zealdb的Python项目详细描述


doxytag2zealdb

doxytag2zealdb从doxygen标记文件创建sqlite3数据库以启用 可搜索的Doxygen文档集,在诸如 helm-dashZealDash

简介

Doxygen's ^{}配置选项的大部分工作是 获得一个可用的文件集,用于头盔达什和朋友。然而,仍然有人 编写sqlite3数据库以便于按条目类型进行搜索和浏览。

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) -> boolby 指定--include-function-signatures)并在 类/结构/命名空间成员的条目名(例如,SomeClass::Methodby 指定--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.pypython setup.py install)或 从PyPI安装(pip install [--user] [--upgrade] doxytag2zealdb)注意 当通过这些文件安装时,入口点只是doxytag2zealdb 方法。

典型用法

  1. 假设您有一个名为foo的项目,其doxygen配置位于 foo.dox。正如 Doxygen section of the Dash docset guide,至少要确保 GENERATE_DOCSET = yesfoo.dox中。确保HTML输出已启用,并且 还指定标记文件生成 GENERATE_TAGFILE = /path/to/desired/foo.tag。你可能希望 自定义DOCSET_BUNDLE_ID(它控制文档集的名称 子目录)、其他DOCSET_*选项和中提到的其他选项 导游。

  2. 如果顶层doxygen输出目录是output,请转到output/html/。 然后运行make。关于缺少docsetutil的错误是可以的(而且应该是 当不使用MacOS和足够旧的Xcode安装时)。也, output/html/$(DOCSET_BUNDLE_ID).docset/Contents/Info.plistshould have the ^{} key set to ^{}。doxytag2zealdb将执行此操作 自动;在下一步中另外通过--dont-update-info-plist 如果不需要的话。

  3. 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
    
  4. 在添加一个图标和其他东西之后, output/html/$(DOCSET_BUNDLE_ID).docset应该准备好与 你选择的工具。

扩展它

有多种方法可以扩展doxytag2zealdb的行为:

  • < P>选项可以添加到现有的^ {< CD38>}。参见^ { CD38>}和 functionTagProcessor举个例子另请参见关键字参数 从doxytag2zealdb.py传递到TagfileProcessorTagProcessor及其超类

  • 可以将^ {< CD38 >}(或其现有子类之一)分为 处理新的标签盒。然后将其添加到中的注册 TagfileProcessor.init_tag_processors()或单独注册 运行时,如果你喜欢的话。

  • 使用docopt可以轻松添加命令行选项。查看模块 在doxytag2zealdb.py中的文档字符串和代码。

贡献

请提交问题并在上游提交拉(合并)请求 https://gitlab.com/vedvyas/doxytag2zealdb

许可证

doxytag2zealdb是根据gnu general publi的条款发布的c许可证 版本3或(由您选择)任何更高版本。请看复印件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修复无法解析从未使用过的符号和变量的错误   java lucene搜索   java无法获取可用的提供程序解析程序   java问题使用引发SAXException的方法编译类   是否可以编辑抽象类?JAVA   java AppletViewer出现错误并试图加入计时器   基于java JNI的Android库,在没有NDK的情况下使用   Java如何使用Jenkins中的环境变量?   XMLHttpRequestJavaJavaScript   JPA实体中的java枚举类型字段   java泛型方法将一种枚举类型转换为另一种枚举类型   java Liveconnect小程序问题   java SpringBoost应用程序和Apache Ignite配置:启动ApplicationContext时出现问题   反射从Java8中的类对象获取方法引用   调试时Eclipse在java 8类加载器上中断