sdoc-all

Command line tool to get documentation for ruby, rails, gems, plugins and other ruby code in one place

Warning

This gem is no longer maintained, try doc gem — it is sdoc_all with blackjack and hookers! rewritten from scratch.

Getting Started

gem install sdoc_all
sdoc-all <place for your documentation>; cd <place for your documentation>
<your favorite editor> config.yml
rake run

config.yml

example

---
min_update_interval: 1 hour
sdoc:
- ruby: 1.8.7
- rails
- gems:
    exclude:
    - mysql
    - rails
    - actionmailer
    - actionpack
    - activerecord
    - activeresource
    - activesupport
- plugins: ~/.plugins
- path: ~/some/path

options

time to skip updates (for now ruby and plugins are updated) days, hours, minutes, seconds accepted

min_update_interval: 1 hour

title of resulting page

title: "full reference"

list of things you want to document carefully watch indent - 4 spaces for options

sdoc:

ruby

ruby 1.8.6 source will be downloaded for you from ftp.ruby-lang.org and placed in folder sources

- ruby: 1.8.6

to auto detect ruby version pass ruby binary instead of version (this binary will be asked to execute print "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}")

- ruby: `ruby`

or

- ruby: `/usr/bin/ruby`

or

- ruby: `/usr/bin/env ruby`

if you don't want updates use this

- ruby:
    version: 1.8.6
    update: false

also as ruby has no index page, you can create folder with index.html in it (also there can be stylesheets, images or whatever you want but they should be linked relatively; I choose http://www.zenspider.com/Languages/Ruby/QuickRef.html :) ) and put path to it in config like

- ruby:
    version: 1.8.6
    index: ruby_quick_ref

to build stdlib documentation for every group not fully present in ruby documentation (based on http://stdlib-doc.rubyforge.org)

- ruby:
    version: 1.8.6
    stdlib: true

to integrate stdlib to main ruby documentation use

- ruby:
    version: 1.8.6
    stdlib: integrate

rails

choose rails version

- rails: 2.3.2

latest installed version will be used

- rails

gems

document all gems

- gems

document nokogiri and hpricot gems

- gems: [nokogiri, hpricot]

document nokogiri gem (gem is just an alias to gems)

- gem: nokogiri

document all installed versions of nokogiri and hpricot gems (not latest)

- gems:
    only: [nokogiri, hpricot]
    versions: all

document all gems except mysql and gems related to rails

- gems:
    exclude:
    - mysql
    - rails
    - actionmailer
    - actionpack
    - activerecord
    - activeresource
    - activesupport

plugins

document plugins in folder ~/.plugins (they will also be updated if they are under git)

- plugins: ~/.plugins

document plugins in folder sources/plugins

- plugins

document only dump plugin

- plugin:
    path: ~/.plugins
    only: dump

document dump, access and data_columns plugins

- plugins:
    path: ~/.plugins
    only: [dump, access, data_columns]

don't update plugins under git

- plugins:
    path: ~/.plugins
    update: false

document all plugins except acts_as_fu and acts_as_bar

- plugins:
    path: ~/.plugins
    exclude: [acts_as_fu, acts_as_bar]

paths

document file or directory (you can create .document file in directory to tell rdoc what to document)

- path: ~/lib/bin

it can be a glob (each entry will be documented separately)

- paths: ~/lib/*

or array (note that name of documentation for each will be relative path from common ancestor)

- paths: [~/lib/*, ~/scripts/**, /test.rb, /rm-rf.rb]

if you want to specify more options (roots are not globed in this form)

- paths:
    root: ~/lib/app
    main: README
    paths: [+*, +lib/*.rb, +tasks/*.rake, -*.sw*, -OLD_README]

or array form (mixed type)

- paths:
  - root: ~/lib/app
    main: SUPAREADME
    paths: [+*, +lib/*.rb, +tasks/*.rake, -*.sw*, -OLD_README]
  - ~/lib/app2
  - root: ~/lib/app3
    main: SUPAREADME
  - root: ~/lib/app3
    paths: *.rb
  - ~/lib/old/app*

Copyright (c) 2010 Ivan Kuchin. See LICENSE.txt for details.