SmallStyle


2006-09-18

_ タグクラウド表示プラグイン(4)

7 月に,直近 3 ヶ月を集計するようにしてからの更新.内部的に機能がいくつか変更したので以下に説明.

集計期間について

3 ヶ月集計に対応したものの,実は,年をまたいだ集計には未対応だったので,改めて修正をしました.現状のプラグインだと 1 月になるとまた真っ白になってしまうので,1 月であれば,前年の 11,12 月を,2 月であれば,前年の 12 月を集計対象として含めるように修正しました.

キャッシュ機能について

また,それほど大きな影響はないかと思うのですが,現状ではタグクラウドの集計ロジックがページを表示させるたびに走っていてあまり効率がよくないので,キャッシュを持つように変更しました.キャッシュは日記の更新時か,日付けが変わった日の最初のアクセスがあったときに更新されます.cache ディレクトリ内に,category2tagcloud.cache というファイルが生成されます.

経過期間によるクラス属性の付加について

追加機能として,最近追加されたタグや,一定期間を経過したタグについて,クラス属性を追加しました.

hot
7 日以内に更新されたタグ
old
14-30 日以内に更新されたタグ
oldest
30 日以上更新されていないタグ

クラス属性を追加しただけなので,経過時間による色の変更などがしたい場合は,CSS に記述してください.例としてこのサイトでは,下記のコードを記述しています.

/* category_to_tagcloud */
.tagcloud .hot a:link,
.tagcloud .hot a:visited { color: #00f; }
.tagcloud .old a:link { color: #777; }
.tagcloud .oldest a:link { color: #ccc; }
.tagcloud a:hover { color: #B3A17F !important; }

出力する HTML・CSS コードについて

出力形式を <span> からリスト <li> に変更しました.デフォルトではプラグインで CSS を出力しているので,見栄えはそう変わらないはずです…が,変わってしまってたらごめんなさい.

またタグクラウドの見栄えを制御している CSS はヘッダー部分に記述されるのですが,外部 CSS ファイルに定義してプラグインでは出力しない設定も可能です.tdiary.conf で以下を設定してください.

@options['tagcloud.hidecss'] = true

tagcloud-ruby の利用について

最後に.当初は tagcloud-ruby を利用していたのですが,表示する HTML の変更など中身を変更し,ライセンスが Ruby ライセンスということだったので,タグクラウド生成部分のメソッドを引用,category_to_tagcloud 内で利用しています.よって tagcloud.rb なしで動作が可能になりました.

というわけで,1 週間ほどこのサイトで動作確認したところでは特に問題なさそうなので公開します.

不具合,要望その他もろもろあればご連絡ください.

本日のツッコミ(全5件) [ツッコミを入れる]
_ yuco (2006-09-20 09:09)

こんにちは。category_to_tagcloud.rb使わせていただきました。どうもありがとうございます。ところで、今回の更新で、「8~14日以内に更新されたタグ」には、hot,old,oldestのどれもつかないんですよね。<br><br>現在、デフォルトを「8~14日以内に更新されたタグ」の色にして、あとからhot,old,oldestの色を設定していますが、できれば期間の切れ目なく設定できた方がよいかなと思っています。<br><br>もしよければ次回の更新のときに取り入れていただければと。よろしくお願いします。

_ hb (2006-09-20 18:59)

8〜14 日については,各サイトで指定されている color で表示されればいいかな…とか考えてました.(これもサイトごとにどのようにCSSを記述されているかで変わってしまうのですが)<br><br>2週間以上使われてなければ古いかなぁとか,1週間以内に使われたタグは目立たせたいなぁ,などと考えてるうちに,間にはさまれた8〜14日はクラス属性はなしでいいかなと思ったのが今の実装です.あと適当なクラス名が思い浮かばなかったってのもありますが :p<br><br>クラス属性はあってもいいかと思うので,次の更新時(適当なクラス名が思いついたら)加えますね.

_ TrackBack (2006-09-20 19:39)

http://www.smallstyle.com/20060920.html#p01<br>SmallStyle<br>タグクラウド表示プラグイン(5)<br>先日リリースしたタグクラウド表示プラグインですが,ツッコミ時にエラーが発生するバグがありました.ご迷惑をおかけしますが,再度ダウンロードしていただきますよう,お願いいたします. category_to_tagcloud.rb 原因は,add_update_proc が呼び出されたときに,タグ..

_ revulo (2006-09-23 09:50)

こんにちは。category_to_tagcloud.rb を使わせていただいています。<br><br><li> に変更した影響で、タグクラウドの左側に余白ができてしまいます。<br>ul.tagcloud {padding:0px;margin:2px;}<br>のような設定も CSS に出力しておいてはどうでしょうか?<br>hb さんからアドバイスを頂いて試してみたのですが、どうも IE だと margin を、Firefox だと padding を設定しないといけないようです。<br><br>よろしければご検討ください。

_ hb (2006-09-23 10:07)

プラグインで出力しているCSSはブラウザ間での確認が不十分なので,余白の部分については次の更新時になんとかしますね.<br><br>予想はしてたものの,<li>にかえたのはやっぱり影響大きかったか…


最近の日記