You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
misc/pub/code/reverted_pim_links.user.js

94 lines
3.9 KiB

// ==UserScript==
// @name reverted PIM links
// @namespace Utopiah
// @description overlay so that a visited page indexed in a PIM displays a link back
// @include *
// @exclude *://mail.google.com/mail/*
// ==/UserScript==
/*
* Script homepage : http://fabien.benetou.fr/Tools/Greasemonkey#RevertedPIMLinks
*
* to do
* find a way (visiting a special URL?) to (re)generate the data store on demand (not at each boot)
* apply to Person/
* cf ealier idea http://wiki.seedea.org/Oimp/Socialannotating
* add links to the database
* note that date is optional but the source is not
* delicious-20100730.htm
* emails
* IRC/IM
34269 links using
for SCANNETWORK in $(ls ~/irclogs/); do grep http ~/irclogs/$SCANNETWORK/* | sed "s/.* <\(.*\)> .*http\(.*\)/http\2 \1 on $SCANNETWORK/"; done | wc -l
19881 freenode
5834 blinkenshell
4867 testing
2354 seedeabitlbee
1325 mozilla
7 rezosup
for SCANNETWORK in $(ls ~/irclogs/); do echo -n -e "$SCANNETWORK\t" && grep http ~/irclogs/$SCANNETWORK/* | sed "s/.* <\(.*\)> .*http\(.*\)/http\2 \1 on $SCANNETWORK/" | wc -l; done | awk '{print $2 "\t" $1}' | sort -n -r
*
*/
// configuration
var script_name = "rPIMlinks";
var PIM_URL = "http://fabien.benetou.fr/";
// actual script
//load URLs in data store (greasemonkey.scriptvals in about:config in prefs.js)
// load the entire set of links
// merging linksloaded_prefs.js to prefs.js
// C:\Documents and Settings\tyflser\Application Data\Mozilla\Firefox\Profiles\aosia15p.default
// e.g. user_pref("greasemonkey.scriptvals.Utopiah/reverted PIM links.rPIMlinks http://www.wikipedia.com/wiki/Simulacra_and_Simulation", "ReadingNotes/LeSpectateurEmancipe");
//everytime a page is loaded
//get the current URL
PIMpages = GM_getValue(script_name+" "+document.URL,"fail");
PIMpages_date = GM_getValue(script_name+" date","fail");
//if the current URL is in data store
if (PIMpages != "fail")
{
var hiddingscript = document.createElement('script');
hiddingscript.src="\nfunction showPimWindow(){ document.getElementById('GM_PIM_Window').style.visibility='visible'; document.getElementById('GM_PIM_Folded_Window').style.visibility='hidden'; }\nfunction hidePimWindow(boxid){ document.getElementById('GM_PIM_Folded_Window').style.visibility='visible'; document.getElementById('GM_PIM_Window').style.visibility='hidden'; }\n";
document.body.appendChild(hiddingscript);
//display link
var pages = PIMpages.split(" ");
var myDiv = document.createElement('div');
myDiv.id = "GM_PIM_Window";
while (page = pages.shift()){
myDiv.innerHTML += "<p class=\"GM_PIM_link\">"
+"<a href=\""+PIM_URL+page+"\">"+page+"</a>"
+"<sup><a href=\""+PIM_URL+page+"?action=edit\">[e]</a></sup>"
+"</p>";
}
myDiv.style.cssText = 'position:fixed; right:5px; top:5px; background-color:black; z-index:1;';
myDiv.style.cssText += 'padding:2px; margin:1px;';
myDiv.style.cssText += 'color:blue; font-size:10px; text-align:right;';
myDiv.style.cssText += 'border-width:3px; border-color:gray; border-style:solid;';
myDiv.innerHTML += "<hr/><p style='font-size:8px;' class='GM_PIM_ref'><a href='http://fabien.benetou.fr/Tools/Greasemonkey#RevertedPIMLinks'>RevertedPIMLinks</a></p>";
myDiv.innerHTML += "<p style='float:left;' class='GM_PIM_ref' onclick='hidePimWindow();'>&gt;&gt;</p>";
if (PIMpages_date != "fail")
{
myDiv.innerHTML += "<p> (date:"+PIMpages_date+")</p>";
}
document.body.appendChild(myDiv);
var myFoldedDiv = document.createElement('div');
myFoldedDiv.id = "GM_PIM_Folded_Window";
myFoldedDiv.innerHTML = "<p style='float:left;' class='GM_PIM_ref' onclick='showPimWindow();'>&lt;&lt;</a></p>";
//myFoldedDiv.style.cssText = myDiv.style.cssText;
//myFoldedDiv.style.cssText = "visibility:hidden;";
myFoldedDiv.style.cssText = "visibility:visible;";
document.body.appendChild(myFoldedDiv);
}