Mercurial > planet-ubiquity-redesign
view about-mozilla.js @ 22:98b8ae7e21a6
Removed twitter feed b/c most of the messages weren't even about ubiquity.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Mon, 02 Mar 2009 19:59:40 -0800 |
parents | a531adbda6f7 |
children | 9dcdc0e81838 |
line wrap: on
line source
function processBlogFeed(feed, content) { jQuery.each( feed.entries, function(i) { var item = $('<div class="blog-item">' + '<span class="title"></span> ' + '<span class="author"></span></div>'); $('.title', item).html(this.title); $('.title', item).wrap('<a href="' + this.link + '"></a>'); if (this.author) $('.author', item).html('by ' + this.author); $(item).attr("published", this.publishedDate); content.append(item); }); } var FEEDS = [ {name: "Blogs", url: "http://ubiquity.mozilla.com/planet/?feed=rss2", processFeed: processBlogFeed, entries: 10}, {name: "Bugs", url: "https://ubiquity.mozilla.com/trac/timeline?ticket=on&milestone=on&wiki=on&max=50&daysback=90&format=rss", processFeed: processBlogFeed, entries: 10}, {name: "Code", url: "https://ubiquity.mozilla.com/hg/ubiquity-firefox/rss-log", processFeed: processBlogFeed, entries: 15}, {name: "Discussions", url: "http://groups.google.com/group/ubiquity-firefox/feed/rss_v2_0_msgs.xml", processFeed: processBlogFeed, entries: 30}, {name: "Support", url: "http://getsatisfaction.com/mozilla/products/mozilla_ubiquity.rss?sort=recently_created", processFeed: processBlogFeed, entries: 10} ]; function doneLoadingFeeds() { function fixHeights(daysAgo) { var tallestHeight = 0; var elements = $(".days-ago-" + i); elements.each( function(i) { var height = $(this).height(); if (height > tallestHeight) tallestHeight = height; }); elements.height(tallestHeight); } $("#issue").fadeIn(); for (var i = 0; i < 10; i++) fixHeights(i); var entries = $("#issue .entry"); $(document.body).width(entries.outerWidth() * entries.length); } function showFeed(feedInfo, cb) { var entry = $('<div class="entry"></div>'); var headline = $('<div class="headline"></div>'); headline.text(feedInfo.name); entry.append(headline); $("#body").append(entry); var feed = new google.feeds.Feed(feedInfo.url); feed.setNumEntries(feedInfo.entries); feed.load( function(result) { var rawContent = $('<div class="content"></div>'); var content = $('<div class="content"></div>'); for (var i = 0; i < 10; i++) content.append('<div class="days-ago-' + i + '"></div>'); feedInfo.processFeed(result.feed, rawContent); var now = new Date(); $(".blog-item", rawContent).each( function(i) { var pub = new Date($(this).attr("published")); var msAgo = now - pub; var hoursAgo = msAgo / (1000 * 60 * 60); var daysAgo = Math.floor(hoursAgo / 12); if (daysAgo < 0) daysAgo = 0; if (daysAgo > 9) daysAgo = 9; var div = $(".days-ago-" + daysAgo, content); div.append(this); } ); entry.append(content); cb(); }); } google.load("feeds", "1"); google.setOnLoadCallback( function() { var feedsLeftToLoad = FEEDS.length; jQuery.each( FEEDS, function(i) { showFeed(this, function() { feedsLeftToLoad--; if (!feedsLeftToLoad) { doneLoadingFeeds(); } }); } ); });