改行を削除する MT Plugin – ApplyModifier

Movable Type Tips Plugin: ApplyModifier

Movable Type 4では、各ページのソースの頭に、数行の改行が入ってしまうのは有名な話。それは、テンプレートに変数を定義しているソースが入っていて、再構築したときに、そのソースの改行が残ってしまうというもの。バグというか、仕方がないというか、なんともすっきりしないのだが、PHP化したときにはXML宣言の前に意味の無い改行が入ってしまい、見た目見苦しいし、表示はされるが構文上のエラーと、もの凄く最悪な状態になる。その無駄な改行を削除してくれる、Movable Type 4専用の素晴らしいプラグインを発見した。

このプラグインは、Movable Type テンプレートのソースをフィルタリングできる。使い方は幅広いようだが、残念ながら作者のH.Fujimoto氏のブログでも、一部しか紹介されていない。だが、ソースの無駄な改行を省いてくれるだけでも、上記の理由で充分導入する意味がある。Movable
TypeでPHPを使っていて、テンプレートの始めに変数定義のMTタグを書いている人は、注目すべきプラグインだ。

【1】インストール

「ApplyModifier」のインストールは、とてもシンプル。まず作者のH.Fujimoto氏のブログ「The
blog of H.Fujimoto」
から、プラグインをダウンロードする。ここのページに解説とダウンロードリンクが張られている。

プラグインをダウンロードして解凍したら、FTPでサーバに接続し、Movable Type 4がインストールされているディレクトリの「Plugins」へ、フォルダごとアップロード。念のためにMovable
Type 4の管理画面へアクセスし、システムメニューのプラグインへアクセスしてみて欲しい。プラグイン一覧の中に「ApplyModifier」が表示されていれば、インストール完了だ。

【2】使い方

今回は無駄な改行を省く事を目的に解説するが、「ApplyModifier」の機能の一部に過ぎないということ。かなり未知の力を秘めたプラグインということを忘れないで欲しい。

Movable Type 4 デフォルトのテンプレートの場合、メインページ、アーカイブインデックス、ウェブページ、ブログ記事、ブログ記事リストと、ブログを構成するページのテンプレートは、合計5個。まず、これらのソースの最初に<MTApplyModifier
ltrim="1">。一番最後</MTApplyModifier>を追加する。

たったこれだけで、ソース始めと最後の複数の改行やスペースを削除してくれる。素晴らしい!!

【3】説明

テンプレート・タグ <MTApplyModifier>は、グローバル・モディファイアのアトリビュートが利用できる。Movable Typeのマニュアル「Movable
Type グローバル・モディファイアリファレンス」
にも記載されているので、一読してみることをお勧めする。これを参考にし、アトリビュートをうまく組み合わせて使いこなせば、いろいろなことができそうだ。

たとえば、今とっさに考えついたことだが、「capitalize」アトリビュートを使えば、英単語の最初の文字を大文字に、他は小文字に変換できる。使い方は以下の通り。

<MTApplyModifier capitalize="1">SCREAMO</MTApplyModifier>

結果は「Screamo」となる。たとえばこれを、タグクラウドに利用すれば、文体が整形され、統一感が出るし、エントリー名に英文を多く利用しているのならば、エントリーリスト一覧に利用しても、なかなか気持ちいい。

このように、様々な利用方法ができる「ApplyModifier」は、地味だけれども様々な用途に利用できるプラグイン。これを利用して、Movable
Type 4でサイトを構築すれば、今まで実現不可能だったことが、可能となるかもしれない。一押しのプラグインだ!!

  • ソースコード行頭の空白を削除する

    MT各テンプレートでSetVarを使って変数を定義していると、生成されたページのソース…

related story