Movable Type カスタマイズあれこれ

http://hxxk.jp/2004/12/17/2136

記事データ

投稿者

望月真琴

投稿日時

2004-12-17T21:36+09:00

タグ
概要

Movable Type をちょくちょくカスタマイズしていたんですが、それの記録を取っていないことに気付いたので、ここでメモしておこうと思います。

リプライ

3 件のリプライがあります。

記事本文

カスタマイズメモ

Movable Type をちょくちょくカスタマイズしていたんですが、それの記録を取っていないことに気付いたので、ここでメモしておこうと思います。 別件で Movable Type を新規インストールしなければならなくなるだろうし、その時もきっと同じカスタマイズを施すだろうし、 hxxk.jp の分もアップグレード時にまたカスタマイズをする必要があるし、ということで。

ただし、参考記事をそのまま用いてカスタマイズしており、話題の掘り下げを行っていないため、考察やトラックバック送信などは特に行いません。

  1. コメント欄の名前のアンカーの target="_blank" を外す
  2. コメントスパム対策その 1
  3. コメントスパム対策その 2
  4. トラックバックを送信する際の URI の拡張子を外す

コメント欄の名前のアンカーの target="_blank" を外す

コメントを投稿する際に URI を記入していると、コメント投稿後に名前にアンカーが付与されます。 そのアンカーにはお節介にも target="_blank" を伴って生成されるため、 XHTML 1.0 Strict や XHTML 1.1 を宣言している Movable Type 使用者には悩みの種となります。 デフォルトテンプレートは XHTML 1.0 Transitional を宣言しているため、 target="_blank" を指定するのは間違いではありません。 Strict DTD の存在を考慮していないという点で、システムの設計としては片手落ちではあるのですが。

  1. install directory/lib/MT/Template/Context.pm を開く
  2. target="_blank" をキーワードにソース内を検索
  3. target="_blank" の記述を削除
  4. Context.pm をサーバに put
  5. 再構築

Context.pm の記述は Movable Type のバージョンによって異なるため、何行目という記述を参考にするよりもソース内の検索を行った方が確実だと思います。 ( イソムラさん ( 404 ) の書き方がダメと言っているのではありません、念のため。 )

コメントスパム対策その 1

コメントスパムの多くは欧米圏からやってくるので、半角英数字のみのコメントを許可しないという設定。 閲覧者のターゲットに日本人しか想定していないなら、かなり有効な手段だと思います。

  1. install directory/mt-comments.cgi を開き、参考リソースのコードを記述
  2. mt-comments.cgi をサーバに put

試しに半角英数字のみのコメントを投稿してみると、しっかりと 500 Internal Server Error が返ってきました。

コメントスパム対策その 2

たいがいのfloodスクリプトは、mt-comments.cgi を決めうちしてるとおもう という記述に 「ああ、確かにそんな気がするなあ」 と思ったので早速実施。

  1. install directory/mt.cfg を開く
  2. CommentScript をキーワードにソース内を検索
  3. mt-comments.cgi を任意の名前に変更し、 mt.cfg をサーバに put
  4. install directory/mt-comments.cgi を前項の名前に変更し、サーバに put
  5. 再構築

トラックバックを送信する際の URI の拡張子を外す

drry+@->WeblogURI は hxxk.jp と同じ yyyy/mm/dd/HH/MM 形式で、かつ MultiViews を用いて拡張子を外しているのです。 しかし、トラックバックを送信する際の URI のみ .php がついていたのですが、この度それを外す方法が提案されましたので適用。

  1. install directory/lib/MT/App/Trackback.pm を開く
  2. MT::Util::is_valid_url をキーワードにソース内を検索
  3. その一行下に$fixed =~ s/\.php$//; を追加し、 Trackback.pm をサーバに put

これはトラックバックを受信した時の話だったので、撤回。 この記述を適用してしまうと、拡張子を .php として Movable Type を構築しており、かつ MultiViews を有効にしていないサイトからトラックバックが送信された場合に、トラックバックを送信してきた記事の URI が実在しないものになってしまいます。 もしこの記事をご覧になってカスタマイズを行った方がおられましたら、元に戻すことを強く推奨します。

drry+@->Weblog - 今度こそ Trackback で送信する URI から拡張子を抜くにて改めて .php を外す方法が提示されています。 将来的には MT Plugin として公開したい とのことなので、期待しつつ MT.pm 自体をカスタマイズ。

リプライ

3 件のリプライが送られています。

2005-02-26T20:17+09:00 - Trackback で送信する URI から拡張子を抜く < drry+@->Weblog

Trackback で送信する URL から拡張子を抜くつもりが、実は受信する URL を処理していました。申し訳ありませんでした。

2005-02-26T23:03+09:00 - 今度こそ Trackback で送信する URI から拡張子を抜く < drry+@->Weblog

真琴さんから指摘を受け、Trackback で送信する URL を処理しているつ...

2005-06-14T23:28+09:00 - むーばぼーたいぽー弄り < Hatena::Diary::Code-404

タイトル適当。 やっとこさ、メインサイトを構築しなおそうと Movable Type を弄繰り回しております。テンプレートとかじゃなくスクリプト自体を。随所に...

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など