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.
- Angular, AngularJS
- Apache HTTP Server
- Appcelerator Titanium
- Bootstrap 2, 3, 4
- C / C++
- Common Lisp
- Drupal 7, 8
- Emacs Lisp
- Font Awesome
- Gradle DSL
- Gradle Java API
- Gradle User Guide
- Groovy, Groovy JDK
- Java EE6, EE7, EE8
- Java SE6, SE7, SE8, SE9
- jQuery / jQuery Mobile / jQuery UI
- Lua 5.1, 5.2, 5.3
- NET Framework
- OpenGL 2, 3, 4
- Play Java
- Play Scala
- Python 2, 3
- Qt 4, 5
- Ruby 2, 3, 4, 5
- Semantic UI
- Sencha Touch
- Spring Framework
- Unity 3D
- VMware vSphere
- Zend Framework 1, 2,3
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
$ sudo dnf install zeal
# 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
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.
Zeal can be helpful when you don't have Internet access. Download all datasets of your choice and learn the programming languages of your choice. Give it a try, you won't be disappointed!
More good stuffs to come. Stay tuned!