テンプレートの再構築結果を部分的にファイルに出力するプラグイン

Movable Typeでテンプレートを再構築する際に、<MTWriteToFile>~</MTWriteToFile>のタグで囲んだブロックを、任意のファイルに出力するプラグインを作りました。
Movable Type 4以降で動作するはずです(4.21で動作確認しました)。

1.ダウンロードとインストール

このプラグインは、以下からダウンロードすることができます。

WriteToFile_1_02.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたファイルを解凍すると、「WriteToFile」というフォルダができます。
このフォルダを、Movable Typeのpluginsディレクトリにアップロードします。

2.基本的な使い方

このプラグインをインストールすると、MTWriteToFileというブロックタグが追加されます。
基本的には、このタグは以下のような書き方をします。

<MTWriteToFile file="出力先ファイル名">
ファイルに出力する内容
</MTWriteToFile>

ブロックの内部は、通常はテンプレートの再構築結果には出力されず、fileモディファイアで指定したファイルにのみ出力されます。

また、出力先ファイル名は、相対パスまたは絶対パスで指定します。
相対パスで指定した場合、通常はサイトパス(ブログの出力先のディレクトリ)を基準にした位置にファイルを出力します。

3.モディファイア

MTWriteToFileタグでは、以下のモディファイアを指定することができます。

3-1.archive_pathモディファイア

出力先ファイル名を相対パスで指定した際に、サイトパスではなく、アーカイブパスを基準にするようにします。

3-2.outモディファイア

「out="1"」のモディファイアを指定した場合、MTWriteToFileタグのブロックの内部をファイルに出力するとともに、テンプレートの再構築結果にも出力します。

3-3.no_fileモディファイア

「no_file="1"」のモディファイアを指定した場合、MTWriteToFileタグのブロックの内部をファイルに出力しません。
このモディファイアとoutモディファイアを組み合わせることで、状況に応じて、ブロックの内容をファイルに出力するか、あるいはテンプレートの再構築結果に出力するかを分けるようなことができます。

3-4.overwriteモディファイア

このプラグインでは、ブロックの再構築結果と、出力先のファイルの内容が全く同じである場合、通常はファイルを上書きしないようになっています。
そのような場合でも強制的にファイルを上書きしたい場合は、「overwrite="1"」のモディファイアを指定します。

3-5.bomモディファイア

「bom="1"」のモディファイアを指定すると、出力ファイルの先頭にBOM(Byte Order Mark)を付加します。