拙著「WordPress Web開発逆引きレシピ」が発売されました。
WordPressの様々なカスタマイズについて、逆引きの形式で取り上げています。
PHP 7.0での動作確認も行っています。
余分なホワイトスペースを削除するプラグイン
Movable Typeによって出力されたHTMLを見ると、余分なホワイトスペース(スペースや改行など)がかなり含まれていることがわかります。
特に、Movable Typeの標準のテンプレートは、内容を読みやすくするためにインデントが使われているので、出力されたHTMLにホワイトスペースが多く含まれます。
それらのホワイトスペースは、ページにアクセスがあった時の転送量を増やすことにつながります。
サーバーの負荷を少しでも低くしたいなら、HTMLから余分なホワイトスペースを削除したいです。
かといって、HTMLの元のテンプレートからホワイトスペースを削除すると、テンプレートの可読性が下がります。
そこで、テンプレートタグの出力結果から、余分なホワイトスペースを削除するプラグインを作りました。
これなら、テンプレートの可読性を損なわずに、出力されるHTMLから余分なホワイトスペースを削除することができます。
なお、このプラグインはMovable Type 4専用です。
1.インストール
このプラグインは、以下のアドレスからダウンロードすることができます。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。
Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。
ファイルを解凍すると、「TrimEx」というフォルダができます。
このフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。
2.trim_exモディファイア
このプラグインをインストールすると、「trim_ex」というモディファイアが追加されます。
このモディファイアの書き方は以下のようになります。
書き方 | 動作 |
---|---|
trim_ex="ltrim" | 文字列の各行の先頭にあるホワイトスペースを削除します。 |
trim_ex="rtrim" | 文字列の各行の最後にあるホワイトスペースを削除します。 ただし、行末の改行は残します。 |
trim_ex="trimcr" | 文字列の各行のうち、ホワイトスペースのみの行を削除します。 |
また、これらのモディファイアを組み合わせて使いたい場合は、「trim_ex="ltrim,rtrim,trimcr"」のように、削除方法を指定する文字列をコンマで区切って並べます。
例えば、以下のようにMTEntryBodyタグに「trim_ex="ltrim,rtrim,trimcr"」のモディファイアを追加すると、ブログ記事の本文に含まれる余分なホワイトスペースがすべて削除されます。
<MTEntryBody trim_ex="ltrim,rtrim,trimcr">
なお、ltrim/rtrim/trimcrとも、<pre>タグと</pre>タグの間にあるホワイトスペースは削除しません。
3.ApplyModifierプラグインとの組み合わせ
テンプレート内の任意の部分にこのモディファイアを適用したい場合、拙作のApplyModifierプラグインと組み合わせます。
例えば、以下のように、テンプレート全体をMTApplyModiferタグで囲み、trim_exモディファイアを指定すると、出力されたページ全体から余分なホワイトスペースを削除することができます。
<MTApplyModifier trim_ex="ltrim,rtrim,trimcr"> テンプレートの内容 </MTApplyModifier>
4.PHPのincludeと組み合わせる場合の注意
ページの中にPHPのinclude文がある場合、ページが読み込まれる時点でincludeの処理が行われます。
そのため、includeしたファイルの中にホワイトスペースがあると、それは削除されずに、Webブラウザに送信されることになります。
includeするファイルからもホワイトスペースを削除したい場合、そのファイルの元になるテンプレートにtrim_exモディファイアを追加して、そのファイルが再構築される時点でホワイトスペースを削除するようにします。