«前の日記(2005-12-18 (日)) 最新 次の日記(2006-01-05 (木))»  

まちゅダイアリー


2005-12-27 (火)

Ruby の sprintf

Ruby の sprintf って

sprintf("p#%02d", index)

の代わりに

p#%02d" % index

と書けるんだ。知らなかった。

Tags: Ruby

人気の日記プラグイン (はてなブックマーク)

はてなブックマーク件数取得APIを使った人気の日記プラグインを修正した。 本当はXmasイヴハックに対抗していたんだけど、間に合わずに2日遅れになってしまった。

今回の最大の変更点は、各セクションのフッタにブックマーク数を表示できるようにしたこと (section_footer.rb の改造要) 。 取得したブックマーク数はキャッシュするようにしているので、それほど負荷にはならない…はず。 その他の修正点は以下のとおり。

ダウンロード

セクションのフッタにブックマーク件数を表示する

section_footer.rb の『「このエントリを含むはてなブックマーク」へのリンクの追加』あたりを適当に修正する。

if @hatena_bookmark && @hatena_bookmark[:counts]
  users = @hatena_bookmark[:counts][permalink(date, index, false)]
  # if users && users > 0 でも可。お好みで。
  if users
    r << %Q|<a href="http://b.hatena.ne.jp/entry/#{permalink(date, index)}" title="このエントリを含むはてなブックマーク">#{users} Users</a>|
  end
else
  r << %Q|<a href="http://b.hatena.ne.jp/entry/#{permalink(date, index)}"><img src="./images/b_entry_de.gif" border="0" title="このエントリを含むはてなブックマーク" alt="このエントリを含むはてなブックマーク" width="16" height="12" class="icon"></a>|
end

参考

Ajaxなtooltipを使った実装なんてのもある。 はてなブックマークだけじゃなくて、 mm/memo の件数も分かるといいよなあぁ。

人気の日記プラグイン (はてなブックマーク + MM/Memo)

MM/Memo の ExistAPI を使って、 MM/Memo のブックマーク件数も取得できるようにした。 はてなの API を取得する関数 (Hatena::BookmarkAPI#get_count) を切り出して、クラスを継承させただけのやっつけ仕事 (diff) 。 もう少し整理しないとな。

ダウンロードはさっきと同じリンクからどうぞ。 section_footer.rb の記述はこちら。

# 「このエントリを含むMM/Memo」のリンクの追加
if @hatena_bookmark && @hatena_bookmark[:mmcounts]
  users = @hatena_bookmark[:mmcounts][permalink(date, index, false)]
  if users
    r << %Q|<a href="http://1470.net/mm/related?url=#{permalink(date, index)}" title="このエントリを含むMM/Memo"><img src="./images/info_icon.gif" width="19" height="12" style="border: none;" alt="このエントリを含むMM/Memo"> #{users} users</a>|
  end
else
  r << %Q|<a href="http://1470.net/mm/related?url=#{permalink(date, index)}"><img src="./images/info_icon.gif" width="19" height="12" style="border: none;" alt="このエントリを含むMM/Memo" title="このエントリを含むMM/Memo"></a>|
end