強火で進め このページをアンテナに追加 RSSフィード

整理された情報は こちら へどうぞ。

2012年12月08日

[][][] NGUI のプログラムを元にオフラインでも使えるAPIリファレンスを作る方法

Unity Advent Calendar 20128日目のMikamiさんに続いて9日目を担当させて頂く @nakamura001 です。よろしくお願いします。

折角のイベント事ですからちょっと毛色の違うUnityネタを書こうかと思います。内容は「オフラインでもガリガリUnityプログラムが出来る様にリファレンスを整備しよう」というものです。これでネット環境が無い場所でのプログラムも怖くない!!

作成するリファレンスのフォーマット解説

NGUI のプログラム書き込まれているドキュメンテーションコメントを元にリファレンス(chmファイルやdocsetファイル)を作成する方法を解説します。

ちなみにchmファイルはこんなアイコンのファイルで、Windowsでよく使われる一般的なヘルプファイルです。

f:id:nakamura001:20121209015402p:image

docset とは Mac で使われるAPIのリファレンスなどヘルプファイル的な用途に使われるファイル(実体はフォルダ)です。 Xcode に付属している API リファレンスなどはこの形式のファイルが使われています。

こんな本が並んだアイコンがdocsetファイルのアイコンです。

f:id:nakamura001:20121208015519p:image

余談ですがdocsetファイルは以下のフォルダなどに保存されています。

  • ~/Library/Developer/Shared/Documentation/DocSets/
  • /Applications/Xcode.app/Contents/Developer/Documentation/DocSets/
  • /Library/Developer/Documentation/DocSets

今回は docset を Dash で使用する事を前提とした作業手順を解説します。 Dash についてご存知で無い方はこちらの記事を参照下さい。

高速にドキュメントの検索が可能なアプリ「Dash」(Unityのドキュメントも検索可能) - 強火で進め

http://d.hatena.ne.jp/nakamura001/20120702/1341233553

ツールを準備

まず、プログラムのクラスやメソッドの情報をHTMLファイルやchmファイルにする為に Doxygen を導入します。

こちらのページの

Doxygen

http://www.stack.nl/~dimitri/doxygen/

このリンクをクリックするとダウンロードページが表示されます。

f:id:nakamura001:20121208185342p:image

Windows向けにchmファイルを作成

まずはWindows向けのchmファイル方法を解説します。

chmファイルを作成する為に「HTML Help Workshop」をダウンロードしておきます。

Download HTML Help Workshop and Documentation from Official Microsoft Download Center

http://www.microsoft.com/en-us/download/details.aspx?id=21138

htmlhelp.exe が今回使用するアプリのリンクです。

f:id:nakamura001:20121209000519p:image


chmファイルを作成する為に必要なHTMLファイルや関連ファイルを Doxygen で作成します。

今回は簡単に説明できる様にCドライブに NGUI_work というフォルダを作成し、そこで作業をする事にします。

1. Cドライブの直下に NGUI_work というフォルダを作成。

2. NGUI_work フォルダに NGUI のフォルダをコピー。

3. NGUI_work フォルダに Output という名前でフォルダを新規作成。

f:id:nakamura001:20121209002335p:image

4. Doxygen を開いてデフォルトで選択されているWizardタブの Topics の Project から順番にキャプチャ画像の通りに設定。

f:id:nakamura001:20121208235600p:image

項目設定値
作業フォルダc:\NGUI_work
プロジェクト名NGUI
生成元ファイルC:\NGUI_work\NGUI\Scripts
出力先ディレクトリC:\NGUI_work\NGUI\Scripts

f:id:nakamura001:20121208235802p:image

f:id:nakamura001:20121208235814p:image

ここからは Export タブでの設定になります。タブを切り替えて下さい。

f:id:nakamura001:20121208235825p:image

f:id:nakamura001:20121208235907p:image

項目設定値
CHM_FILENGUI.chm

5. 「Run doxygen」ボタンを押してHTMLファイルや関連ファイルの生成を開始します。処理が完了すると Output フォルダにファイルが生成されます。

f:id:nakamura001:20121208235910p:image

6. HTML Help Workshop を起動し、ファイルを開くアイコンをクリック。表示されたダイアログで 2. で生成された html フォルダの中に有る index.hhp ファイルを選択。

