doc2dash is an extensible Documentation Set (docset) generator that helps you to have documentation for all your favorite APIs in Dash-compatible API browsers.
An API browser is an application that runs locally on your computer and allows you to search various API docs by pressing a key combination and starting to type (I have bound it to ⌥Space bar and can’t write code without it).
The most common ones – Dash (macOS) and Zeal (Windows and Linux) – come with many docsets out of the box, but they can never offer you docsets for every package you’ll ever use. This is where doc2dash comes in: It takes your offline documentation and converts it into an indexed format that API browsers can read and search (very fast!).
Currently it supports all known intersphinx-based documentation systems like Sphinx, pydoctor, or MkDocs (with mkdocstrings). While doc2dash is a Python project, the support is not limited to Python-related formats.
It’s also extendable: you can write your own parser!
The fastest way to get started is installing doc2dash from our Homebrew tap:
$ brew install hynek/tap/doc2dash
Note
If you can’t – or won’t – use Homebrew, check out our installation instructions for alternatives.
Then point doc2dash at a directory containing built intersphinx-compatible documentation:
$ doc2dash directory/to/documentation
You should see an output like in the video above and find an appropriately named docset in the current directory. That’s it – you can add it to Dash or Zeal!
doc2dash has many more features and options – make sure to check out the usage for more details. A full how-to is available too.
doc2dash is maintained by Hynek Schlawack and released under the MIT license.
The development is kindly supported by my employer Variomedia AG and all my amazing GitHub Sponsors.