Instant offline access to 130+ API documentation sets.

#2 Product of the DayFebruary 10, 2014
Would you recommend this product?
3 Reviews5.0/5
@staringispolite - Versions support is something I've always wanted to add, but couldn't find a way to handle it properly. For example, there's no way to provide docs for older versions of jQuery since as far as I know the jQuery docs are only available at http://api.jquery.com/, which is always for the latest version. Drupal is the same as jQuery, only the latest for major versions are supported at https://api.drupal.org/api/drupal. No one requested a Drupal 6 docset, so I thought there's no need for one. If you require a Drupal 6 docset, please let me know, as I can definitely add that. Python docsets for older versions are possible. However, I can't really set up an interface which allows installs of older versions only for some docsets and not for others, as users would complain why older versions aren't available for the APIs they want (e.g. for jQuery or Drupal). Managing the older versions of docsets would be a bit of a nightmare as well, in terms of generation and storage. TL;DR: Versions support is something I really want, but haven't figured out yet.
@staringispolite - Implementation: I currently provide docsets for major latest versions. The actual interface is not a problem, as I pretty much have it done (see http://cl.ly/image/1l0L2v102G1V/o which is what's coming in the next update of Dash). The main problem with implementation is explaining to users that older versions for some APIs are not possible to generate. It's sad, but in my experience it's better to not add a feature at all than to add a half-baked feature which only works in some cases. Sourcing: Not necessarily, for example if I'd figure out there's something wrong with a generation script, I'd need to regenerate docsets for all the old versions as well. The main problem with sourcing is that I currently maintain around 130 docsets, if I'd add versioning the number of docsets I'd have to maintain might get a lot larger. I don't think using the web archive is a good idea, as some APIs might have a good reason not to provide docs except for the latest version. Scraping the web archive might be challenging as well.
Super useful. I believe @alexbaldwin mentioned he uses this when coding offline to avoid distractions.
@staringispolite - The current versioning for Drupal, Zend, Python and so on is a hack. It's only for major versions. In a nutshell, I maintain a separate docset and docset feed for each major version of a popular API. This is something I can easily handle/maintain. The process looks like this: 1. Grab the docs for offline use in HTML format somehow (this can be httrack, direct download for APIs that provide their docs for download or direct generation from source using Doxygen or Sphinx or whatever). This is the hardest/most time consuming part as the docs need to be optimised for offline use, which some docs really don't like (AngularJS!). 2. Generate/scrape the docset. This is described at http://kapeli.com/docsets in more detail. 3. CDN
Dash combined with Alfred (alfredapp.com) is productivity at its best. Dash makes searching documentation (and forums) easier and faster than googling in-browser. Plus it's separated from the browser where results can get lost. I suggest it to every developer I know.