2008-06-06

Dreamweaver Extensionの開発にチャレンジしてみる (その1)

nakajimanさんの記事を参考に私も簡単なDreamweaver Extensionを開発してみました。同じ物ではつまらないので私はメニューに項目を追加して、選択すると予め作成しておいたHTMLを表示する機能拡張を作成します。

初めての環境で開発する場合、最初のとっかかりが大切です。道をいきなり間違えないように事前のお勉強は大切だと思ったのでAdobe社が公開している「Dreamweaver CS3 - 拡張ガイド」を読んでみました。

・・・・・・・・・。10分後クローズボタンをクリック。
nakajimanさんが仰っていた「要点が掴みにくかったり、具体的な振る舞いまで言及していなかったり、なんかこう入り口の壁が高い印象があって、取り組むのを敬遠していました。」というのを理解。「はじめに」の章の内容が悪い。具体性に欠けていて何から手をつけてよいかわかりません><

どうしたものだろうと、Dreamweaverと一緒にインストールされたアプリを眺めたところ関係ありそうなアプリを発見。「Adobe Extension Manager」。すごく重要そう。起動して触ってみたところ、Fileメニューに拡張機能をインストール、作成、削除する項目を発見。ここから始めれば良さそう。

とりあえず「拡張機能の作成」をクリックしたところ、mxi拡張子のファイルを要求するファイルダイアログが表示されました。mxiファイル?何それ。調べたところ「Adobe 拡張機能情報ファイル」だそうで、拡張機能の名称やバージョン、概要、使用ファイルなどを記述したファイルなのだそうです。拡張ガイドの読んだところにはそんなファイルの事書いてなかったですよ。最初に道を間違えないようにお勉強したけど結局道に迷いはじめてる…。でも進んでみなくては何も見えてこないのでAdobe Extension Managerを信じてみることに。

mxiファイルの作成は適当な機能拡張のを雛形にしたほうが早いと思ったので、以前nakajimanさんが紹介されていたmicroformats拡張機能を参考にすることにしました。パッケージをここからDLして、Adobe Extension Managerを使ってインストール。

そしてどこかにないかなと探したところ、あったあった「microformats.mxi」ファイル。
(C:\Documents and Settings\(ログインユーザ)\Application Data\Adobe\Extesion Manager\Configuration\Extensions\microformats.mxi)

これを参考に以下のmxiファイルを作成。機能拡張名は適当に「Aiueo」と命名。
話が長くなってしまったので本日はここまで。下記の内容については次回説明します。先に結論をお伝えしておくと、次回で拡張機能の開発が無事に終わります。インストール・アンインストールもできるハッピーエンドですのでご安心ください。それでわでわ。
<macromedia-extension name="Aiueo" version="0.1.0" type="Suite">
<author name="aquilegia" />

<products>
<product name="Dreamweaver" version="9" primary="true" />
</products>

<description><![CDATA[
あいうえお機能拡張。
]]></description>

<ui-access><![CDATA[
「ヘルプ」メニューから「Aiueo.htmlを開く」を選択して実行する。
]]></ui-access>

<license-agreement><![CDATA[
]]></license-agreement>

<files>
<file source="Aiueo.htm" destination="$dreamweaver\Configuration\Menus\Aiueo\" />
</files>

<configuration-changes>
<menu-insert insertAfter="DWMenu_Help_About">
<separator />
<menuitem id="DWMenu_Help_Aiueo" name="Aiueo.htmlを開く"
enabled="true" file="Menus/Ael/Aiueo.htm" />
</menu-insert>
</configuration-changes>
</macromedia-extension>

0 件のコメント: