« 英語の"style" | メイン | Google AdSense導入断念? »

2006年04月08日

Movable Typeにアクセスカウンタをつけてみる

Movable Type (MT) のカスタマイズのおはなし. また今回もマニア向けですので,わからないひとは早々に立ち去るがよい!

*mt-sukeroku-plus.plプラグインの導入

まず,第一に,ささやかなる実験場の開発室(HSJ.jp)のDonaDona(KITAO Masato)さんによるmt-sukeroku-plus.plを導入しました.もう,感動の嵐!Pukiwikiのエミュレーションができるので,ワタシのようにPukiwikiをblog代わりに使っていた者にとってはMTの操作性を根本からくつがえすようなpluginです.作者のDonaDonaさんには深く感謝いたします.

インストールは,単にpluginsディレクトリに,mt-sukeroku-plus.plを放り込んで,"chmod u+x *.pl"で実行可にしてサイトを再構築するだけです.詳しい方法は導入ガイドにあるとうりです.MT version 3.2-ja-2では一部設定項目の日本語訳が違いますが(「テキストフォーマット」→「改行設定」など),問題なくできるでしょう.

*MTにアクセスカウンタをつけてみる

なんでわざわざスケロクプラスを導入しようかと思ったのかというと,以下の説明で,<pre>...</pre>タグを使ってもなかなかうまくいかず(具体的には整形タグ内の不等号記号がタグ扱いになってしまう),発狂しそうになったからなんですね.で,ついにPukiwikiの書式(行頭半角スペースで整形済みを意味する)がつかえるようになったので,どんどん説明いってみましょう

*MTでのアクセスカウンタ表示のまとめ

MTは最終的にはindex.htmlを静的に出力するシステムですから,そこにSSIを適用すれば昔ながらのアクセスカウンタが実現できるわけです.

*設定方法

  • MTの出力ファイル名を"index.shtml"にする
    さくらインターネットの設定ではSSIを利用するためには拡張子が"shtml"である必要があるので,テンプレート「メインページ」の出力ファイル名をindex.shtmlに変更する.そしておそらくindex.htmlがあるとそちらが優先されるはずなので,index.htmlは削除.
  • お好きなcgiをインストール
    ワタシはさくらインターネットサーバーコントロールパネルから"TEXT COUNTER"をインストールしました(CGIの公開先はこちら).インストール先はとりあえず"counter"としときました.
  • テンプレートの変更
    「メインページ」テンプレートの適当なところに以下のようにSSIタグを挿入.
<h2>ご来場のお客様</h2>
<ul>
 <!--#exec cgi="../counter/txcount.cgi"-->
</ul>
  • CGIの出力をカスタマイズ
    ワタシのつかっているテンプレートデザインでは<ul><li></li></ul>がCSSで指定されているので,それに従ってtxcount.tmpを以下のとおりシンプルにしておく.こっちに,<ul>...</ul>をいれたほうがスマートかもしれないなあ.
<li>Total:<b><!-- count --></b></li>
<li>Yesterday: <b><!-- yesterday --></b></li>
<li>Today: <b><!-- today --></b></li>
  • サイトの再構成でできあがり
    ちなみに当サイトではWiki版の来訪者数をひきつぐためにログファイルを手直ししました.それとカウントは引き続き同一IPアドレスの連続を除外した「訪問者数」でいきたいと思います.

*感想

はじめは,なにかMTにプラグインを入れなきゃなんなかと考えていたので,遠回りになってまいましたが,これで一件落着です.それにしても今回のようなHTMLのソースコードが出てくる文書の場合,スケロクプラスの威力は圧倒的ですなあ.

投稿者 hmishima : 2006年04月08日 16:26