]> git.sesse.net Git - greasemonkey-scripts/commitdiff
Initial checkin for move to Git (no prior version history available). master
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 22 Jan 2013 16:17:48 +0000 (17:17 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Tue, 22 Jan 2013 16:17:48 +0000 (17:17 +0100)
ebay-timezone.user.js [new file with mode: 0644]
xkcd.user.js [new file with mode: 0644]

diff --git a/ebay-timezone.user.js b/ebay-timezone.user.js
new file mode 100644 (file)
index 0000000..5d660c1
--- /dev/null
@@ -0,0 +1,49 @@
+// ==UserScript==\r
+// @name           eBay timezone fix\r
+// @namespace      http://bzr.sesse.net/greasemonkey-scripts/\r
+// @description    Changes all eBay times to be in your local time zone\r
+// @include        http://ebay.com/*\r
+// @include        http://*.ebay.com/*\r
+// @include        https://ebay.com/*\r
+// @include        https://*.ebay.com/*\r
+// ==/UserScript==\r
+\r
+function nf(x)\r
+{\r
+       if (x < 10) {\r
+               return "0" + x;\r
+       } else {\r
+               return x;\r
+       }\r
+}\r
+\r
+function getTextNodes(oNode, aText)\r
+{\r
+       for (var i = 0; i < oNode.childNodes.length; i++) {\r
+               var oChild = oNode.childNodes.item(i);\r
+               switch(oChild.nodeType) {\r
+               case 1:\r
+                       getTextNodes(oChild, aText);\r
+                       break;\r
+               case 3:\r
+                       aText.push(oChild);\r
+                       break;\r
+               }\r
+       }\r
+}\r
+\r
+var text = [];\r
+getTextNodes(document, text);\r
+for (var i = 0; i < text.length; i++) {\r
+       var elem = text[i];\r
+       var str = elem.nodeValue;\r
+\r
+       var foo = str.match(/(\S\S\S)-(\d\d)-(\d\d)(\s+|\s+at\s+)(\d\d:\d\d:\d\d)\s+PST/);\r
+       if (foo != null) {\r
+               var d = new Date(foo[1] + ' ' + foo[2] + ' 20' + foo[3] + ' ' + foo[5] + " PST");\r
+               var tzinfo = d.toString().match(/\((\S+)\)/);\r
+               var dstr = d.getFullYear() + '-' + nf(d.getMonth() + 1) + '-' + nf(d.getDate()) + ' ' + nf(d.getHours()) + ':' + nf(d.getMinutes()) + ':' + nf(d.getSeconds()) + " " + tzinfo[1];\r
+               elem.nodeValue = str.replace(foo[0], dstr);\r
+       }\r
+}\r
+\r
diff --git a/xkcd.user.js b/xkcd.user.js
new file mode 100644 (file)
index 0000000..f36a08e
--- /dev/null
@@ -0,0 +1,35 @@
+// ==UserScript==
+// @namespace     http://xkcd.org/
+// @name          xkcd titles - hidden so you need to hover to see it
+// @author                             riddle, improved by sesse
+// @include       http://xkcd.*/*
+// @include       http://www.xkcd.*/*
+// ==/UserScript==
+
+function insertAfter(newElement, targetElement) {
+       var parent = targetElement.parentNode;
+       if (parent.lastChild == targetElement) {
+               parent.appendChild(newElement);
+       } else {
+               parent.insertBefore(newElement, targetElement.nextSibling);
+       }
+}
+
+var mc = document.getElementById("middleContent");
+if (mc) {
+       var img = mc.getElementsByTagName("img")[0];
+       if (img && img.title) {
+               var style = document.createElement("style");
+               style.appendChild(document.createTextNode("a.secret { color: white; font-variant: normal; font-weight: normal; text-decoration: none; } a.secret:hover { color: black; }"));
+               insertAfter(style, img);
+
+               var desc = document.createElement("div");
+               var a = document.createElement("a");
+               a.setAttribute("class", "secret");
+               a.appendChild(document.createTextNode(img.title));
+               img.title = null;
+               desc.appendChild(a);
+
+               insertAfter(desc, style);
+       }
+}