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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
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>') break; 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(/ $/, ''); break; } return $("<li class='feed-item'></li>").attr("title", published_at).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") }; function backtype_comments() { $.getJSON("js/comments.json", function(data){ var comment_list = $("<ul></ul>"); $.each(data.comments, function(i, comment){ c = $("<li></li>").addClass('feed-item-ext').attr('title', comment.comment.content); c.html("<em>On: </em>"); c.append($('<a></a>').attr('href', comment.comment.url).html(comment.post.title)); c.appendTo(comment_list); if ( i == 6 ) { comment_list.appendTo("#backtype") return false; } }); }); } backtype_comments() $.jGFeed('http://feeds.delicious.com/v2/rss/h3rald', delicious_feed, 6) $.jGFeed('http://twitter.com/statuses/user_timeline/h3rald.rss', twitter_feed, 8) |