Zeal, ein Offline-Browser für Software-Dokumentationen
Als Entwickler verbringe ich viel Zeit mit dem Lesen von Dokumentationen von Software. Ein großer Teil der täglichen Arbeit besteht aus Dingen wie zum Beispiel:
- Eine neue Bibliothek soll ein- oder ein API angebunden werden.
- Das neue Frontend-Framework will kennengelernt werden, außerdem nutzt es TypeScript.
- Welche fortgeschrittenen Konfigurationsmöglichkeiten bietet das Framework, mit dem ich gerade arbeite?
- Und wie war noch gleich die Syntax für das Laden von
Partial Objects
in Doctrine?
Zwar bietet meine IDE bereits automatisch Code-Vervollständigung für viele gängige Programmiersprachen und Frameworks an, aber oft reicht das eben nicht aus, vor allem wenn ich ein tieferes Verständnis einer Software erlangen möchte. Mit der Zeit wächst dann entweder die Anzahl offener Browser-Tabs (von denen ich sowieso immer zu viele geöffnet habe), oder es entstehen projektspezifische Bookmark-Listen, auf die ich regelmäßig zurückgreife. Dass es auch anders geht, habe ich erst vor kurzem entdeckt.
Für Mac-User gibt es nämlich einen Browser für Dokumentationen, der auch offline funktioniert und viele weitere Features wie etwa eine Suchfunktion mitbringt. Das Tool heißt Dash und unterstützt eine endlos scheinende Liste von Projektdokumentationen.
Dash für Linux: Zeal
Erfreulicherweise gibt es auch für Linux-User wie mich eine Alternative: Zeal ist ein Dash-Nachbau, der momentan in der Version 0.3.1 für Linux und Windows zur Verfügung steht. Der Funktionsumfang von Zeal dürfte etwas geringer sein als der von Dash, aber die wichtigsten Dinge gehen:
- Download ausgewählter Dokumentation zur Offline-Nutzung (Achtung: Die Datenmenge kann schnell in die Gigabytes gehen) aus dem Dash-Repository.
- Suche und Filter schon während des Tippens, Docset-Prefixes (
php:echo
sucht nur in den PHP-Docs,echo
sucht global) - Unterstützung von IDE- und Editor-Plugins wie Dash for IntelliJ IDEA für PHPStorm und andere (aktuell muss das PhpStorm-Plugin manuell installiert werden, vgl. Use dash uri for zeal)
Nach dem erstmaligen Start von Zeal habe ich mir genau die Dokumentation heruntergeladen, die ich häufig benötige (und noch ein paar mehr), damit mir diese offline zur Verfügung stehen. Eine Online-Suche ist nämlich gar nicht vorgesehen. Zeal wartet jetzt im System Tray, dass ich es benötige. Alternative kann ich die Suche direkt aus der IDE heraus triggern (mit Strg + Shift + D
), wobei das Plugin sogar versucht, den Suchkontext zu erkennen.
Eigene Docsets hinzufügen
Ich finde außerdem interessant, dass auch eigene Docsets in diversen Formaten (Sphinx, Doxygen, Javadoc uvm.) hinzugefügt werden können. Im Falle unserer Dokumentation, die wir mittels RestructuredText und Sphinx generieren lassen, sieht der Workflow so aus:
- Wir benötigen zunächst doc2dash und lesen die kurze Dokumentation durch
- Wir generieren die Docs für unser Projekt mit
make html
- Und schließlich lassen wir die Dokumentation im von Zeal und Dash verwendeten .docset-Format erzeugen:
doc2dash -n MyProject -f -v ./_build/html/
. Mit der zusätzlichen Option-d
lässt sich als Zielverzeichnis noch das von Zeal verwendete Docset-Verzeichnis angeben, damit das so erstelle Docset gleich gefunden wird.
Die Zeit wird zeigen, ob Zeal mein treuer Development-Begleiter wird, oder ob ich wieder auf Google- und Stack Overflow-Driven Development umschwenke Aktuell nutze ich das Tool sehr gern. Was mir noch fehlt, ist eine Bookmark-Funktion um häufig genutzte Seiten schneller finden zu können. Andererseits weiß ich deren Inhalt vermutlich sowieso bald auswendig.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Jens Grochtdreis am :
Ich liebe ja Devdocs (http://devdocs.io/). Dafür muss ich keine separate Software installieren, da alles im Browser stattfindet. Und es gibt einen Offline-Modus.
Obwohl dort eine große Menge Dokumentationen angeboten wird, gibt es leider nicht alles. Weder Doctrine noch Handlebars oder Mustache. Aber was nicht ist, kann ja noch werden.