Dgeniはngdoc(※1)に対応したドキュメントジェネレーターです。
ngdocに対応したドキュメントジェネレーターは他にもありますが、Dgeniは@ngdocに指定できる種類の多さや、拡張性の高さという点で他より優れています。
しかし、Dgeniは若いツールで日本語でも英語でも情報がなく、またインストールしただけでは使えないため、始めるの少し敷居が高いのが難点です。
そこで簡単にDgeniを始める方法のご紹介をしたいと思います。
インストール
npm install --save-dev grunt grunt-dgeni
GruntJS経由でDgeniの実行を行えるようにgrunt-dgeniをインストールします。
設定
grunt.initConfig({
dgeni: {
options: {
// 読み込むJavaScriptファイルのベースディレクトリ
basePath: '/path/to'
},
// 読み込むJavaScriptファイル
src: ['src/*.js'],
// ドキュメントを出力するディレクトリ
dest: '/path/to/build'
},
});
grunt.loadNpmTasks('grunt-dgeni');
上記が/path/to/src/
直下にJavaScriptファイルからドキュメントを設定し、/path/to/build
に出力する場合のGruntfile.jsの書き方になります。
注意点としてsrc
を指定する場合は、options.basePath
が必須になります。
これはDgeniの仕様でドックコメントでモジュール名が省略された場合に、options.basePath
もしくは、その直下のディレクトリをモジュール名と認識するためです。
詳しくは下記のissueを確認してください。
Module name becomes two names · Issue #105 · angular/dgeni
実行
grunt dgeni
設定を終えて、上記のコマンドを実行するとドキュメントがdest
に指定したディレクトリに出力されます。
デフォルトではパッケージにdgeni-markdownが使用されます。
他のパッケージを使用したり、独自のパッケージを使用する場合は
dgeni: {
options: {
packages: [
'packageName',
'/path/to/config'
]
},
},
のようにoptions.packages
を使用してください。
まとめ
いかがでしたでしょうか。
Dgeniも他のngdocに対応したドキュメントジェネレーター並みに簡単に扱えるようにしました。
恐らく、これからのAngularJSアプリケーションでドキュメントを生成する本命はDgeniになりそうなので、これを機会に皆さんも触り始めていただけると幸いです。
参考リンク
- angular/dgeni
- angular/dgeni-packages
- petebacondarwin/dgeni-example
- k-kinzal/dgeni-markdown
- k-kinzal/dgeni-markdown-example
- k-kinzal/grunt-dgeni
日本語情報
ngdocに対応したドキュメントジェネレーター
※1 AngularJSで使用されている独自のドックコメント