The other day I was searching for Vim editor cheatsheets on the web. A quick google search brought me so many links to download the cheatsheets. While going through the links one by one, a particular URL caught my attention. I Followed the link to find out what it is. Oh dear! It was a quite good tool. Say hello to Zeal, an offline documentation browser for software developers.

Zeal is inspired by Dash, a commercial application developed specially for Mac OS. Zeal provides documentation sets (shortly docsets) for the plenty of different programming languages and software. You can read them all in offline. Yes, you read that right! You don’t need to google or refer the official documentation page. Just download the documentation set of your desired software, and start reading it without Internet connection.

As of writing this guide, there are 192 useful docsets as given below.

ActionScript
Akka
Android
Angular, AngularJS
Ansible
Apache HTTP Server
Appcelerator Titanium
AppleScript
Arduino
AWS JavaScript
BackboneJS
Bash
Boost
Bootstrap 2, 3, 4
Bourbon
C / C++
CakePHP
Cappuccino
Chai
Chef
Clojure
CMake
Cocos2D
Cocos2D-X
Cocos3D
CodeIgniter
CoffeeScript
ColdFusion
Common Lisp
Compass
Cordova
Corona
CouchDB
Craft
CSS
D3JS
Dart
Django
Docker
Doctrine
Dojo
Drupal 7, 8
ElasticSearch
Elixir
Emacs Lisp
EmberJS
Emmet
Erlang
Express
ExpressionEngine
ExtJS
Flask
Font Awesome
Foundation
GLib
Go
Gradle DSL
Gradle Java API
Gradle User Guide
Grails
Groovy, Groovy JDK
Grunt
Gulp
Haml
Handlebars
Haskell
HTML
Ionic
Jasmine
Java EE6, EE7, EE8
Java SE6, SE7, SE8, SE9
JavaFX
JavaScript
Jekyll
Jinja
Joomla
jQuery / jQuery Mobile / jQuery UI
Julia
KnockoutJS
Kobold2D
Laravel
LaTeX
Less
Lo-Dash
Lua 5.1, 5.2, 5.3
MarionetteJS
Markdown
MatPlotLib
Meteor
Mocha
MomentJS
MongoDB
Mongoose
Mono
MooTools
MySQL
Neat
NET Framework
Nginx
NodeJS
NumPy
OCaml
OpenCV
OpenGL 2, 3, 4
Pandas
Perl
Phalcon
PhoneGap
PHP
PHPUnit
Play Java
Play Scala
Polymer.dart
PostgreSQL
Processing
PrototypeJS
Pug
Puppet
Python 2, 3
Qt 4, 5
R
Racket
React
Redis
RequireJS
Ruby 2, 3, 4, 5
RubyMotion
Rust
SailsJS
SaltStack
Sass
Scala
SciPy
Semantic UI
Sencha Touch
Sinon
Smarty
Sparrow
Spring Framework
SQLAlchemy
SQLite
Statamic
Stylus
Susy
SVG
Swift
Symfony
Tcl
Tornado
Twig
Twisted
TypeScript
TYPO3
UnderscoreJS
Unity 3D
Vagrant
Vim
VMware vSphere
VueJS
WordPress
Xamarin
Xojo
XSLT
Yii
YUI
Zend Framework 1, 2,3
ZeptoJS
All of those docsets are generously provided by Dash. All docsets are up-to-date and maintained with utmost care. You can also create your own!

Installing Zeal on Linux
Zeal is available in the default repositories of many Linux distributions. So, we can install it using the default package managers.

On Arch Linux and its derivatives like Antergos, Manjaro Linux, Zeal is available in Community repository. So make sure it is enabled first and the install Zeal as shown below:

$ sudo pacman -S zeal
On Debian, Ubuntu, Linux Mint:

$ sudo apt-get install zeal
Zeal in the Ubuntu repositories might bit outdated. If you wanted to use most recent version, you can install it from the official PPA.

$ sudo add-apt-repository ppa:zeal-developers/ppa
$ sudo apt-get update
$ sudo apt-get install zeal
On Fedora:

$ sudo dnf install zeal
On Gentoo:

# emerge app-doc/zeal
On openSUSE, you can install it as shown below depending upon the version you use.

For openSUSE Tumbleweed run the following as root:

# zypper addrepo https://download.opensuse.org/repositories/devel:tools/openSUSE_Tumbleweed/devel:tools.repo
# zypper refresh
# zypper install zeal
For openSUSE Leap 42.3 run the following as root:

# zypper addrepo https://download.opensuse.org/repositories/devel:tools/openSUSE_Leap_42.3/devel:tools.repo
# zypper refresh
# zypper install zeal
On FreeBSD, install Zeal from ports:

# cd /usr/ports/devel/zeal/ && make install clean
Or install Zeal binary package:

# pkg install zeal
Related read:

Dwww – View Complete Debian Documentation Offline Via Web Browser
Usage
Launch Zeal from the Menu or application launcher. The default interface of Zeal may look like below.

As you can see, the interface is very simply. By default, Zeal doesn’t come with any docsets. You need to download them.

To do so, click on the Docsets tab on the right side in the home screen or go to Tools -> Docsets to browse and download docsets. Click on the “Available” tab and choose the applications of your choice to download their docsets and click Download button.

Once docsets downloaded, they will appear on the left pane in the home screen. You can now browse through documentation sets.

You can also search for a specific string from a particular docset or from all docsets. Just enter your search terms in the search on the top left corner to begin the search.

For example, when you enter the string “class” in the search box, Zeal will provide the results from all docsets. Also, you can limit the search within a specific docset. For example, python:class will search only docsets related to Python for class.

Not just from the graphical interface, you can begin the search from the command line too. For example, run the following command from the terminal to search for string “class” in Python docset.

$ zeal python:class
It will automatically open respective search string in the GUI application.

If the docset for a specific application is not available, you can either create it as described in this link or request one from the community.

Another notable of Zeal is great integration with popular apps, such as Atom, Emacs, Sunblime text, Vim, using plugins. For example, to integrate Vim, install Zeal for Vim plugin. You can get all plugins from the Zeal usage page.

Leave a Comment