2010年1月23日 土曜日

Delicious × HeartRails Captureで作るBookmark

本日より新たなコンテンツとしてBookmarkページを追加しました。

このブックマークはソーシャルブックマークのDeliciousでブックマークした最新20件を自動的にWeb Diary.netに表示されるようRSSを取得しています。

Deliciousだけでは単にタイトルとURLの取得しかできないため、URLを入れるだけでキャプチャーを返してくれるAPI、HeartRails Captureを使用しています。

結構簡単にできるので簡単な導入方法をメモしておきます。

  1. まずDeliciousへの登録(yahoo.comにてアカウント作成が必要)を行い、好きなWebサイトをブックマーク。
  2. 各個別ページにRSSの取得ボタンがあるのでそこからRSSのURLを取得。
  3. wordpress内でincludeさせます。

    <?php // Get RSS Feed(s)
    include_once(ABSPATH . WPINC . ‘/rss.php’);
    $rss = fetch_rss(‘http://feeds.delicious.com/v2/rss/nishimura0913?count=20′);
    ?>

  4. 次にHeartRails CaptureのAPIを使う。
  5. この仕組が実に簡単です。

    例:http://capture.heartrails.com/?http://www.mozilla-japan.org

    頭に付いている赤文字のURLがキャプチャーするためのURL。なのでその後の青文字の部分にキャプチャーしたいURLを入力すればキャプチャーを返してくれます。
    その他キャプチャーサイズや角丸、ボーダーなんかの設定もできます。
    詳細はHeartRails Captureサイトで見てください。

  6. 仕組みがわかったところでWordPressへ組み込み
  7. <?php foreach ( $rss->items as $item ) : ?>
    <dl>
    <dt><a href=’<?php echo $item['link']; ?>’title=’<?php echo $item['title']; ?>’ target=”_blank”><img src=”http://capture.heartrails.com/310×230/shorten/?<?php echo $item['link']; ?>”></a></dt>
    <dd><a href=’<?php echo $item['link']; ?>‘title=’<?php echo $item['title']; ?>’ target=”_blank”><?php echo $item['title']; ?></a></dd>
    </dl>
    <?php endforeach; ?>

赤がHeartRails CaptureへのURL
青がDeliciousからRSSで取得するURL
このようにforeachを使ってリピートさせるとうまいことブックマークの完成です。

最後にひとつだけ問題点があります。このHeartRails CaptureはファーストビューをキャプチャーしてくるのでFlashサイトなど最初の画面が真っ白とかだとただの白い画像しか表示されません。 何か解決方法があればよいのですが・・・

興味のある方はぜひ使ってみてください。