Movablet Type では、プラグインを作って自由に MT タグを拡張することができます。しかし、ちょっとした MT タグを追加するにしても、MT プラグインのお作法にのっとって、config.yaml を書き、決まったディレクトリ構造で色々なファイルを作り、と少々面倒です。 そんな時は、アルファサードさんの Github で公開されている EasyMTML というプラグインを使う...
Movablet Type では、プラグインを作って自由に MT タグを拡張することができます。しかし、ちょっとした MT タグを追加するにしても、MT プラグインのお作法にのっとって、config.yaml を書き、決まったディレクトリ構造で色々なファイルを作り、と少々面倒です。
そんな時は、アルファサードさんの Github で公開されている EasyMTML というプラグインを使うと、新規の MT タグの登録が少し便利になります。
まずは EasyMTML プラグインを Github からダウンロードします。上記リンクの「zip」からダウンロードできます。
ダウンロードしたら zip ファイルを解凍します。
解凍したフォルダの中に plugins フォルダがあるので、その中の EasyMTML フォルダを、Movable Type のインストールディレクトリ直下の plugins ディレクトリにアップロードすれば OK です。
まず、インストールした EasyMTML プラグインのディレクトリ構造を見ておきましょう。
この EasyMTML ディレクトリの下にある「perl」にスタティックパブリッシング用の MT タグのファイルを、「php」にダイナミックパブリッシング用の MT タグのファイルを、決まった規則のファイル名で入れれば、それぞれ MT タグとして認識されるようになっています。
命名規則は、次表のようになっています。これは、もともと MT のダイナミックパブリッシング用のタグを登録する方法と同様で、拡張子が違うだけです。なお、以下の表では、次のような MT タグを追加するという想定です。
スタティック用 | ダイナミック用 | |
---|---|---|
ブロックタグ | block.mtgreeting.pl | block.mtgreeting.php |
条件タグ | block.mtifmorning.pl | block.mtifmorning.php |
ファンクションタグ | function.mthello.pl | function.mthello.php |
モディファイア | modifier.ikurachan.pl | modifier.ikurachan.php |
さて、肝心のファイルの中身ですが、スタティック用のファイルについては、無名サブルーチン(sub { } )でOKです。
ダイナミック用については、関数名に命名規則があります。その命名規則にそって上記のタグを作るとすると、次のような関数名になります。
試しに上の表にある MT タグを作ってみました。タグの説明は割愛します。
このサンプルをインストールすると、次のようなテンプレートが書けてしまいます。
<p>かつお「いくらちゃん、<$mt:Hello$>!」</p>
<p>いくら「<$mt:Hello ikurachan="1"$>」</p>
<p>かつお「父さん、<mt:Greeting>いい天気だね!<$mt:Hello$>!</mt:Greeting>」</p>
<p>波平「<mt:IfMorning>今は午前中だから”おはよう”だろ!<mt:Else>宿題やりなさい</mt:IfMorning>」</p>
以上です。