Zeal

zeal
noun

  1. a feeling of strong eagerness (usually in favor of a person or cause)
  2. excessive fervor to do something or accomplish some end
  3. prompt willingness

(from WordNet 3.0)

Zeal is a simple documentation browser inspired by Dash.

Screenshot

More screenshots (imgur)

Download

For details about binary packages (currently available for Windows and Ubuntu) see downloads page.

How to use

After installing/compiling it you need to download docsets. It can be done automatically by clicking 'Edit', 'Options', 'Docsets', 'Download...'.

Currently there are docsets available from Django, jQuery, Ruby 1 and 2 [1], Appcelerator Titanium, ExtJS 4.1, Python 2.7.3, Sencha Touch 2.1, Qt 5 [2].

[1] thanks to Dash's docset exchange programme
[2] generated using scripts from gendoctests directory

You can also use Dash's docsets by putting .docset directories in $HOME/.local/share/zeal/docsets/ (Linux) or C:\Users\[your username]\AppData\Local\zeal\docsets\ (Windows).

How to compile

If you prefer to compile Zeal manually, currently it requires Qt 5.0. To compile it, run qmake and make in the zeal directory.

TODO

  • Support for global hotkeys under platforms other than Linux/X11 and Windows (OSX)
  • Search enhancements - some ideas:
    1. Allow selecting subset of docsets to search in.
    2. Grouping of similar results (like overloaded functions)
    3. Better docsets formatting (without headers, sidebars etc.)
  • More docsets
  • Code cleanup
    • MainWindow::MainWindow probably should be shorter than 200+ lines.
    • Refactoring to reuse common code between ZealDocsetsRegistry and ZealListModel

Creating your own docsets

For creating new docsets, you have three choices of index format supported by Zeal.

  1. ZEAL format, as generated by scripts in gendocsets/{python273,qt5} directories. It's essentially a single sqlite table with type, name, path and parent columns.
  2. DASH format, which is also similar single table, without the parent column.
  3. So-called ZDASH, which is a more complex Xcode docset format, implemented in Zeal to allow reusing Dash's docsets.

Author of Dash has suggested a "docset exchange programme", allowing Zeal to use one Dash docset in return for each new generated-for-Zeal docset, so it's recommended to use the DASH format.

Contributions / Project Status

Any feedback, feature requests, or pull requests are welcome. However the project is not under active development at the moment, so unless someone is interested in contributing code, no new features are expected.

I'm going to continue updating docsets that are part of Dash/Zeal exchange programme, and try to fix critical stability/compatibility issues if any arise, to keep the project somewhat alive, but will not implement new features in foreseeable future. Anyway, I should be able to review pull requests.

Please keep in mind I'm not an experienced C++ programmer, so the code quality might be not great.

Bitdeli Badge