DocToDash converts documentation files (Rdoc Darkfish / YARD) into a classes and methods docset that can then be loaded into the docset viewing program: Dash.


Add this line to your application's Gemfile:

gem 'doc_to_dash'

And then execute:

$ bundle

Or install it yourself as:

$ gem install doc_to_dash


Generate YARD documentation (or darkfish rdoc). This below will output your Rails application's YARD documentation to doc/yard:

$ yardoc app/**/*.rb lib/**/*.rb --protected --private --embed-mixins --output-dir doc/yard/


Require doc_to_dash

require 'doc_to_dash'

Tell doc_to_dash to generate a docset: => '/web/myapp/doc/yard').run

This will create a docset in doc/DefaultDocset.docset then you just need to load the docset into Dash. The options above can be passed.


Key Default Description Required
:docset_name DefaultDocset What the file will be called. EX: DefaultDocset.docset Yes
:docset_output_path doc/ Where the file above will be stored EX: doc/DefaultDocset.docset Yes
:icon_path ../default_icon.png The icon file that will be put in the docset. Shown in Dash. No (can be nil, will not transfer default_icon.png)
:doc_input_path nil/ The directory that the doc files will be coming from. EX: /Users/Caleb/web/my_site/doc/yard Yes
:doc_save_folder docs/ Where inside the docset the docs will be copied to (not really important, just here if you need to change it) Yes
:verbose true Spits out messages with "puts" showing what is going on. Yes
:parser DocToDash::YardParser Parser to use to pull out classes and modules. DocToDash::YardParser / DocToDash::RdocDarkfishParser. Yes

Command Line

doc_to_dash [options] <doc_directory_path>


Option Short Description
--icon -i Docset icon which will display in Dash.
--name -n Docset name which will display in Dash.
--output -o Docset Output Path where the docset will be saved.
--parser -p Parser to use (YardParser / RdocDarkfishParser)
--help -h Show help message


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Default Icon: Crash Test Dummy designed by Luis Prado from The Noun Project