doxygenがObjective-Cに対応した.今後doxygenに集約するかもしれない.
と,思ったら次期HeaderDocは期待が持てそう
http://developer.apple.com/darwin/projects/headerdoc
新たにサポートする言語として
- java
- Java Script
- Perl
- PHP
- Pascal
- シェル・スクリプト
をサポートするそうだ.
出力形式は従来のHTMLからman形式もサポートする.タグを使わないコメント表記,コードカラーリング,Indexページのテンプレートをサポートするそうだ.
ADC NEWS #388より
-
HeaderDoc とは
-
配布元のドキュメントの翻訳
-
XcodeでHeaderDocを使う
-
-
シェル・スクリプト・ビルド・フェーズだけを使う方法
-
ターゲット・ルールとシェル・スクリプト・ビルド・フェーズの併用
-
HeaderDocコメントを入れるスクリプト
HeaderDocはC/C++やObjective-CのヘッダファイルからHTML形式のドキュメントを生成するソフトウエアです.Darwinと一緒にここで公開されています.Developer Toolをインストールすると一緒にインストールされるようです.
配布元のドキュメントの翻訳
HeaderDocのページににドキュメントを翻訳しました.元のドキュメントではスクリプト名がheaderDoc2HTML.pl,gatherHeaderDoc.plとなっているがインストールしたところ、それぞれ小文字になって、headerdoc2html,gatherheaderdocとなってたので注意する事.
また翻訳の精度はあまりよくないが,自分用のメモなのでツールそのものが使えればよしとする.
HeaderDocをXcodeから使う.
シェル・スクリプト・ビルド・フェーズだけを使う方法
デプロイメント・ビルド毎にHeaderDocを実行させる../apiDocにHeaderDoc書類をまとめる.
- ターゲットにシェル・スクリプト・ビルド・フェーズを追加する
メニューから プロジェクト > 新規ビルド・フェーズ > 新規シェル・スクリプト・ビルドフェーズを選択.
- スクリプトを編集
シェル・スクリプト・ファイルを選択して,メニューから プロジェクト > 情報をみるを選択
スクリプト項目に以下のように入力する.
mkdir -p apiDoc
headerdoc2html -o apiDoc *.h
gatherheaderdoc apiDoc
"デプロイメント・ビルド中にのみスクリプトを実行する"にチェックを入れる.
デベロップメント・ビルド毎にHeaderDocを起動するのはこの方法では時間が無駄になるので次の項目を参照の事.
ターゲット・ルールとシェル・スクリプト・ビルド・フェーズの併用
- ターゲット・ルールの追加
メニューから,アクティブなターゲットを編集 > ルール・タブを選択 >
- ルールの追加と編集
header file毎にHeaderDocを実行したいが,"Interfacer file"を選んでも実行されない.仕方ないので"C Source files"をプロセスに選び,スクリプト中で拡張子を".h"と指定する事で擬似的にheader file毎の処理を行っている.
プロセス: C Source files
使用:カスタムスクリプト
mkdir -p apiDoc
headerdoc2html -o apiDoc $(INPUT_FILE_BASE).h
出力ファイル:
apiDoc/$(INPUT_FILE_BASE)/index.html
- TOCを作るためにシェル・スクリプト・ビルド・フェーズを使う
TOCの生成をルール化する方法が思いつかなかった.
gatherheaderdoc apiDoc
これだけ書いてお茶を濁す.
XcodeのスクリプトメニューのサンプルにHeaderDocを挿入するスクリプトがある.便利に使わせていただく事にする.
ショートカットの付け方は,Using Scripts To Customize Xcodeを参考に.
ショートカットを以下の様に設定している
| key | | action |
| ctrl-cmd-h | | @Headerテンプレートの挿入 |
| ctrl-cmd-c | | @classテンプレートの挿入 |
| ctrl-cmd-g | | @categoryテンプレートの挿入 |
| ctrl-cmd-p | | @protocolテンプレートの挿入 |
| ctrl-cmd-m | | @methodテンプレートの挿入 |
| ctrl-cmd-f | | @functionテンプレートの挿入 |
| ctrl-cmd-t | | @typedefテンプレートの挿入 |
| ctrl-cmd-s | | @structテンプレートの挿入 |
| ctrl-cmd-e | | @enumテンプレートの挿入 |
| ctrl-cmd-o | | @constテンプレートの挿入 |
| ctrl-cmd-d | | @defineテンプレートの挿入 |
| ctrl-cmd-v | | このファイルをHeaderDocでプレビュー |
|