doxを使ってみたよ
TJ作のドキュメントジェネレータdoxを使ってみた。
使ってみたうちに入らないかもしれないけど……
環境:MacOS 10.7.3 / nodebrew 0.5.0 / node.js 0.6.13 / npm 1.1.9
インストール
本当はグローバルインストールするんだろうけど、ローカルインストールにした。
$ mkdir dox $ cd dox $ npm install dox
コードを書く
/** * __すごい__メソッドです。 * * @param {String} なんらかの文字列 * @return {String} 'sugoi'を返す */ exports.sugoi = function (str) { str = str || ''; return 'sugoi' + str; };
JavaDocとかJSDocToolkit向けに書いてるみたいに書ける。
ついでにgithub-flavored-markdownを使用しているので(てかgithub-flavoredなMarkdownのモジュール、あったんだねえ)
Markdown記法で強調したりできる。
生成する
$ node_modules/.bin/dox < aaa.js [ { "tags": [ { "type": "param", "types": [ "String" ], "name": "なんらかの文字列", "description": "" }, { "type": "return", "types": [ "String" ], "description": "'sugoi'を返す" } ], "description": { "full": "<p><strong>すごい</strong>メソッドです。</p>", "summary": "<p><strong>すごい</strong>メソッドです。</p>", "body": "" }, "isPrivate": false, "ignore": false, "code": "exports.sugoi = function (str) {\n str = str || '';\n return 'sugoi' + str;\n};", "ctx": { "type": "method", "receiver": "exports", "name": "sugoi", "string": "exports.sugoi()" } } ]
doxを実行すると標準出力にJSONで出力される。
これをどうもテンプレートで使ってね、ってことみたい。
Hogan.jsとかで使ったらいいのかな。出力されるのがデータだけなので、デザインも好き放題って感じ。
ページを分けるのも自分次第だろうし。
doccoとかdoccoファミリーも前に使ったけど、doxもなかなかいいかなーと思った。