Movable Type を Account Auto-Discovery に対応させるプラグイン
みんな大好きはてなさんが、はてな外部の Blog 等と、その運営者が持つはてな ID を紐付けるための仕様 Account Auto-Discovery を提起し、様々な議論がなされた結果、おおむね仕様が確定し、また、その具体的な利用方法として「はてなブックマーク日記 - ポイント送信機能の追加について」で述べられている通り、外部 Blog のエントリに対して、はてなポイントを送信できる機能のリリースが発表されました。そもそもの議論の流れについては「Hatena_ID_Auto-Discoveryに関する議論 - 徒委記」にリソースへのリンクがまとめられていますので、ご参照ください。
具体的な利用法が見えてきたからには、なにはともあれこの Blog でもさっそく対応しなければ! というわけで作業にかかったのですが、そもそも Account Auto-Discovery は、なにもはてなのみしか使えないというものではなく、他サービスにおいても同様に使えるような仕様になっています。今後、仕様が変わったり、はてな以外のサービスが追従することもあり得ることを考えると、せっかく Movable Type を使用しているのであってみれば、プラグインで対応するのが得策です。そこで、以下の通り、プラグインを作成してみました。
使い方を説明します。とはいっても非常に簡単で、上記のリンク先 mt-account-autodiscovery.pl を、MT のルートディレクトリ内の plugins ディレクトリ(もし存在しなければ、作成してください)にコピーし、はてな ID を示すのであれば、「メインページ」あるいは「個別エントリーアーカイブ」テンプレートの任意の箇所に、以下の通りの要領でタグを付け加えるだけです。
<$MTAccountAutoDiscovery account_name="hatena_id"$>
以下にオプション一覧を示します。
属性名 | 説明 |
---|---|
account_name | 必須。アカウント名を指定します(はてなであれば、はてな ID)。 |
is_xhtml | 任意。ページが XHTML であるか否か。"1" が指定されている場合、アカウント情報をコメントアウトしません。デフォルトは "0" で、コメントアウトされます。 |
account_service_homepage | 任意。アカウントを提供しているサービスのホームページ URI を指定します。デフォルトは "http://www.hatena.ne.jp/" です。 |
オプションの値を指定することで、今後はてな以外のサービスが AccountAutoDiscovery に対応した場合でも、簡単にアカウント情報を追加できるような仕組みになっています。注意点としては、いまのところ「メインページ」あるいは「個別エントリーアーカイブ」テンプレートにしか対応していません(試してないのでわかりませんが、他のテンプレでもいけるかも)。しかしまぁ、アカウント情報を掲載することの意味からいって、それで十分なのではないかとは思います。また、動作検証は Movable Type 3.171-ja にて行いましたが、ver. 2 系統でも動くはずです。