ASDoc Templates for iPhone
長瀬 敦史
あけましておめでとうございます。
久々に年末から年始にかけて、久々に ActionScript を使った案件に関わっていて、楽しくなったので、どこでもリファレンスが読みたいな、と思い、探してもないので、iPhone 用の ASDoc テンプレートを作ったので、公開しました。
テンプレート自体、XSLT で記述されており、UIも、iWebKit というフレームワークを使って作ったので、らくちんでした。
デモはこちら。GitHub プロジェクト、 Spark Project Wiki。
使い方
asdoc および aadoc コマンドの -templates-path
オプションにチェックアウトしたディレクトリを指定します。(flex_sdk の bin にパスを通しておいてください。)
git clone git://github.com/ngs/asdoc-iphone-template.git iphone-templates
asdoc -doc-sources path/to/src \
-templates-path iphone-templates \
-output asdoc-iphone
作り途中です
まだ、AS2 や FlashLite、MXML などのソースコードではテストしていません。問題があったら、是非修正してください。
また、その際に使った、asdoc が 出力する XML をコミットしていただけると助かります。
ASDocの出力するXMLの取り方
ASDocの内部では、XMLが出力され、それをテンプレート内のXSLTで変換してHTMLを出力しています。
XMLは、例えば、こんな感じのものです。
1. 既に存在するASDocのテンプレートの適当なものをコピーします。
(flex_sdkの中にある、asdoc/templatesディレクトリに入っているソースとか)
2. namespaceにredirectが指定されていないxslファイルを編集します。
例: appendixes.xsl
3. 内容を以下に編集します。
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
4. asdocを実行します
asdoc -doc-sources path/to/src \
-templates-path templates-edited \
-output asdoc-output
5. appendixes.xsl の場合、appendixes.htmlが出力されていると思います。
そのファイルの内容が ASDoc 内部の XML となります。
開発環境
ビルドを行わずに反映結果をプレビューするため、Apache Cocoon を使っています。
Cocoon 環境構築方法はこちらに記載してます。(Mac OS X のみ、ごめんなさい、Windows はまだないです。)
以下は構築例です。
- ビルドしたcocoonのディレクトリの中にある、build/webappの中に、devというディレクトリを作ります。
その中に、sitemap.xmapというファイルを作ります。
sitemap.xmap:
<?xml version="1.0" encoding="UTF-8"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <map:pipelines> <map:pipeline> <map:match pattern="asdoc/**"> <map:mount src="file:///path/to/templates-iphone/test/sitemap.xmap" uri-prefix="asdoc"/> </map:match> </map:pipeline> </map:pipelines> </map:sitemap>
cocoonの再起動は不要です。
http://localhost:8888/dev/asdoc/all-classes.html にアクセスして、ページが表示されると成功です。
namespace に redirect を指定している XSLT は、複数の HTML を出力するものです。
それを Cocoon 上でテストするには、class.xsl の様に、単体で動くように加工が必要です。