f:id:nakamura001:20121209000322p:image

7. コンパイルアイコンをクリックし、chmファイルを生成。

f:id:nakamura001:20121209000330p:image

これで html フォルダの中に NGUI.chm という名前のchmファイルが生成されます。

例えば UISprite と検索するとこの様に表示されます。

f:id:nakamura001:20121209000457p:image

Mac向けにdocsetファイルを作成

Doxygen を使ってHTMLファイルを作成します。HTMLファイルはdocset(Documentation Set)を作成する時に使います。

作成手順はこの様になります。

1. 作業用フォルダとして、新規にフォルダを作成。

2. そこに NGUI のプログラムをフォルダごとコピー。

3. 出力先のフォルダとして 1. の作業用フォルダに Output というフォルダを作成。

4. Doxygen の設定ファイルとして doxygen.config というファイルを同じフォルダに作成。

ファイルの内容は以下の様に記述します。

GENERATE_DOCSET        = YES
SEARCHENGINE           = NO
DISABLE_INDEX          = YES
GENERATE_TREEVIEW      = NO
GENERATE_LATEX         = NO
GENERATE_HTMLHELP      = YES
RECURSIVE              = YES

PROJECT_NAME           = NGUI
OUTPUT_DIRECTORY       = Output
INPUT                  = NGUI/Scripts
DOCSET_BUNDLE_ID       = com.example.NGUI

【パラメータの説明】

パラメータ説明
GENERATE_DOCSETdocset作成のための関連ファイルを作成するか
SEARCHENGINEHTML 出力に検索機能を含めるかどうか
DISABLE_INDEX各ページの上部にある簡約インデックスのオン/オフ
GENERATE_TREEVIEWツリー状のインデックス構造の生成の有無
GENERATE_LATEXLaTeXの出力を行うか
RECURSIVEINPUTに指定ファイルのサブディレクトリのファイルも対象にするか
PROJECT_NAME生成されるドキュメントのプロジェクト
OUTPUT_DIRECTORY生成されたドキュメントが置かれるパス。相対パスか絶対パスで指定
INPUT生成元のファイル
DOCSET_BUNDLE_IDdocset向けのバンドル文字列

Doxygen

http://www.doxygen.jp/config.html

ここまでの作業が終わるとこの様なフォルダ構成になります。

f:id:nakamura001:20121208191550p:image

5. ターミナルを開き、作業フォルダ( doxygen.config が有るフォルダ)に移動し、以下のコマンドを実行。

/Applications/Doxygen.app/Contents/Resources/doxygen doxygen.config

すると Output フォルダにファイルが生成されます。

f:id:nakamura001:20121208192016p:image

6. Ouput/html に有る Info.plist をエディタで開き、 dict タグの中に以下のタグを追加します。

     <key>DocSetPlatformFamily</key>
     <string>unity3d</string>

f:id:nakamura001:20121208192333p:image

7. ターミナルで Ouput/html に移動し、 make コマンドを実行します。


これで Ouput/html フォルダの中に docsetファイル( com.example.NGUI.docset ) が生成されます。

Dash がインストールされている環境でこのファイルをダブルクリックするとこの様に Dash にリファレンスが追加されます。

f:id:nakamura001:20121208192942p:image

ちなみに 6. で行った作業はここの一覧に影響が有る作業となります。 6. で unity3d を指定したためアイコンが自動的に Unity のものになっています。

以上の作業でオフラインでも NGUI のAPIについて検索する事が出来る様になります。

f:id:nakamura001:20121208193128p:image

他のインストール方法

他のインストール方法としては make を実行したフォルダで以下のコマンドを実行すると

make install

以下のフォルダにコピーされるので

~/Library/Developer/Shared/Documentation/DocSets/

このフォルダで一括管理するというのも良いでしょう。

Unity Advent Calendar 10日目は id:shinriyo さんによる「GoKit実践 シーン3. Tween Flow」です。

関連情報

Generating Dash Docsets - Kapeli

http://kapeli.com/docsets/

Documentation Set Guide: Introduction

https://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/Documentation_Sets/000-Introduction/introduction.html

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/nakamura001/20121208/1354985761