Drkcore

28 02 2007 catalyst Tweet

WWW::CloudCreatorがいい感じ

いつもタグクラウド作るのにHTML::TagCloudとかHTML::TagCloud::Extendedを使っていたのだが、WWW::CloudCreatorというモジュールを教えてもらったのでいじってみた。

おおまかな違いはHTML::TagCloudはhtml(とcss)をそのまま吐くのに対し、WWW::CloudCreatorはタグ名とカウントとスタイル要素を戻してくる。

だから、TTと組み合わせるにはWWW::CloudCreatorのほうが良い感じ。

ただし、配列で戻してくるのでTTが

[% FOREACH tag = tagcloud %]
<span style="[% tag.2 %]">
<a href="[% Catalyst.uri_for('/bookmarks/') %]/[% tag.0 %]">
[% tag.0 %]([% tag.1 %])
</a>
</span>
[% END %]

となってちょっとわかりにくい気が。

あと、WWW::CloudCreatorはサイズだけじゃなくて色も変化させることができるんだが、こっちはちょっとバグってた。

81行目あたりをhexdecでレンジを揃えて82行目でdechex二度がけ。

my $ihex = hexdec($coldarray[$i]) + ($colorstep[$i] * $fraction);
my $decihex = dechex(dechex( $ihex ));

dechex関数も直す。負の方向にグラデーションがかかる場合にa-fがdechexに渡ったら無視するように。

sub dechex {
   if($_[0] =~ /\d+/){
           return sprintf '%x', $_[0];
   } else {
           return $_[0];
   }
}

これでうまくいってるような気がするけど。

wcc

色のグラデーションはタグの頻度ではなくて、タグ間の関連性とかの違う軸ででかけるようにしたいなぁ。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021