Niigata.pm 居酒屋LT 2012 秋の陣でのんできました #niigatapm

お酒以外ですけど。

use parent qw{ Hachioji.pm } なLT

正規のLTのような制約がなく、定期開催するには本当によくできたシステムです。
今回参加された方たちには初参加の方(かつ Perlあんまり詳しくないという方)もいらっしゃいましたが、気軽にトークできていたので、ちょっと気になるけど二の足踏んでいるという新潟市周辺のデベロッパーの方たちは顔を出してもらいたいです。
実際にメイン言語に phpRuby、C という人達が来ますし、その言語での作法のような話が聞くことができて刺激になりました。

nodedoc

ishiduca/p5-nodedoc · GitHub

以前のトークの時にでっち上げたコマンドラインツールを作り直して持って行きました。

$ nodedoc module

で、Node.jsモジュールに梱包されているREADME.(md|markdown)を表示するのに作ったんですが、もう少し利用範囲をひろげて

$ nodedoc -m module #モジュール本体のコードを表示
$ nodedoc -l module   #モジュール本体のフルパスを表示
$ nodedoc -ls        # 実行したディレクトリから使用出来るモジュールのリスト表示
$ nodedoc -tree   # 依存モジュールを含めたリストの表示

など。あと、モジュール本体のコードには require('./lib/hoge.js')としか書かれていない場合のために

$ nodedoc -m module -lib ./lib/hoge.js

とすることで、ライブラリのコードを見ることもできます。
また、コマンドラインツールとしての nodedoc は梱包されている Nodedoc.pm を利用しているので、psgi アプリでも利用できます。(デモでは README.md を Text::Markdown で解析しましたが、やっぱりgithub方言のmarkdownには足りません...)

余談ですが、README.* はMarkdown形式が殆んどなので、markdown -> pod で表示したかったんですが、いい具合のモジュールが見当たらなかったので、mad というツールを使うとそれっぽく表示できます。(ただし、github方言のmarkdownには対応しきれていません)

$ nodedoc module | mad -

とすると、多少見やすくなります。

最後に

次回あたり、個人的には TDD な話をぜひ聞きたいです!