「 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 にアップしておきました。