« 2008年5月 | メイン | 2008年7月 »

2008年6月 アーカイブ

2008年6月 6日

MTプラグインの雛形を作るスクリプト MTPlugin-Starter Ver0.70公開

Movable Typeのプラグインを開発する場合、毎回同じようなファイルを作って、ディレクトリ構成を作って、それから、さて開発という流れになるわけですが、こういう作業は自動化したいですよね。
そこで、エムロジックではプラグインの開発を行う時に、プラグインの雛形を作るスクリプトを使っています。
今回、このプラグインの新バージョンVer0.70をリリースしましたので、お知らせします。
修正点は「Bootstrapおよび、method対応と、いくつかのバグフィックス」となっています。

SourceForge.jp: Project Info - MTPlugin-Starter

このスクリプトを使うとプラグイン開発がとても楽になります。
ぜひ、お使いください。

オープンソースのプロジェクトですので、さらに使いやすくするためのパッチなども募集しております。

お問い合わせ

エムロジック株式会社ではMovable Typeによるサイト構築やプラグイン開発、iPhone・Windows等のアプリケーション開発業務を行っています。
お問い合わせはこちらまで。

2008年6月11日

MTPlugin-StarterをWindowsで使おう!

エムロジックでは、プラグイン開発をスピーディに行うために独自に開発したツールを使っています。
これは、現在、オープンソースとして、「SourceForge.JP: Project Info - MTPlugin-Starter」で公開していますので、自由に使ってもらえます。
今回は、このMTPlugin-StarterをWindows上で使うための方法を解説してみたいと思います。

MTPlugin-Starterの入手

まず、MTPlugin-Starter本体を入手しましょう。
Project File Listから、「mt-plugin-start-***.tar.gz(***はバージョンによって異なります)」をダウンロードして、解凍します。
解凍して出来た「mt-plugin-start.pl」がツール本体になります。
どこか適当な場所に保存しておいてください。
ここでは、「C:¥TOOLS¥MTPlugin-Starter」に保存したと仮定して進めます。

ActivePerlのインストール

MTPlugin-StarterはPerlという言語で書かれているので、これを実行できるようにしなくてはいけません。
ここでは、Windows用のPerl実行環境である「ActivePerl」を使います。
すでに、インストールしている場合は、それをそのまま使ってください。
ActiveState - ActivePerl - The complete and ready-to-install Perl distribution. - Dynamic Tools for Dynamic Languages」からActivePerlをダウンロードします。

Get%20ActivePerl.jpg

「Get ActivePerl」をクリックします。

download.jpg

「Download」をクリックします。

user.jpg

名前と、メールアドレスを入力してから、「Continue」ボタンをクリックします。

msi.jpg

ActivePerl 5.10をダウンロードします。「MSI」をクリックしてインストーラをダウンロードします。


モジュールのインストール

標準のままでは足りないモジュールがあるので、それをインストールします。
Windowsのスタートメニューから、「アクセサリ」→「コマンド プロンプト」を起動します。
まず

ppm install YAML

と入力してから、ENTERキーを押し、YAMLモジュールをインストールします。

Downloading ActiveState Package Repository packlist...not modified
Downloading YAML-0.66...done
Unpacking YAML-0.66...done
Generating HTML for YAML-0.66...done
Updating files in site area...done
  27 files installed

このような表示がされればインストール成功です。
続いて、Template-Toolkitをインストールするのですが、標準のままではインストールできないので、

ppm rep add uwinnipeg http://cpan.uwinnipeg.ca/PPMPackages/10xx/

と入力してから、ENTERキーを押します。
もし使っているActivePerlのバージョンが5.8なら

ppm rep add uwinnipeg http://theoryx5.uwinnipeg.ca/ppms/

としてください。

Downloading uwinnipeg packlist...done
Updating uwinnipeg database...done
Repo 4 added.

このように表示されます。
最後に、Template-Toolkitをインストールします。

ppm install Template-Toolkit

と入力してから、ENTERキーを押します。途中で

Proceed with install? [yes]

Under which directory? [C:¥Program Files]

と聞かれるので、どちらもENTERキーを押してください。

Downloading Template-Toolkit-2.19...done
Downloading AppConfig-1.66...done
Unpacking Template-Toolkit-2.19...done
Unpacking AppConfig-1.66...done
Generating HTML for Template-Toolkit-2.19...done
Generating HTML for AppConfig-1.66...done
Updating files in site area...done
Downloading Template-Toolkit-2.19 install script...done
Running Template-Toolkit-2.19 install script...
I can now install some optional tt2 stuff, including
documentation, examples, and the splash library, if you
like. This can go in any convenient location - the default
is "C:¥Program Files". The installation will go under
a "tt2" subdirectory of the directory you specify.

