javadocをchmに変換して読む

このエントリは2007/05/13の再掲です

JavaAPI仕様書HTMLである、javadocをWindowsのHtml Help形式(chm)に変換して読むことに関するお話です。

巨大な(クラス数が膨大な)APIセットを読むとき、どのクラスがどのパッケージに含まれていたかを忘れると面倒です。ユーザが使用するファサードが代表パッケージに集約されている、HibernateやVelocityのようなものならまだ我慢できても、JDKやSpringなど、ユーザが直接使うクラスが全てのパッケージにまたがっている場合は、パッケージ全体の俯瞰図をイメージできていないと読めません。

一時期は、HTML全体をgrepしてメソッド名を引き当てたりしていたのですが、やっぱり、MicrosoftのAPIマニュアルのように、高速な索引やインデックス化済みの高速全文検索が欲しいところです。しかも、ネイティブなロケールが通るものが。

という動機で、実は、FlashマニュアルのHtml Help化(flashhelp2chm-ja - Convert Adobe Flash documents to CHM - Google Project Hosting)と同時期に、javadocのHTMLセットも同じ要領で変換できるツールを作っていて、だいぶ前からchm版のJDKドキュメントを読むようにしていました。とはいえ、かなりショックなことに、自作したすぐ後にすでに似たものがあるのを見つけてしまい、積極的に公開する気が起きていませんでした。

http://www.notava.org/software/html2winhelp/ Java実装 日本語用

http://javadoc2help.sourceforge.net/ Java実装 国際化未確認

http://www.burgaud.com/jd2chm.html Python実装 国際化未確認

(中略)

そんなわけで、無駄かもしれないけれど、javadoc2chmと呼ばれるRubyスクリプトをダウンロードできるようにしておきます。いいように考えれば、等価なものが複数あれば、使っているツールのある特定の機能が都合悪いとき、代替手法ができますね。たとえば、html2winhelpはJava実装のexeが付いていて、コマンド一発だから手軽でいいのですが、JavaのパッケージのツリーがHtmlHelpビュアーのツリーに反映されないので、ブラウザで見るjavadocのように、HTMLのフレームにパッケージツリーを表示させないといけません。ウィンドウ面積がもったいない人にとってはとても残念。でも、ここで発表するjavadoc2chmは、Rubyを実行できて、かつ、必要に応じてコード修正ができないといけない。いろいろ長短あります。

ダウンロード javadoc2chm.zip 初期版のダウンロードは修了しました。

javadoc2chmをGoogleCodeに引越し - なんたらノート 第二期 に、より新しいバージョンについて書かれています。

高速な全文検索はないのですが、コンパイルなしに、さまざまなAPIjavadocをマージしてひとつのウィンドウで閲覧できるビュアーもありました。これはこれで、また違った目的で使えるツールですね。

http://globaldocs.zeevbelkin.com/