といっても標準のタグクラウドに毛が生えたようなものですが。
sizeとcolorの「+」「-」をクリックすると、それぞれフォントサイズと色の濃淡を動的に変更できます。
もうちょっと使い勝手を良くしたいですね。
また、少しアニメーションを入れてみたら面白いかもしれません。 使い方
・使いたいブログのテンプレート編集画面で「テンプレート・モジュール」を開く
・「モジュールを新規作成」をクリック
・テンプレート名に「Widget: タグ クラウド プラス」を入力(名前は何でも良いのですが、「Widget: 」の部分を変えると動きません)
・モジュールの内容に以下のコードを貼り付けて「保存」
<!-- name: TagCloudPlus author: Akira Sawada version: 0.3 --> <div class="module-tagcloud module"> <h2 class="module-header">Tag cloud Plus</h2> <div class="module-content" id="tag_cloud_plus_info"> </div> <div class="module-content"> <a href="javascript:void(0)" onclick="sizeDown()"> << </a> size : <span id="tag_cloud_plus_size_info"></span> <a href="javascript:void(0)" onclick="sizeUp()"> >> </a><br /> <a href="javascript:void(0)" onclick="sizeBaseDown()"> << </a> basesize : <span id="tag_cloud_plus_size_base_info"></span> <a href="javascript:void(0)" onclick="sizeBaseUp()"> >> </a><br /> <a href="javascript:void(0)" onclick="colorDown()"> << </a> color : <span id="tag_cloud_plus_color_info"></span> <a href="javascript:void(0)" onclick="colorUp()"> >> </a> </div> <div class="module-content"> <ul class="module-list" id="tag_cloud_plus_list"> </ul> </div> </div> <script type="text/javascript"> var sizeWeight = 8; var sizeBase = 12; var colorWeight = 8; var rankMax = 64; var tcpTags = [ <MTTags> { "name" : "<$MTTagName$>", "rank" : "<$MTTagRank max="64"$>", "link" : "<$MTTagSearchLink$>", }, </MTTags> ]; function buildCloud(){ document.getElementById('tag_cloud_plus_list').innerHTML = ""; for(var i in tcpTags){ var tag = String(); tag = '<li class="module-list-item" style=" font-size : ' + rank2FontSize(tcpTags[i].rank) + ';"><a href="' + tcpTags[i].link + '" style=" color : ' + rank2Color(tcpTags[i].rank) + ';">' + tcpTags[i].name + '</a></li>\n'; /*need this \n but i don't know why.*/ document.getElementById('tag_cloud_plus_list').innerHTML += tag; } document.getElementById('tag_cloud_plus_size_info').innerHTML = sizeWeight; document.getElementById('tag_cloud_plus_size_base_info').innerHTML = sizeBase; document.getElementById('tag_cloud_plus_color_info').innerHTML = colorWeight; } function rank2Color(rank) { var col = Math.round((rank - rankMax / 2) * colorWeight / 4 + 128); col = col > 255 ? 255 : col; col = col < 0 ? 0 : col; return 'rgb(' + col + ',' + col + ',' + col + ')'; } function rank2FontSize(rank) { return Math.round((1 - rank / rankMax ) * sizeWeight + sizeBase) + "px"; } function sizeUp() { sizeWeight += 1; buildCloud(); } function sizeDown() { sizeWeight -= 1; buildCloud(); } function sizeBaseUp() { sizeBase += 1; buildCloud(); } function sizeBaseDown() { sizeBase -= 1; buildCloud(); } function colorUp() { colorWeight += 1; buildCloud(); } function colorDown() { colorWeight -= 1; buildCloud(); } /*at first we must build tag cloud*/ buildCloud(); </script>IEでは動かないみたいなので、そのうち直します。