doc2dash is a MIT licensed extensible Documentation Set generator intended to be used with the dash API browser for OS X.
If you’ve never heard of dash, you’re missing out: Together with doc2dash it’s all your API documentation at your fingertips!
Currently, the following source types are supported:
- Sphinx’s HTML output (nearly every single Python project out there)
- pydoctor’s HTML output (Twisted!)
Feel free to help adding more! While doc2dash is implemented in Python, the scope for the supported documentation types is unlimited. So go on and submit a parser for your favourite Ruby, Haskell, Lisp, Erlang, JavaScript, ... format!
The usage is as simple as:
$ doc2dash -A <docdir>
doc2dash will create a new directory called “<docdir>.docset” in ~/Library/Application Support/doc2dash/DocSets containing a dash-compatible docset with a SQLite index. When finished, the docset is automatically added to dash.
Full usage:
usage: doc2dash [-h] [--force] [--name NAME] [--version] [--quiet] [--verbose]
[--destination DESTINATION] [--add-to-dash] [-A]
source
positional arguments:
source Source directory containing API documentation in a
supported format.
optional arguments:
-h, --help show this help message and exit
--force, -f force overwriting if destination already exists
--name NAME, -n NAME name docset explicitly
--version show program's version number and exit
--quiet, -q limit output to errors and warnings
--verbose, -v be verbose
--destination DESTINATION, -d DESTINATION
destination directory for docset (default is current),
ignored if -A is specified
--add-to-dash, -a automatically add resulting docset to dash
-A create docset in doc2dash's default directory and add
resulting docset to dash
--icon ICON, -i ICON add PNG icon to docset
The latest stable version can be always found on PyPI and can therefore be installed using a simple:
$ pip install --user doc2dash
If you haven’t pip yet, installation should be as easy as:
$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
doc2dash is tested both under Python 3.2 and Python 2.7. Support for older Python releases won’t be added.