日記/2009-7-30

最終更新時間:2009年07月30日 22時51分01秒

GoogleImage プラグイン

 

 「電気グルーヴと電人ザボーガーと完全変形」のページに、ピエール瀧が電人ザボーガーになってる画像を表示するために、当初はYahooImageSearch プラグインを使っていたのですが、なぜかあっという間に表示されなくなってしまいました。
 そこで、Yahooの代わりにGoogleの同じようなAPI(Google AJAX Search API画像検索のAPI)を使って画像検索の結果を表示する、FreeStyleWiki用のプラグインを作ってみました。
 
 インストールは以下の手順で進めてください。

JSON::Syckのインストール

 このプラグインでは、JSONからPerlのデータ構造への変換にJSON::Syckを使っていますので、これをインストールします。このモジュールのインストールにはコンパイルを伴うのですが、本サイトが運用されているさくらインターネットのサーバーの場合、AmazonSearch プラグインのProduct Advertising API対応のページでも紹介した、こちらのページに書かれているとおりの手順で準備を整えれば、後は簡単。
 CPANシェルから、

cpan[1]> install JSON::Syck

とやればOK。

Encode::JavaScript::UCSのインストール

 同じように、モジュールEncode::JavaScript::UCSをインストールします。

cpan[1]> install Encode::JavaScript::UCS

でOK。
 こちらはPurePerlのモジュールなので、lib以下にコピーしてインストールしてもOKだと思います。

インストールしたモジュールのパスの追加

 上記でインストールしたモジュールがFreeStyleWikiのプラグインから使えるように、一般ユーザー環境でのCPANモジュールのパスを、FreeStyleWikiのwiki.cgiに追加します。
 wiki.cgiの22行目辺りの以下の行に、

use lib './lib';

 一般ユーザー環境でCPANモジュールをインストールしたパスを追加します。

use lib qw(./lib /home/xxxxxxxxx/local/lib/perl5/);

GoogleImage プラグインのインストール

 以下のファイルをダウンロードし、plugin以下にインストールします。

 以上でインストール作業は完了です。

使い方

 以下のような書式で、検索結果としての画像を表示できます。

{{googleimage 電気グルーヴ}}
Google画像検索で「電気グルーヴ」を検索

 
 また、以下のようにパラメータを追加することで、元画像へのリンクであるサムネイル画像を複数表示することもできます。

{{googleimage 電気グルーヴ,tb,8}}

 「電気グルーヴ」は検索語。
 「tb」でサムネイル画像表示を指示しています。
 「8」は画像表示数を示しています。8が最大でそれより大きい値を設定しても8つの画像しか表示されません。

Google画像検索で「電気グルーヴ」を検索

補足

  • プラグインの出力全体を <div class="googleimage">〜</div> でくるんであります。本サイトの場合、他サイトからの引用であることを示すため、以下のようなCSSを指定して、背景を灰色にしています。
div.googleimage {
  position:relative;
  left:0.5em;
  padding-left:0.5em;
  margin-right:1em;
  background-color:#333333
}
div.googleimage img{
  border-style:none;
}

参照情報