2006-05-23
_ category プラグインを利用した タグクラウド 表示プラグイン
tDiary のプラグインつくりが最近は結構楽しくなってきて,いろいろアイデアが出ては実装できるかなぁとか,ちまちまプログラミングをしているわけですが,今日は category プラグインを機能拡張したタグクラウド表示プラグインを作ってみました.タグクラウドとは,
tag cloud。SBMのようなタグを利用するウェブサイトで、多くのタグを集めて表示したもの。またそのような情報の表示方法。クラウドは「雲」や「群れ」の意味。
最初にタグクラウドを利用したウェブサイトはウェブアルバムサービスのFlickrであると言う(Flickrの人気タグページ)。それと同様に人気や利用頻度の高いタグが大きな文字で強調される表示方法がとられる場合が多い。
はてな - タグクラウドとはより引用
というもので,最近は tDiary でも category_to_tag プラグインを利用して,カテゴリわけではなく tag づけっぽくしているサイトもちらほら.もともと tDiary の category プラグインでも category_list 表示などでカテゴリを一覧にすることができたのですが,これをタグクラウド風に表示しようというのが,このプラグインの目的.
Ruby でタグクラウドを生成するには,Ruby で TagCloud (tagcloud-ruby) が使えそう,Perl の HTML::TagCloud の Ruby 版といったところのようです.これと category.rb を利用してタグクラウド表示させてみました.
表示文字数を引数として上限値を設定するようにしてあります.また,期間は 4 半期ごとの集計が表示されるような仕組みになっています.このへんは設定画面から集計期間,上限値などを設定できるようにしたほうがいいかな.
フォント周りや更新時間による色分けなどもう少し変更したいところはいろいろあるけどひとまず公開.
インストール方法は,yatsulog さんのところから tagcloud をコピーして tagcloud.rb として,index.rb と同じ場所に配置してください.
plugin ディレクトリに category_to_tagcloud を配置して,category.rb,category_tag_cloud.rb を有効にしてください.
あとはタグクラウドを表示させたい部分で,
<%= tag_list 10 %>
といった感じで,ヘッダーかフッターに記述してください.引数の 10 は表示するタグの最大数です.未指定の場合はすべてのタグが表示されます.
サンプルはすでに気がついている人もいるかもしれませんが,右サイドバーにでかでかとでています.ちょっと前まで毎日「Diary」というカテゴリでほとんど書いてたから,Diary が一番大きくなってしまっていますが…
追記:タグにスペースが入っていると正常に動作しないバグがありました.最新版では修正されています.[2006/05/24 12:53]
http://www.smallstyle.com/20060524.html#p01
SmallStyle
タグクラウド表示プラグイン (2)
日々の頌歌さんのところで,tag にスペースが含まれているとリンクがうまくいかないということだったので修正.
http://www.smallstyle.com/20060702.html#p02
SmallStyle
category_to_tagcloud.rb 修正版
tDiary のカテゴリをタグクラウド風に表示する,category_to_tagcloud.rb を若干修正しました.タグの集計が 4 半期ごとになっているので,7 月になるとからっぽになってしまいます.とりあえずは全期間を集計対象にするように修正しました.