Offline documentation browser inspired by Dash
Go to file
2013-03-16 23:45:15 +00:00
gendocsets ExtJS parser - don't index parents/mixins 2013-03-16 22:09:20 +00:00
zeal Qt 5.0.2, docsets list download error handling, create docsets directory correctly 2013-03-16 23:45:15 +00:00
.gitignore Initial commit - prototype search for multiple docsets 2013-01-19 21:42:42 +00:00
COPYING README and COPYING 2013-01-20 01:49:25 +00:00
docsets.txt Automatic docsets retrieving 2013-03-06 23:02:16 +00:00
README.md Updated Windows binary 2013-03-07 00:54:26 +00:00

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)

How to use

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

You can also put them manually in $HOME/.local/share/zeal/docsets/ (Linux) or C:\Users\[your username]\AppData\Local\zeal\docsets\ (Windows) -- after creating the directory first. Currently there are docsets available from Qt 5 and Python 2.7.3, generated using scripts from gendoctests directory. They can be also downloaded from Dropbox: (failover in case Google Drive URLs from docsets.txt stop working.)

Do tar -jxvf file.tar.bz2 in docsets directory to enable given docset.

You can also use Dash's docsets by putting .docset directories in the same directory as above.

Binary packages

An Ubuntu PPA is available with Ubuntu Quantal and Precise packages. (Tested only with Quantal - please let me know if the Precise package works.)

Also a 32-bit Windows binary with all dependencies is available to download from Dropbox - zeal.zip (29M).

How to compile

Currently Zeal 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 directory. 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

Any feedback, feature requests, or pull requests are welcome. Before starting to implement anything larger, especially items from the TODO list above, it would be good to contact me at jerzy dot kozera at gmail, to avoid duplicating work.

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

Also you can send bitcoins to 1Zea1QhPV5CGp8SNMpb2RHUvRrfNhKqGV to encourage development.

Bitdeli Badge