LOVEはじめました。
ってことで、愛のように全てを包むMT4.Xのプラグインを作ってみました。
Whole Lotta Love
LOVEプラグインは、テンプレート全体を囲んでHTMLソースにはびこる改行を削除するプラグインです。
ついでに、文末の無駄な空白やタブも削除したりします。
Come and Get Your Love
LOVEプラグインは、MT の plugins ディレクトリに /LOVE/ ディレクトリごと転送するだけで利用できます。
正常にインストールされると、システムメニュー > ツール > プラグイン の一覧にリストされます。
Not Enough Love
テンプレートのソースが以下のようになっている場合、、、
<MTSetVar name="hoge" value="foo">
<MTSetVar name="page" value="bar">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
:
:
:
:
</html>
構築したHTMLソースには SetVar行などの残骸として空行ができます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
:
:
:
:
</html>
Power of Love
例えば、
メインページやアーカイブインデックス、アーカイブテンプレート群で<mt:LOVE>を以下のように使用すると、、、
<mt:LOVE>
<MTSetVar name="hoge" value="foo">
<MTSetVar name="page" value="bar">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
:
:
:
:
</html>
</mt:LOVE>
書き出したHTMLはきっちりつめられています。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
:
:
:
:
</html>
超シンプルな機能ですが、テンプレートに愛は欠かせませんよ、やっぱり(´ー`)
この愛は始まってもいない
MT4以降で SetVar / GetVar タグの利用が広まったかと思いますが、同時にソースファイルの無駄な改行も増えてしまったかと思います。そうでなくても、テンプレート段階の見やすさを優先した改行の数々がHTMLソースに無残な空行を作ってしまいます。MTに ltrim や rtrim といったグローバルモディフィアがデフォルトで用意されているのもそういった背景があるのだと思います。
そこで、ひとつひとつ対応するのではなく、テンプレート全体を囲んでまとめて無駄な改行をなくしてしまえればいいのに、ということで開発したのが LOVE プラグインです。
SetVar / GetVar は好きなだけ使えばいいし、ウィジットやテンプレートモジュールでも好きなだけ改行して読みやすくして、最後にファイルを出力するテンプレートに <mt:LOVE> </mt:LOVE> でまとめて削除です。楽。
ただし、
残念ながら、LOVEプラグインはダイナミックパブリッシングに対応していません。
また、Movable Type3.X では使えないと思います。
動作確認は Movable Type4.21 で行いました。
MT4.X の方は、是非、どうぞ♥
