Movable Typeでタグで括った部分を処理しない「Ignoreプラグイン」
先日エントリーした「MTIgnore タグ」を Movable Type 3.2 で利用するためのプラグインです。
「タグで括られた部分を処理しない」というものですので、「プラグイン」というのはおこがましいのですが、テンプレートに色々なカスタマイズ、特に MTタグをそのまま残せるのがかなり便利と感じました。
実は、不要なMTタグにHTMLコメントアウト(<!-- ? -->
)を施ししても、再構築時点ではそのMTタグは処理対象となってしまいます(Movable Type はHTMLコメントアウトを認識しないため)。つまりその分パフォーマンスに影響し、さらにHTMLソースに展開されたMTタグが残ってしまいますのでファイルサイズにも影響します。
このプラグインを用いることで、再構築対象にならず、HTMLソースにも残らないため、これらの欠点を一気に解消することができます。まだ 3.2 をお使いの方で興味のある方はお試しになってください。
なお、3.3 では MTIgnore タグがデフォルト機能としてサポートされますので、アップグレード後、本プラグインを無効にすればテンプレートに記述した MTIgnore をそのまま使うことができます。
1.プラグインのダウンロード
下記のリンクよりプラグインアーカイブをダウンロードしてください。
2.プラグインのアップロード
プラグインアーカイブを解凍して、中にある Ignore.pl を plugins ディレクトリにアップロードしてください。
管理画面の
メイン・メニュー > システム・メニュー > プラグイン
で使用中のプラグイン一覧が表示されますので、その中に「Ignore バージョンx.xx」と表示されていればOKです。
3.タグ
このプラグインが提供するMTタグは
<MTIgnore>
です。
例えば、リスト1.1のように、一部分を MTIgnore
で括ります。
リスト1.1 MTIgnore タグの使用例1
コメント1
<MTIgnore>コメント2</MTIgnore>
コメント3
この場合、MTIgnore
で括られた部分は HTML に現われず、リスト1.2 のように
リスト1.2 リスト1.1 のHTMLソース
コメント1
コメント3
という表示になります。
コメント文字列だけでなく、MTタグを MTIgnore
で括ることも可能です。リスト1.3 のように括れば、生成された HTML ページに MTEntries
タグの内容は何も表示されません。
リスト1.3 MTIgnore タグの使用例2
<MTIgnore>
<MTEntries>
<$MTEntryTitle$><br />
</MTEntries>
</MTIgnore>
4.エントリーの中で使いたい場合
「書いた記事をエントリーに残しておきたいけれども見られたくない」という場合は、エントリーの中で MTIgnore
を利用することで、生成されたHTMLに表示されなくなります。この技を実現するには「エントリーの中でMTタグを使う」をご覧ください。*1
*1:記事の概要にあたる部分で用いた場合、MTEntryTrackbackData が展開された内容に記述が残る場合があります。
- Movable Typeでコンテンツタイプのフィールド名を出力する「ContentFieldNameプラグイン」
- Movable Typeで指定したテンプレートのアーカイブパスを取得できる「EntryLinkByTemplateNameプラグイン」
- Movable Type 5でお気に入りリストが作れる「Linklistプラグイン」バージョンアップ
- Objectプラグイン v0.10(ダイナミックパブリッシング対応)
- Objectプラグイン v0.03
- Object プラグイン v0.02
- CommentCustomFieldプラグイン v0.10
- EntryCategoryID プラグイン v0.10
- CommentCustomField プラグイン v0.04(ラジオボタン・チェックボックス・プルダウンメニュー対応)
- CommentCustomFieldプラグイン v0.02(画像のアップロード対応)
- RecommendedEntry プラグイン
- Split プラグイン
- ArchiveDateFooter プラグイン(MT4.2 対応)
- FolderLink プラグイン
- BlogArchiveRelativeURLプラグイン
25行目の
MT::Template::Context->add_container_tag(Ignore => sub {''});
を
MT::Template::Context->add_container_tag(Ignore => sub {''}) if (MT->version_number < 3.3);
とすると、より安全ですよ。
MTのバージョンが3.2x以下なら <MTIgnore> タグが使えるようになるし、間違ってMT3.3xにインストールしてもタグは追加されないから競合も起きません。
MT3.2xからMT3.3xへのバージョンアップ時も問題なし。
>あんちもん2さん
こんにちは。
アドバイスありがとうございました。
プラグインは別途バージョンアップしたいと思います。
ではでは!