Hatena::Blog::Code404

日々のことをつらつらと。

むーばぼーたいぽー弄り

タイトル適当。

やっとこさ、メインサイトを構築しなおそうと Movable Type を弄繰り回しております。テンプレートとかじゃなくスクリプト自体を。随所にころがってるノウハウを次々に適用させまくりー。んで、クールな URI は変わらないを受けて拡張子を外してる方も多いでしょうが、 permalink から拡張子を消す方法を発見。これを行えば Trackback で送信する URI から拡張子を抜くという方法も使用しなくて済む。

/lib/MT/Entry.pm の permalink サブルーチンの最後の行の url; の直前に以下の行を追加。

$url =~ s|(\.\w+)?\.\w+(#[\w-:\.]+)?$|$2|;

これで permalink から拡張子は一切消えます。 #hoge とかの ID へのリンクは残るように配慮。コンテントネゴシエーションも配慮。不具合起きても知りません。んべー。

上記では予約投稿をしたらエラー吐くそうです。下記のように変更すればだいじょーぶ!

$url =~ s|(\.\w+)?\.\w+(#[\w:\.-]+)?$|$2|;

drry さんがプラグイン化してくれてるので、そちらの使用を推奨。まじ推奨。