There are 1 previous version of this script.
// ==UserScript==
// @name del.icio.us network info
// @namespace http://thomd.net/userscript
// @description adds number of users from your network and number of your fans to header links
// @include http://del.icio.us/*
// @include http://*.del.icio.us/*
// @include http://delicious.com/*
// @include http://*.delicious.com/*
// @author Thomas Duerr
// @version 0.2
// @date 2008-08-02
// ==/UserScript==
// xpath helper
function $x(p, context){
if (!context) context = document;
var i, arr = [], xpr = document.evaluate(p, context, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (i = 0; item = xpr.snapshotItem(i); i++) arr.push(item);
return arr;
}
// objectKeys2array-helper
function $o2a(o){
var a = [];
for(e in o){
a.push(e);
}
return a;
}
// get username
var user = document.evaluate("id('signedInAs')", document, null, 9, null).singleNodeValue.textContent;
if(user != null){
// Check if there is a 'Network'-link. Only then insert network-infos
var altMessageLinks = $x("id('alt_message')/*");
if(altMessageLinks.length > 0){
for(am = 0; am < altMessageLinks.length; am ++){
if(altMessageLinks[am].textContent.match(/^Network/) != null){
// network json-feed
GM_xmlhttpRequest({
method: 'GET',
url: 'http://feeds.delicious.com/v2/json/networkmembers/'+user+'?callback=updateNetwork',
onload: function(responseDetails){
eval(responseDetails.responseText);
}
});
// fans json-feed
GM_xmlhttpRequest({
method: 'GET',
url: 'http://feeds.delicious.com/v2/json/networkfans/'+user+'?callback=addFans',
onload: function(responseDetails){
eval(responseDetails.responseText);
}
});
break;
}
}
}
}
var updateNetwork = function(network){
$x("id('alt_message')/a[2]")[0].textContent += " (" + $o2a(network).length + ")";
}
var addFans = function(fans){
var fansLink = document.createElement("a");
fansLink.setAttribute("href", "/network/" + user);
fansLink.appendChild(document.createTextNode("Fans (" + $o2a(fans).length + ")"));
var pipe = document.createElement("em");
pipe.appendChild(document.createTextNode(" | "));
var linkList = $x("id('alt_message')")[0];
linkList.insertBefore(pipe, $x("id('alt_message')/*[4]")[0])
linkList.insertBefore(fansLink, $x("id('alt_message')/*[5]")[0])
}
//
// ChangeLog
// 2008-03-06 - 0.1 - created
// 2008-08-01 - 0.2 - support for new delicious-relaunch
