ruby や rails を使ってウェブアプリケーションなどを開発するとき、必須なものにオフラインドキュメントがあります。その都度、インターネット検索したりするのはインターネット接続がある前提になったり、時間の浪費につながるため、できる限り必要な情報は手元に置いておくのが重要だと思います。
ruby や rails のオフラインドキュメントを生成するには、sdoc を使うと便利です。
sdoc は、gem 経由で簡単にインストールすることができます。
$ rvm 1.9.3
$ gem install sdoc
sdoc 3.0.16 だと、github を使っているときエラーが発生しているため、パッチをあてる必要があります。
$ diff $HOME/.rvm/gems/ruby-1.9.3-p194/gems/sdoc-0.3.16/lib/sdoc/github.rb
30c30
< s = Dir.chdir(File.join(basedir, File.dirname(path))) do
---
> s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
39c39
< s = Dir.chdir(File.join(basedir, File.dirname(path))) do
---
> s = Dir.chdir(File.join(base_dir, File.dirname(path))) do
47c47
< absolute_path = File.join(basedir, path)
---
> absolute_path = File.join(base_dir, path)
まずは、rails 3.2.3 のオフラインドキュメントを生成してみます。
$ git clone https://github.com/rails/rails.git
$ cd rails
$ git checkout v3.2.3
$ sdoc --format=sdoc --github --output rails-3.2.3 --hyperlink-all rails
かなり警告がでますが、しばらくすると rails-3.2.3 ディレクトリの中に html なドキュメントが生成されています。僕の手元の Macbook Air だと 15 分くらいかかりました。
次に ruby-1.9.3 のオフラインドキュメントを生成してみます。
$ git clone https://github.com/ruby/ruby.git
$ cd ruby
$ git checkout v1_9_3_194
$ sdoc --format=sdoc --output ruby-1.9.3p194
ruby-1.9.3p194 ディレクトリの中に約 5 分くらいでオフラインドキュメントを生成することができました。
あとは、これからのドキュメントを sdoc-merge を使うとまとめることができます。たしめにまとめてみたのですが、僕は個別で参照することが多いので、使っていません。
$ sdoc-merge --title "Ruby 1.9.3-p194 and Rails 3.2.3" --op merged --names "Ruby,Rails" ruby-1.9.3p194 rails-3.2.3
sdoc かなり便利ですね。
参照
Create local Ruby on Rails documentation for offline use | Shynnergy






