2006年06月14日

seesaaブログでカテゴリをタグクラウド風に表示する

最近よく見かけるようになった「タグクラウド」。ソーシャルブックマークなどタグによる分類をしているサービスでは、大抵使われていると思う。
タグがずらりと並んで表示され、よく使われるものは大きくなる。この表示方法がタグクラウドと呼ばれている。
私が初めてタグクラウドを見たのはflickrpopular tagsページだったと思うのだが、重み付けリストをシンプルに視覚化する方法としてセンスがいいなあと感心した覚えがある。

残念ながらseesaaブログには、タグ機能やタグクラウドを表示する機能はない。
seesaaブログでのタグにあたるものはカテゴリになるのだが、考えてみればカテゴリ一覧も重み付けリストである。これをタグクラウド風に表示させるのも面白いかもしれないということで、挑戦してみた。

まず、Javascriptでタグクラウドを生成するようなものはないかと探してみると、「Cloud JS」というRSS形式のデータファイルからタグクラウド生成するJavascriptを発見。

このスクリプトのタグクラウドを生成している部分を見てみると、それほど難しい処理ではなさそうだったので、ロジックを参考にしながらカテゴリ表示のコンテンツを改造した。

以下が、カテゴリをタグクラウド風に表示するようにする手順である。

  1. コンテンツからカテゴリを選んで「コンテンツHTML編集」をクリックする。

  2. HTMLの記述を次のように書き換える。

<div class="sidetitle"><% content.title %></div>
<div class="side">
<% content.header -%>

<script type="text/javascript"><!--
var density = 1;
var seed = 4;
var highest_count = 0;
url_array = new Array();
name_array = new Array();
count_array = new Array();

<% loop:list_category -%>
url_array[url_array.length] = "<% category.page_url %>";
name_array[name_array.length] = "<% category.name | tag_break %>";
count_array[count_array.length] = <% category.article_count | __or__ | echo("0") %>;
<% /loop -%>

for (var i = 0; i < count_array.length; i++)
{
if (count_array[i] > highest_count) {
highest_count = count_array[i];
}
}

var dif = Math.floor((highest_count - density) / seed);

for (var i = 0; i < name_array.length; i++)
{
var size_string = "70%";
var font_size = 1;
if (count_array[i] > highest_count - dif) {
size_string = "190%";
font_size = 5;
}
else if (count_array[i] > dif * 2) {
size_string = "160%";
font_size = 4;
}
else if (count_array[i] > dif) {
size_string = "130%";
font_size = 3;
}
else if (count_array[i] > dif / 2) {
size_string = "100%";
font_size = 2;
}
if (count_array[i] >= density) document.write('<a href="', url_array[i], '" title="', count_array[i] ,'件のエントリー"><span class="font_', font_size, '" style="font-size: ', size_string ,'">', name_array[i], '</span></a> ');
}
//--></script>
<noscript>
<% loop:list_category -%>
<a href="<% category.page_url %>"><% category.name | tag_break %></a>(<% category.article_count | __or__ | echo("0") %>)<br />
<% /loop -%>
</noscript>

<% content.footer -%>
</div>

これで、カテゴリの表示がタグクラウド風になる。Javascriptが動作しない環境では、以前の表示になるようにしてある。

このblogでは、カテゴリ付けをサボっていたので、カテゴリが少なく雲(クラウド)にはどうやっても見えないのが残念 =p


2006/10/2 追記。

Seesaaブログにタグクラウドが実装されたので、わざわざカテゴリをタグクラウド風にする必要はなくなった。
posted by cuckoo at 18:57 | Comment(0) | TrackBack(1) | blog

2006年06月13日

seesaaブログではてなブックマークの人気エントリーを表示する

blogという仕組みとして仕方がないのかもしれないが、過去の記事がアクセスしにくいと思うことがある。
そこで、過去の記事が埋もれていかないようにする工夫として、はてなブックマークで人気エントリーになった記事をサイドバーに表示してみた。

はてなブックマークのページでURLで検索して人気順に並べ替えると、自分のblogでの人気エントリーが表示される。この状態でRSSを取得すれば、人気エントリーの一覧になる。
seesaaブログでは、RSS取得用のコンテンツが用意されているので、それを利用することにする。

まず、はてなブックマークのページから、自分のblogでの人気エントリーRSSのURLをメモしておく。

次に、デザインメニューのコンテンツで、「新しいコンテンツの追加」から種類に「RSS取得」を選択して新しいコンテンツを追加をする。

新しいコンテンツ追加の画面

後は、RSS取得の設定ページで、「RSSのURL」にメモしておいたURLを設定すれば完了。

RSS取得の設定画面

サイトの再構築をすれば、このblogのサイドバーにあるような人気エントリーの一覧が表示されているはずだ。

簡単に設定できる割には、なかなか効果がありそうな気がするがいかがだろうか。
posted by cuckoo at 18:16 | Comment(0) | TrackBack(0) | blog

2006年06月06日

「人」や「場所」をきっかけにするリマインダー

身の回りにあるリマインダーには何があるだろうか。目覚まし時計、スケジューラー、携帯電話のアラーム、キッチンタイマーなどがある。これらには時間に基づいたものという共通点がある。

私は物忘れが激しいので、もちろん重宝しているが、
時間をきっかけにしないリマインダーもあると便利なのにと思うときがある。
例えば、「場所」をきっかけにする場合。「パソコンショップに行ったら、切らしているプリンタのインクを買う」などは、パソコンショップにはいつ行くのか分からないので、時間でアラームを鳴らそうにも無理である。

他にも、「人」に関連して思い出さなくてはいけないこともある。「あの人に会うときに、借りている本を返す」などは、私はよく忘れて困ることが多い。

携帯電話が多機能になってきて、GPS機能が付いたり、携帯電話同士で通信できたりするだろうから、実現は近いはずだが、まだそういう話は聞かない。

そこで原始的だが、私がやっていることを紹介しておく。
思い出さないといけないタイミングで使うものや見るものにメモを付けておくのだ。

例をあげると、

  • 財布にメモを入れておく

  • 鍵にメモを付けておく

  • 鞄のファスナーにメモを付けておく

  • 玄関先に持っていく物を置いておく

  • 名刺入れにメモを入れておく


などがある。

そうしておけば、後は忘れていいので、頭がすっきりする。
「なんだ、そんなことか」と思うかもしれないが、やってみると意外と効果があるので、ぜひ試して欲しい。
posted by cuckoo at 13:11 | Comment(0) | TrackBack(0) | lifehacks
タグクラウド

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。