It's an app for Chrome.
background:
HTML Code:
var feedUrl = 'http://feeds.feedburner.com/parafernalhavideos';
var reset = function(){
console.log('reset');
localStorage.clear();
setLocalStorage();
lidoFeed();
}
var setLocalStorage = function(){
if(typeof localStorage.items == 'undefined'){
console.log('set localStorage');
localStorage.items = '';
localStorage.lido = '[]';
}
}
var setLido = function(lidoId){
console.log('lido ' + lidoId);
var lido = JSON.parse(localStorage.lido);
var items = JSON.parse(localStorage.items);
var newItems= 0;
lido.push(lidoId.toString());
$.each(items, function(lauf, item){
if(item.id == lidoId){
console.log('ok');
item.naolido = 0;
}
console.log(item);
if(item.naolido == 1){
newItems++;
}
});
if(lido.length > 10){
lido.shift();
}
setBadgeText(newItems);
console.log(lido);
localStorage.lido = JSON.stringify(lido);
localStorage.items = JSON.stringify(items);
}
var lidoAll = function(){
var items = JSON.parse(localStorage.items);
$.each(items, function(lauf, item){
setLido(item.id);
});
}
var getFeed = function(){
var items = JSON.parse(localStorage.items);
return items;
}
var setBadgeText = function(count){
if(count > 0){
chrome.browserAction.setBadgeText({'text': count.toString()});
}else{
chrome.browserAction.setBadgeText({'text': ''});
}
}
var lidoFeed = function(){
console.log('inicia lidoFeed');
$.getFeed({
url: feedUrl,
success: function(feed) {
console.log('compute Feed: ' + feed.title);
var items = new Array();
var lido = JSON.parse(localStorage.lido);
var newItems= 0;
$.each(feed.items, function(lauf, item){
if($.inArray(item.id, lido) > -1){
naolido = 0;
console.log('lido');
} else {
naolido = 1;
console.log('naolido');
newItems++;
}
items.push({'id': item.id, 'title': item.title, 'link': item.link, 'description': item.description, 'naolido': naolido});
console.log(item.title + ' ' + item.id);
});
console.log(items);
console.log(newItems);
localStorage.items = JSON.stringify(items);
setBadgeText(newItems);
setTimeout(lidoFeed, 900000);
}
});
}
$(function(){
console.log('start script');
setLocalStorage();
lidoFeed();
});
popup:
HTML Code:
jQuery.each(bkg.getFeed(), function(id, item){
if(item.naolido == '1') lidoClass = 'naolido';
else lidoClass = 'lido';
$('#feed').append('<li>'+item.description.iframe["src"]+'<a id="' + item.id + '" href="' + item.link + '" class="' + lidoClass + '">' + item.title + '</a></li>');
});
Bookmarks