タグクラウド(TagCloud)を生成したいが、かんたんに行えるモジュールはないだろうか?そんな時はHTML::TagCloudモジュールを利用すれば良い。
タグクラウドとは特定のキーワードに重み付けをし、重要な物は大きく表示しそうでない物は小さく成るというシンプルなものだ。いわゆるWeb2.0系のサイトなどで多用され、最近のMovableTypeでも実現できるようだ。
- タグクラウドの例 http://www.flickr.com/photos/tags/
PerlではHTML::TagCloudというモジュールがCPANにあがっているのでそれを利用すれば簡単に実現できる。
サンプル
;# ;#タグクラウドを生成する ;# use strict; use HTML::TagCloud; #------------------------------------------# #タグの一覧を読み込ませる #------------------------------------------# my $cloud = HTML::TagCloud->new; $cloud->add('Yahoo!', 'http://www.yahoo.com', 2); $cloud->add('Google', 'http://www.google.com', 5); $cloud->add('msn', 'http://www.msn.com', 2); #------------------------------------------# #表示 #------------------------------------------# print $cloud->html_and_css; #print $cloud->html;
addメソッドの第一引数はタグ名、第二引数はURL、第三引数は重みだ。重みの部分には例えば検索回数などをそのまま当てはめてやれば良い。最後のhtml_and_cssメソッドでCSSの定義からタグクラウドまでをHTMLで取得できる。CSSは自分で調整するという場合には、コメントアウトしているhtmlメソッドを用いれば良い。
その他詳しいことはドキュメントを参照のこと。