ui-dev/js/feeds.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
function feed_entry(entry, element){ var published_at = $.timeago(entry.publishedDate); switch(element) { case "#twitter": var content = entry.title .replace(/^h3rald:/, '') .replace(/((http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?)/, '<a href="$1">$1</a>') .replace(/@([a-zA-Z1-9_]*)/, '<a href="http://www.twitter.com/$1">@$1</a>') .replace(/ #([a-zA-Z1-9_]*)/, '<a href="http://www.twitter.com/search?q=%23$1">#@$1</a>') return $("<li class='feed-item'></li>").attr("title", published_at).html(content); case "#delicious": var content = "» <a href='"+entry.link+"'>"+entry.title+"</a>"; content += "<br />tags: "; var categories = Array(); for (i=0; i<entry.categories.length; i++) { categories[i] = "<a href='http://delicious.com/h3rald/"+entry.categories[i]+"'>"+entry.categories[i]+"</a> "; } content += categories.join(', ').replace(/ $/, ''); return $("<li class='feed-item'></li>").attr("title", published_at).html(content); case "#backtype": var content = "On: <a href='"+entry.link+"'>"+entry.title+"</a>"; return $("<li class='feed-item-ext'></li>").attr("title", entry.content).html(content); } }; function display_feed(feed, element){ if(!feed){ return false; } var feed_list = $("<ul></ul>"); var entries = feed.entries; for(var i=0; i<entries.length; i++){ var entry = entries[i]; feed_entry(entry, element).appendTo(feed_list).fadeIn(1000); } feed_list.appendTo(element) }; var delicious_feed = function(feed){ display_feed(feed, "#delicious") }; var backtype_feed = function(feed){ display_feed(feed, "#backtype") }; var twitter_feed = function(feed){ display_feed(feed, "#twitter") }; $.jGFeed('http://feeds.delicious.com/v2/rss/h3rald', delicious_feed, 8) $.jGFeed('http://feeds.backtype.com/home/21105', backtype_feed, 10) $.jGFeed('http://twitter.com/statuses/user_timeline/h3rald.rss', twitter_feed, 7) |