scaladocからdash用のdocsetを出力する
2013-11-08 追記: 手順が一部抜けていました。
背景
macで開発してる割にmacをあまり使いこなせてない感があったので、最近dashとalfredを入れてみました。
で、最近scalazでちょくちょく遊んでるのでscalazのドキュメントが検索できたら幸せだよなーということで、scalazのdocsetを出力してみようと思います。
docsetの生成の仕方はdashの開発者のページにまとまってます。 書いてある通り、scaladocからの生成にはmkScalaDocsetというツールを利用します。
mkScalaDocsetの使い方
ダウンロード
(自分の環境にhgが入ってないので…)
mkScalaDocsetのダウンロードページのブランチタブから、現行バージョンをダウンロードして適当な場所に展開します。以下~/src/mkscaladoc/
として展開することにします。
scaladocの準備
以下はscalazのscaladocを生成する手順です。
~/src/scalaz/typelevel/target/scala-2.10/api
がscaladocのルートディレクトリになります。
また下記手順ではscalazに含まれているsbtでうまく生成できなかったので、homebrewで入れたsbt(0.13.0)を使っています。
cd ~/src git clone git@github.com:scalaz/scalaz.git cd scalaz sbt doc
docsetの生成
mkScalaDocsetはGenDBCommandsというclassファイルを利用しているのですが、このファイルへのclasspathが相対パスで指定されているため、mkScalaDocsetの実行は~/src/mkscaladocset
で行う必要があります。
あと、オプションで指定するindex
はトップで表示するhtmlファイルを指定するのですが、デフォルトで用意されてるscalaやplayscalaのdocsetに倣うとたいていpackage.html
を指定することになると思います。
cd ~/src/mkscaladocset brew install coreutils # greadlinkのインストール make # GenDBCommands.scalaのコンパイル # mkScalaDocset name docdir [icon=iconfile] [index=indexfile] ./mkScalaDocset scalaz ~/src/scalaz/typelevel/target/scala-2.10/api index=package.html
dashへの登録
open scalaz.docset
これで快適なscalazライフを送れるはず!