Wikipediaにも使われているwikiシステムmediawikiの記事ページにはてなスターのボタンをつける方法です。
デフォルトのテンプレートVectorを利用している前提ですが、違うテンプレートを利用していても少しの改変で再利用できるでしょう。
Client side: はてなスターのサイトからコード片をコピーしてくる
- はてなスターにアクセスし、ヘッダの「マイページ」にアクセス。
- トークンを発行する。トークンは、はてなスターが設置された場所を識別する。「外部のブログサイトを登録する」の欄に自分のmediawikiのアドレスを打ち込み「追加」する。MediawikiのURIによく含まれる
index.php
は含めなくてよい。 - コード片が表示されるのでコピーする。
Server side: テンプレートを編集する
- エディタでmediawikiのテンプレートファイルを開く。デフォルトのテンプレートはVectorなので、ここでは
/skins/Vector/vectorTemplate.php
を開く。 - テンプレートの
if ( $this->data['isarticle'] ) {?>
の直下にコピーしておいたコードを貼る。MediawikiをHTTPSで運用しているときは、以下の例のようにURIスキームをHTTPSに変更する*1。 - 「ここから追記」の例のように
Hatena.Star.SiteConfig
を設定する。コピペでよい。
<?php if ( $this->data['isarticle'] ) { ?> <!-- ここに貼る --> <script type="text/javascript" src="https://s.hatena.ne.jp/js/HatenaStar.js"></script> <script type="text/javascript"> Hatena.Star.Token = '***THE SECRET TOKEN***'; // ここから追記 Hatena.Star.SiteConfig = { entryNodes: { 'div#content': { uri: 'div.printfooter a', title: 'h1', container: 'h1' } } // ここまで追記 }; </script>
- トークンの部分を自分のものに書き換える。
- キャッシュをクリアするために、適当なページで「編集」をクリックして編集画面を出し、何もせず「保存」ボタンを押す(何も起こらない)*2。
- 全てがうまくいっていたらはてなスターが表示される。やったぜ!
よいwebライフを!