MT プラグイン習作 - ModifyURL プラグイン

公開

「 Perl はよく分からない」と言いつつも、「 Movable Type のプラグインが書けると面白いんだろうな」と思ったりしています。

今日は、「グローバル・モディファイアプラグインの開発について」を読みつつ、出力される URI を編集するグローバル・モディファイアプラグインを書いてみました。

グローバル・モディファイアであれば、ドキュメントを読むこと、また Perl の作法を覚えることで、内容にもよりますが比較的簡単に書けるなと感じました。このプラグインは1時間ぐらいだったでしょうか。

relative モディファイア

出力される URI を、サイトルートからのパスに変化するものです。 Wordpress にも Relative URL プラグインがありますね。

<$mt:EntryPermalink relative="1"$> のように指定すると、 /2015/08/mt_codemirror_folding.html のようなパスで出力されます。

ちなみに、他社さんにこのようなプラグインがあるのは存じております...。

sp モディファイア

スマートフォン版を用意する際、例えば https://www.anothersky.pw/sp/ のような URI にすることがあるかと思います。記事のパーマリンクを出力する際は /sp を付ける必要があります。

そこで <$mt:EntryPermalink sp="1"$> のように指定すると、 https://www.anothersky.pw/sp/2015/08/mt_codemirror_folding.html のようなパスで出力されます。

relative モディファイアとの併用も可能で、 <$mt:EntryPermalink relative="1" sp="1"$> のように指定すると、 /sp/2015/08/mt_codemirror_folding.html のようなパスで出力されます。

ちなみに、今回のようなサイトの仕様で記事のパーマリンクを出力する際、みなさんはどうされているのでしょうか...?

2015年9月12日追記

処理時にウェブサイト URL を考慮するように変更しました。よってウェブサイト URL が https://www.anothersky.pw/blog/ の場合は、 https://www.anothersky.pw/blog/sp/2015/08/mt_codemirror_folding.html のようなパスで出力されます。

パス( sp など)の設定画面は、いずれ作るかもしれません。

ソースコード

hideki-a/mt-plugin-modifyurl にアップしておきました。