Proceed with install? [yes]
Under which directory? [C:¥Program Files]
Fetching http://theoryx5.uwinnipeg.ca/ppms/scripts/tt2.tar.gz ...  done!
Extracting files under C:¥Program Files ... please wait ... done!
done
 154 files installed

このようになれば、インストール成功です。

実際に使ってみる

ここからの作業もコマンド プロンプトから行います。
mt-plugin-start.plのあるディレクトリに移動します。
ここでは「C:¥TOOLS¥MTPlugin-Starter」にあるとして、

cd ¥TOOLS¥MTPlugin-Starter

と入力して、ENTERキーを押します。
では、実際にMTPlugin-Starterを使って、プラグインの雛形を作ってみます。

perl mt-plugin-start.pl

と入力して、ENTERキーを押します。
MTPlugin-Starterでは、対話的に雛形を作っていくことができます。

Your name:   CHEEBOW

プラグインの作者名を入力します。これは、最初の一度だけ聞かれます。
ここからの作業は、入力後にENTERを押すことで入力内容を確定します。

Your site URL:   http://cheebow.info/chemt/

プラグイン作者のサイトのURLを入力します。これも、最初の一度だけ聞かれます。

Plugin's version at start:  [0.1]

プラグインの最初のバージョン番号を入力します。これも、最初の一度だけ聞かれます。
お好みで、「0.50」始まりにしても良いでしょう。
なお、これらの設定をあとで変えたいときは、

perl mt-plugin-start.pl --init

とすると、再度入力できます。

Enter your new plugin's name:   Hello

プラグインの名前を入力します。

Do you want to include URL of documentation? (y/n):  [n]

ドキュメントのURLをプラグインに含むかどうかを指定します。
「y」か「n」キーを押します。現在の設定は「[n]」のように表示されていて、これをそのまま使う時にはENTERキーを押すだけでもOKです。

Does your plugin have an original MT::Object? (y/n):  [n]

独自のMTオブジェクトを持つかどうかを指定します。

Does your plugin have configure templates? (y/n):  [n]

プラグインの設定を行えるようにするかどうかを指定します。

Does your plugin have scheduled tasks? (y/n):  [n]

スケジュールタスクを使うかどうかを指定します。

Does your plugin have transformer? (y/n):  [n]

管理画面の書き換え(Transformer)を行うかどうかを指定します。

Does your plugin have template tags? (y/n):  [n] y

テンプレートタグを拡張するかどうかを指定します。

Does your plugin have text filters? (y/n):  [n]

グローバルフィルタを追加するかどうかを指定します。

Does your plugin use any application callbacks? (y/n):  [n]

アプリケーションのコールバックを使うかどうかを指定します。

Does your plugin use MT4 structure? (y/n):  [n] y

MT4形式のプラグインにする場合は、「y」を入力します。「n」を入力するとMT3形式のプラグインの雛形が作成されます。

Your new plugin settings are...
    Plugin Name           : Hello
    include documentation link    : no
    using MT::Object      : no
    using config template : no
    using scheduled tasks : no
    using transformer     : no
    using template tags   : yes
    using text filters    : no
    using app callbacks   : no
    using MT4 structure   : yes
EVERYTHING IS OK? (y/n):  [n] y

今までの選択状況が表示されます。
今回は、「Hello」という名前で、テンプレートタグを拡張し、MT4形式のプラグインを作るということになっています。
問題がなければ、「y」を入力します。

Creating Hello/plugins/Hello/mt-hello.pl
Creating directory Hello/plugins/Hello/lib/Hello
mkdir Hello/plugins/Hello/lib
mkdir Hello/plugins/Hello/lib/Hello
Creating Hello/plugins/Hello/lib/Hello/L10N.pm
Creating directory Hello/plugins/Hello/lib/Hello/L10N
mkdir Hello/plugins/Hello/lib/Hello/L10N
Creating Hello/plugins/Hello/lib/Hello/L10N/en_us.pm
Creating Hello/plugins/Hello/lib/Hello/L10N/ja.pm
Creating directory Hello/plugins/Hello/php
mkdir Hello/plugins/Hello/php
Creating Hello/plugins/Hello/php/block.mtcontainertag.php
Creating Hello/plugins/Hello/php/block.mtconditiontag.php
Creating Hello/plugins/Hello/php/function.mttag.php
Creating directory Hello/docs
mkdir Hello/docs
Creating Hello/docs/mt-hello.html
Creating Hello/docs/mtdocs.css
...............finished!

このように表示され、Helloプラグインの雛形は、mt-plugin-start.plがあるのと同じディレクトリの「Hello」ディレクトリの中に作成されます。
この後は、その雛形を元にして、実際のプラグインを作っていくということになります。

面倒だった、MTプラグインの最初のステップが大幅に改善されます。
ぜひ、お試しください!