Instantly share code, notes, and snippets.
Created
July 18, 2009 14:20
-
Star
0
(0)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
Save jhsu/149571 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Lighthouse theme for Trac | |
// @namespace http://philwilson.org | |
// @description Lighthouse theme for Trac | |
// @include http://www.viralogy.com:8000/* | |
// @include http://www.viralogy.com/trac/* | |
// @version 0.7 | |
// ==/UserScript== | |
// customized by jhsu for Viralogy Team | |
var traclighthouse_version = "0.7"; | |
autoUpdateFromUserscriptsDotOrg({ | |
name: 'Lighthouse theme for Trac', | |
url: 'http://userscripts.org/scripts/source/37887.user.js', | |
version: traclighthouse_version, | |
}); | |
var projectName = document.location.pathname.split("/")[2]; | |
document.getElementById("header").innerHTML = "<h1 style='float: left; padding: 10px 0 0 18px'><a href='http://viralogy.com/trac/timeline' style='color: #fff; text-decoration: none;'>Viralogy</a></h1>"; | |
var xpathstylesheets = "//link[@rel='stylesheet']"; | |
var stylesheets = document.evaluate(xpathstylesheets, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); | |
var xpathstarts = "//link[@rel='start']"; | |
var starts = document.evaluate(xpathstarts, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); | |
startlink =starts.snapshotItem(0).getAttribute("href"); | |
tracbase = startlink.substring(0, startlink.indexOf("wiki")); | |
var head = document.getElementsByTagName('head')[0]; | |
function removeTracStylesheets() { | |
for (var i=0;i<stylesheets.snapshotLength;i++ ) { | |
head.removeChild(stylesheets.snapshotItem(i)); | |
} | |
} | |
function addMyStylesheet(url, media) { | |
var cssNode = document.createElement('link'); | |
cssNode.type = 'text/css'; | |
cssNode.rel = 'stylesheet'; | |
cssNode.href = url; | |
cssNode.media = media; | |
head.appendChild(cssNode); | |
} | |
removeTracStylesheets(); | |
// Blueprint 0.8 with slight increase to base font size (102% from 100%) | |
addMyStylesheet("data:text/css;charset=utf-8;base64,LyogDQogQmx1ZXByaW50IENTUyBGcmFtZXdvcmsgMC44DQogaHR0cDovL2JsdWVwcmludGNzcy5vcmcNCg0KICAgKiBDb3B5cmlnaHQgKGMpIDIwMDctUHJlc2VudC4gU2VlIExJQ0VOU0UgZm9yIG1vcmUgaW5mby4NCiAgICogU2VlIFJFQURNRSBmb3IgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byB1c2UgQmx1ZXByaW50Lg0KICAgKiBGb3IgY3JlZGl0cyBhbmQgb3JpZ2lucywgc2VlIEFVVEhPUlMuDQogICAqIFRoaXMgaXMgYSBjb21wcmVzc2VkIGZpbGUuIFNlZSB0aGUgc291cmNlcyBpbiB0aGUgJ3NyYycgZGlyZWN0b3J5Lg0KDQoqLw0KDQovKiByZXNldC5jc3MgKi8NCmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIHEsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCB7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7Zm9udC1zdHlsZTppbmhlcml0O2ZvbnQtc2l6ZToxMDIlO2ZvbnQtZmFtaWx5OmluaGVyaXQ7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7fQ0KYm9keSB7bGluZS1oZWlnaHQ6MS41O30NCnRhYmxlIHtib3JkZXItY29sbGFwc2U6c2VwYXJhdGU7Ym9yZGVyLXNwYWNpbmc6MDt9DQpjYXB0aW9uLCB0aCwgdGQge3RleHQtYWxpZ246bGVmdDtmb250LXdlaWdodDpub3JtYWw7fQ0KdGFibGUsIHRkLCB0aCB7dmVydGljYWwtYWxpZ246bWlkZGxlO30NCmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLCBxOmJlZm9yZSwgcTphZnRlciB7Y29udGVudDoiIjt9DQpibG9ja3F1b3RlLCBxIHtxdW90ZXM6IiIgIiI7fQ0KYSBpbWcge2JvcmRlcjpub25lO30NCg0KLyogdHlwb2dyYXBoeS5jc3MgKi8NCmJvZHkge2ZvbnQtc2l6ZTo3NSU7Y29sb3I6IzIyMjtiYWNrZ3JvdW5kOiNmZmY7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjt9DQpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzExMTt9DQpoMSB7Zm9udC1zaXplOjNlbTtsaW5lLWhlaWdodDoxO21hcmdpbi1ib3R0b206MC41ZW07fQ0KaDIge2ZvbnQtc2l6ZToyZW07bWFyZ2luLWJvdHRvbTowLjc1ZW07fQ0KaDMge2ZvbnQtc2l6ZToxLjVlbTtsaW5lLWhlaWdodDoxO21hcmdpbi1ib3R0b206MWVtO30NCmg0IHtmb250LXNpemU6MS4yZW07bGluZS1oZWlnaHQ6MS4yNTttYXJnaW4tYm90dG9tOjEuMjVlbTt9DQpoNSB7Zm9udC1zaXplOjFlbTtmb250LXdlaWdodDpib2xkO21hcmdpbi1ib3R0b206MS41ZW07fQ0KaDYge2ZvbnQtc2l6ZToxZW07Zm9udC13ZWlnaHQ6Ym9sZDt9DQpoMSBpbWcsIGgyIGltZywgaDMgaW1nLCBoNCBpbWcsIGg1IGltZywgaDYgaW1nIHttYXJnaW46MDt9DQpwIHttYXJnaW46MCAwIDEuNWVtO30NCnAgaW1nLmxlZnQge2Zsb2F0OmxlZnQ7bWFyZ2luOjEuNWVtIDEuNWVtIDEuNWVtIDA7cGFkZGluZzowO30NCnAgaW1nLnJpZ2h0IHtmbG9hdDpyaWdodDttYXJnaW46MS41ZW0gMCAxLjVlbSAxLjVlbTt9DQphOmZvY3VzLCBhOmhvdmVyIHtjb2xvcjojMDAwO30NCmEge2NvbG9yOiMwMDk7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpibG9ja3F1b3RlIHttYXJnaW46MS41ZW07Y29sb3I6IzY2Njtmb250LXN0eWxlOml0YWxpYzt9DQpzdHJvbmcge2ZvbnQtd2VpZ2h0OmJvbGQ7fQ0KZW0sIGRmbiB7Zm9udC1zdHlsZTppdGFsaWM7fQ0KZGZuIHtmb250LXdlaWdodDpib2xkO30NCnN1cCwgc3ViIHtsaW5lLWhlaWdodDowO30NCmFiYnIsIGFjcm9ueW0ge2JvcmRlci1ib3R0b206MXB4IGRvdHRlZCAjNjY2O30NCmFkZHJlc3Mge21hcmdpbjowIDAgMS41ZW07Zm9udC1zdHlsZTppdGFsaWM7fQ0KZGVsIHtjb2xvcjojNjY2O30NCnByZSB7bWFyZ2luOjEuNWVtIDA7d2hpdGUtc3BhY2U6cHJlO30NCnByZSwgY29kZSwgdHQge2ZvbnQ6MWVtICdhbmRhbGUgbW9ubycsICdsdWNpZGEgY29uc29sZScsIG1vbm9zcGFjZTtsaW5lLWhlaWdodDoxLjU7fQ0KbGkgdWwsIGxpIG9sIHttYXJnaW46MCAxLjVlbTt9DQp1bCwgb2wge21hcmdpbjowIDEuNWVtIDEuNWVtIDEuNWVtO30NCnVsIHtsaXN0LXN0eWxlLXR5cGU6ZGlzYzt9DQpvbCB7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWw7fQ0KZGwge21hcmdpbjowIDAgMS41ZW0gMDt9DQpkbCBkdCB7Zm9udC13ZWlnaHQ6Ym9sZDt9DQpkZCB7bWFyZ2luLWxlZnQ6MS41ZW07fQ0KdGFibGUge21hcmdpbi1ib3R0b206MS40ZW07d2lkdGg6MTAwJTt9DQp0aCB7Zm9udC13ZWlnaHQ6Ym9sZDt9DQp0aGVhZCB0aCB7YmFja2dyb3VuZDojYzNkOWZmO30NCnRoLCB0ZCwgY2FwdGlvbiB7cGFkZGluZzo0cHggMTBweCA0cHggNXB4O30NCnRyLmV2ZW4gdGQge2JhY2tncm91bmQ6I2U1ZWNmOTt9DQp0Zm9vdCB7Zm9udC1zdHlsZTppdGFsaWM7fQ0KY2FwdGlvbiB7YmFja2dyb3VuZDojZWVlO30NCi5zbWFsbCB7Zm9udC1zaXplOi44ZW07bWFyZ2luLWJvdHRvbToxLjg3NWVtO2xpbmUtaGVpZ2h0OjEuODc1ZW07fQ0KLmxhcmdlIHtmb250LXNpemU6MS4yZW07bGluZS1oZWlnaHQ6Mi41ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW07fQ0KLmhpZGUge2Rpc3BsYXk6bm9uZTt9DQoucXVpZXQge2NvbG9yOiM2NjY7fQ0KLmxvdWQge2NvbG9yOiMwMDA7fQ0KLmhpZ2hsaWdodCB7YmFja2dyb3VuZDojZmYwO30NCi5hZGRlZCB7YmFja2dyb3VuZDojMDYwO2NvbG9yOiNmZmY7fQ0KLnJlbW92ZWQge2JhY2tncm91bmQ6IzkwMDtjb2xvcjojZmZmO30NCi5maXJzdCB7bWFyZ2luLWxlZnQ6MDtwYWRkaW5nLWxlZnQ6MDt9DQoubGFzdCB7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZy1yaWdodDowO30NCi50b3Age21hcmdpbi10b3A6MDtwYWRkaW5nLXRvcDowO30NCi5ib3R0b20ge21hcmdpbi1ib3R0b206MDtwYWRkaW5nLWJvdHRvbTowO30NCg0KLyogZ3JpZC5jc3MgKi8NCi5jb250YWluZXIge3dpZHRoOjk1MHB4O21hcmdpbjowIGF1dG87fQ0KLnNob3dncmlkIHtiYWNrZ3JvdW5kOnVybChzcmMvZ3JpZC5wbmcpO30NCi5jb2x1bW4sIGRpdi5zcGFuLTEsIGRpdi5zcGFuLTIsIGRpdi5zcGFuLTMsIGRpdi5zcGFuLTQsIGRpdi5zcGFuLTUsIGRpdi5zcGFuLTYsIGRpdi5zcGFuLTcsIGRpdi5zcGFuLTgsIGRpdi5zcGFuLTksIGRpdi5zcGFuLTEwLCBkaXYuc3Bhbi0xMSwgZGl2LnNwYW4tMTIsIGRpdi5zcGFuLTEzLCBkaXYuc3Bhbi0xNCwgZGl2LnNwYW4tMTUsIGRpdi5zcGFuLTE2LCBkaXYuc3Bhbi0xNywgZGl2LnNwYW4tMTgsIGRpdi5zcGFuLTE5LCBkaXYuc3Bhbi0yMCwgZGl2LnNwYW4tMjEsIGRpdi5zcGFuLTIyLCBkaXYuc3Bhbi0yMywgZGl2LnNwYW4tMjQge2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0OjEwcHg7fQ0KLmxhc3QsIGRpdi5sYXN0IHttYXJnaW4tcmlnaHQ6MDt9DQouc3Bhbi0xIHt3aWR0aDozMHB4O30NCi5zcGFuLTIge3dpZHRoOjcwcHg7fQ0KLnNwYW4tMyB7d2lkdGg6MTEwcHg7fQ0KLnNwYW4tNCB7d2lkdGg6MTUwcHg7fQ0KLnNwYW4tNSB7d2lkdGg6MTkwcHg7fQ0KLnNwYW4tNiB7d2lkdGg6MjMwcHg7fQ0KLnNwYW4tNyB7d2lkdGg6MjcwcHg7fQ0KLnNwYW4tOCB7d2lkdGg6MzEwcHg7fQ0KLnNwYW4tOSB7d2lkdGg6MzUwcHg7fQ0KLnNwYW4tMTAge3dpZHRoOjM5MHB4O30NCi5zcGFuLTExIHt3aWR0aDo0MzBweDt9DQouc3Bhbi0xMiB7d2lkdGg6NDcwcHg7fQ0KLnNwYW4tMTMge3dpZHRoOjUxMHB4O30NCi5zcGFuLTE0IHt3aWR0aDo1NTBweDt9DQouc3Bhbi0xNSB7d2lkdGg6NTkwcHg7fQ0KLnNwYW4tMTYge3dpZHRoOjYzMHB4O30NCi5zcGFuLTE3IHt3aWR0aDo2NzBweDt9DQouc3Bhbi0xOCB7d2lkdGg6NzEwcHg7fQ0KLnNwYW4tMTkge3dpZHRoOjc1MHB4O30NCi5zcGFuLTIwIHt3aWR0aDo3OTBweDt9DQouc3Bhbi0yMSB7d2lkdGg6ODMwcHg7fQ0KLnNwYW4tMjIge3dpZHRoOjg3MHB4O30NCi5zcGFuLTIzIHt3aWR0aDo5MTBweDt9DQouc3Bhbi0yNCwgZGl2LnNwYW4tMjQge3dpZHRoOjk1MHB4O21hcmdpbjowO30NCmlucHV0LnNwYW4tMSwgdGV4dGFyZWEuc3Bhbi0xLCBzZWxlY3Quc3Bhbi0xIHt3aWR0aDozMHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTIsIHRleHRhcmVhLnNwYW4tMiwgc2VsZWN0LnNwYW4tMiB7d2lkdGg6NTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0zLCB0ZXh0YXJlYS5zcGFuLTMsIHNlbGVjdC5zcGFuLTMge3dpZHRoOjkwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tNCwgdGV4dGFyZWEuc3Bhbi00LCBzZWxlY3Quc3Bhbi00IHt3aWR0aDoxMzBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi01LCB0ZXh0YXJlYS5zcGFuLTUsIHNlbGVjdC5zcGFuLTUge3dpZHRoOjE3MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTYsIHRleHRhcmVhLnNwYW4tNiwgc2VsZWN0LnNwYW4tNiB7d2lkdGg6MjEwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tNywgdGV4dGFyZWEuc3Bhbi03LCBzZWxlY3Quc3Bhbi03IHt3aWR0aDoyNTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi04LCB0ZXh0YXJlYS5zcGFuLTgsIHNlbGVjdC5zcGFuLTgge3dpZHRoOjI5MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTksIHRleHRhcmVhLnNwYW4tOSwgc2VsZWN0LnNwYW4tOSB7d2lkdGg6MzMwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTAsIHRleHRhcmVhLnNwYW4tMTAsIHNlbGVjdC5zcGFuLTEwIHt3aWR0aDozNzBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0xMSwgdGV4dGFyZWEuc3Bhbi0xMSwgc2VsZWN0LnNwYW4tMTEge3dpZHRoOjQxMHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTEyLCB0ZXh0YXJlYS5zcGFuLTEyLCBzZWxlY3Quc3Bhbi0xMiB7d2lkdGg6NDUwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTMsIHRleHRhcmVhLnNwYW4tMTMsIHNlbGVjdC5zcGFuLTEzIHt3aWR0aDo0OTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0xNCwgdGV4dGFyZWEuc3Bhbi0xNCwgc2VsZWN0LnNwYW4tMTQge3dpZHRoOjUzMHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTE1LCB0ZXh0YXJlYS5zcGFuLTE1LCBzZWxlY3Quc3Bhbi0xNSB7d2lkdGg6NTcwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTYsIHRleHRhcmVhLnNwYW4tMTYsIHNlbGVjdC5zcGFuLTE2IHt3aWR0aDo2MTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0xNywgdGV4dGFyZWEuc3Bhbi0xNywgc2VsZWN0LnNwYW4tMTcge3dpZHRoOjY1MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTE4LCB0ZXh0YXJlYS5zcGFuLTE4LCBzZWxlY3Quc3Bhbi0xOCB7d2lkdGg6NjkwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMTksIHRleHRhcmVhLnNwYW4tMTksIHNlbGVjdC5zcGFuLTE5IHt3aWR0aDo3MzBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0yMCwgdGV4dGFyZWEuc3Bhbi0yMCwgc2VsZWN0LnNwYW4tMjAge3dpZHRoOjc3MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTIxLCB0ZXh0YXJlYS5zcGFuLTIxLCBzZWxlY3Quc3Bhbi0yMSB7d2lkdGg6ODEwcHghaW1wb3J0YW50O30NCmlucHV0LnNwYW4tMjIsIHRleHRhcmVhLnNwYW4tMjIsIHNlbGVjdC5zcGFuLTIyIHt3aWR0aDo4NTBweCFpbXBvcnRhbnQ7fQ0KaW5wdXQuc3Bhbi0yMywgdGV4dGFyZWEuc3Bhbi0yMywgc2VsZWN0LnNwYW4tMjMge3dpZHRoOjg5MHB4IWltcG9ydGFudDt9DQppbnB1dC5zcGFuLTI0LCB0ZXh0YXJlYS5zcGFuLTI0LCBzZWxlY3Quc3Bhbi0yNCB7d2lkdGg6OTQwcHghaW1wb3J0YW50O30NCi5hcHBlbmQtMSB7cGFkZGluZy1yaWdodDo0MHB4O30NCi5hcHBlbmQtMiB7cGFkZGluZy1yaWdodDo4MHB4O30NCi5hcHBlbmQtMyB7cGFkZGluZy1yaWdodDoxMjBweDt9DQouYXBwZW5kLTQge3BhZGRpbmctcmlnaHQ6MTYwcHg7fQ0KLmFwcGVuZC01IHtwYWRkaW5nLXJpZ2h0OjIwMHB4O30NCi5hcHBlbmQtNiB7cGFkZGluZy1yaWdodDoyNDBweDt9DQouYXBwZW5kLTcge3BhZGRpbmctcmlnaHQ6MjgwcHg7fQ0KLmFwcGVuZC04IHtwYWRkaW5nLXJpZ2h0OjMyMHB4O30NCi5hcHBlbmQtOSB7cGFkZGluZy1yaWdodDozNjBweDt9DQouYXBwZW5kLTEwIHtwYWRkaW5nLXJpZ2h0OjQwMHB4O30NCi5hcHBlbmQtMTEge3BhZGRpbmctcmlnaHQ6NDQwcHg7fQ0KLmFwcGVuZC0xMiB7cGFkZGluZy1yaWdodDo0ODBweDt9DQouYXBwZW5kLTEzIHtwYWRkaW5nLXJpZ2h0OjUyMHB4O30NCi5hcHBlbmQtMTQge3BhZGRpbmctcmlnaHQ6NTYwcHg7fQ0KLmFwcGVuZC0xNSB7cGFkZGluZy1yaWdodDo2MDBweDt9DQouYXBwZW5kLTE2IHtwYWRkaW5nLXJpZ2h0OjY0MHB4O30NCi5hcHBlbmQtMTcge3BhZGRpbmctcmlnaHQ6NjgwcHg7fQ0KLmFwcGVuZC0xOCB7cGFkZGluZy1yaWdodDo3MjBweDt9DQouYXBwZW5kLTE5IHtwYWRkaW5nLXJpZ2h0Ojc2MHB4O30NCi5hcHBlbmQtMjAge3BhZGRpbmctcmlnaHQ6ODAwcHg7fQ0KLmFwcGVuZC0yMSB7cGFkZGluZy1yaWdodDo4NDBweDt9DQouYXBwZW5kLTIyIHtwYWRkaW5nLXJpZ2h0Ojg4MHB4O30NCi5hcHBlbmQtMjMge3BhZGRpbmctcmlnaHQ6OTIwcHg7fQ0KLnByZXBlbmQtMSB7cGFkZGluZy1sZWZ0OjQwcHg7fQ0KLnByZXBlbmQtMiB7cGFkZGluZy1sZWZ0OjgwcHg7fQ0KLnByZXBlbmQtMyB7cGFkZGluZy1sZWZ0OjEyMHB4O30NCi5wcmVwZW5kLTQge3BhZGRpbmctbGVmdDoxNjBweDt9DQoucHJlcGVuZC01IHtwYWRkaW5nLWxlZnQ6MjAwcHg7fQ0KLnByZXBlbmQtNiB7cGFkZGluZy1sZWZ0OjI0MHB4O30NCi5wcmVwZW5kLTcge3BhZGRpbmctbGVmdDoyODBweDt9DQoucHJlcGVuZC04IHtwYWRkaW5nLWxlZnQ6MzIwcHg7fQ0KLnByZXBlbmQtOSB7cGFkZGluZy1sZWZ0OjM2MHB4O30NCi5wcmVwZW5kLTEwIHtwYWRkaW5nLWxlZnQ6NDAwcHg7fQ0KLnByZXBlbmQtMTEge3BhZGRpbmctbGVmdDo0NDBweDt9DQoucHJlcGVuZC0xMiB7cGFkZGluZy1sZWZ0OjQ4MHB4O30NCi5wcmVwZW5kLTEzIHtwYWRkaW5nLWxlZnQ6NTIwcHg7fQ0KLnByZXBlbmQtMTQge3BhZGRpbmctbGVmdDo1NjBweDt9DQoucHJlcGVuZC0xNSB7cGFkZGluZy1sZWZ0OjYwMHB4O30NCi5wcmVwZW5kLTE2IHtwYWRkaW5nLWxlZnQ6NjQwcHg7fQ0KLnByZXBlbmQtMTcge3BhZGRpbmctbGVmdDo2ODBweDt9DQoucHJlcGVuZC0xOCB7cGFkZGluZy1sZWZ0OjcyMHB4O30NCi5wcmVwZW5kLTE5IHtwYWRkaW5nLWxlZnQ6NzYwcHg7fQ0KLnByZXBlbmQtMjAge3BhZGRpbmctbGVmdDo4MDBweDt9DQoucHJlcGVuZC0yMSB7cGFkZGluZy1sZWZ0Ojg0MHB4O30NCi5wcmVwZW5kLTIyIHtwYWRkaW5nLWxlZnQ6ODgwcHg7fQ0KLnByZXBlbmQtMjMge3BhZGRpbmctbGVmdDo5MjBweDt9DQpkaXYuYm9yZGVyIHtwYWRkaW5nLXJpZ2h0OjRweDttYXJnaW4tcmlnaHQ6NXB4O2JvcmRlci1yaWdodDoxcHggc29saWQgI2VlZTt9DQpkaXYuY29sYm9yZGVyIHtwYWRkaW5nLXJpZ2h0OjI0cHg7bWFyZ2luLXJpZ2h0OjI1cHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWVlO30NCi5wdWxsLTEge21hcmdpbi1sZWZ0Oi00MHB4O30NCi5wdWxsLTIge21hcmdpbi1sZWZ0Oi04MHB4O30NCi5wdWxsLTMge21hcmdpbi1sZWZ0Oi0xMjBweDt9DQoucHVsbC00IHttYXJnaW4tbGVmdDotMTYwcHg7fQ0KLnB1bGwtNSB7bWFyZ2luLWxlZnQ6LTIwMHB4O30NCi5wdWxsLTYge21hcmdpbi1sZWZ0Oi0yNDBweDt9DQoucHVsbC03IHttYXJnaW4tbGVmdDotMjgwcHg7fQ0KLnB1bGwtOCB7bWFyZ2luLWxlZnQ6LTMyMHB4O30NCi5wdWxsLTkge21hcmdpbi1sZWZ0Oi0zNjBweDt9DQoucHVsbC0xMCB7bWFyZ2luLWxlZnQ6LTQwMHB4O30NCi5wdWxsLTExIHttYXJnaW4tbGVmdDotNDQwcHg7fQ0KLnB1bGwtMTIge21hcmdpbi1sZWZ0Oi00ODBweDt9DQoucHVsbC0xMyB7bWFyZ2luLWxlZnQ6LTUyMHB4O30NCi5wdWxsLTE0IHttYXJnaW4tbGVmdDotNTYwcHg7fQ0KLnB1bGwtMTUge21hcmdpbi1sZWZ0Oi02MDBweDt9DQoucHVsbC0xNiB7bWFyZ2luLWxlZnQ6LTY0MHB4O30NCi5wdWxsLTE3IHttYXJnaW4tbGVmdDotNjgwcHg7fQ0KLnB1bGwtMTgge21hcmdpbi1sZWZ0Oi03MjBweDt9DQoucHVsbC0xOSB7bWFyZ2luLWxlZnQ6LTc2MHB4O30NCi5wdWxsLTIwIHttYXJnaW4tbGVmdDotODAwcHg7fQ0KLnB1bGwtMjEge21hcmdpbi1sZWZ0Oi04NDBweDt9DQoucHVsbC0yMiB7bWFyZ2luLWxlZnQ6LTg4MHB4O30NCi5wdWxsLTIzIHttYXJnaW4tbGVmdDotOTIwcHg7fQ0KLnB1bGwtMjQge21hcmdpbi1sZWZ0Oi05NjBweDt9DQoucHVsbC0xLCAucHVsbC0yLCAucHVsbC0zLCAucHVsbC00LCAucHVsbC01LCAucHVsbC02LCAucHVsbC03LCAucHVsbC04LCAucHVsbC05LCAucHVsbC0xMCwgLnB1bGwtMTEsIC5wdWxsLTEyLCAucHVsbC0xMywgLnB1bGwtMTQsIC5wdWxsLTE1LCAucHVsbC0xNiwgLnB1bGwtMTcsIC5wdWxsLTE4LCAucHVsbC0xOSwgLnB1bGwtMjAsIC5wdWxsLTIxLCAucHVsbC0yMiwgLnB1bGwtMjMsIC5wdWxsLTI0IHtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO30NCi5wdXNoLTEge21hcmdpbjowIC00MHB4IDEuNWVtIDQwcHg7fQ0KLnB1c2gtMiB7bWFyZ2luOjAgLTgwcHggMS41ZW0gODBweDt9DQoucHVzaC0zIHttYXJnaW46MCAtMTIwcHggMS41ZW0gMTIwcHg7fQ0KLnB1c2gtNCB7bWFyZ2luOjAgLTE2MHB4IDEuNWVtIDE2MHB4O30NCi5wdXNoLTUge21hcmdpbjowIC0yMDBweCAxLjVlbSAyMDBweDt9DQoucHVzaC02IHttYXJnaW46MCAtMjQwcHggMS41ZW0gMjQwcHg7fQ0KLnB1c2gtNyB7bWFyZ2luOjAgLTI4MHB4IDEuNWVtIDI4MHB4O30NCi5wdXNoLTgge21hcmdpbjowIC0zMjBweCAxLjVlbSAzMjBweDt9DQoucHVzaC05IHttYXJnaW46MCAtMzYwcHggMS41ZW0gMzYwcHg7fQ0KLnB1c2gtMTAge21hcmdpbjowIC00MDBweCAxLjVlbSA0MDBweDt9DQoucHVzaC0xMSB7bWFyZ2luOjAgLTQ0MHB4IDEuNWVtIDQ0MHB4O30NCi5wdXNoLTEyIHttYXJnaW46MCAtNDgwcHggMS41ZW0gNDgwcHg7fQ0KLnB1c2gtMTMge21hcmdpbjowIC01MjBweCAxLjVlbSA1MjBweDt9DQoucHVzaC0xNCB7bWFyZ2luOjAgLTU2MHB4IDEuNWVtIDU2MHB4O30NCi5wdXNoLTE1IHttYXJnaW46MCAtNjAwcHggMS41ZW0gNjAwcHg7fQ0KLnB1c2gtMTYge21hcmdpbjowIC02NDBweCAxLjVlbSA2NDBweDt9DQoucHVzaC0xNyB7bWFyZ2luOjAgLTY4MHB4IDEuNWVtIDY4MHB4O30NCi5wdXNoLTE4IHttYXJnaW46MCAtNzIwcHggMS41ZW0gNzIwcHg7fQ0KLnB1c2gtMTkge21hcmdpbjowIC03NjBweCAxLjVlbSA3NjBweDt9DQoucHVzaC0yMCB7bWFyZ2luOjAgLTgwMHB4IDEuNWVtIDgwMHB4O30NCi5wdXNoLTIxIHttYXJnaW46MCAtODQwcHggMS41ZW0gODQwcHg7fQ0KLnB1c2gtMjIge21hcmdpbjowIC04ODBweCAxLjVlbSA4ODBweDt9DQoucHVzaC0yMyB7bWFyZ2luOjAgLTkyMHB4IDEuNWVtIDkyMHB4O30NCi5wdXNoLTI0IHttYXJnaW46MCAtOTYwcHggMS41ZW0gOTYwcHg7fQ0KLnB1c2gtMSwgLnB1c2gtMiwgLnB1c2gtMywgLnB1c2gtNCwgLnB1c2gtNSwgLnB1c2gtNiwgLnB1c2gtNywgLnB1c2gtOCwgLnB1c2gtOSwgLnB1c2gtMTAsIC5wdXNoLTExLCAucHVzaC0xMiwgLnB1c2gtMTMsIC5wdXNoLTE0LCAucHVzaC0xNSwgLnB1c2gtMTYsIC5wdXNoLTE3LCAucHVzaC0xOCwgLnB1c2gtMTksIC5wdXNoLTIwLCAucHVzaC0yMSwgLnB1c2gtMjIsIC5wdXNoLTIzLCAucHVzaC0yNCB7ZmxvYXQ6cmlnaHQ7cG9zaXRpb246cmVsYXRpdmU7fQ0KLnByZXBlbmQtdG9wIHttYXJnaW4tdG9wOjEuNWVtO30NCi5hcHBlbmQtYm90dG9tIHttYXJnaW4tYm90dG9tOjEuNWVtO30NCi5ib3gge3BhZGRpbmc6MS41ZW07bWFyZ2luLWJvdHRvbToxLjVlbTtiYWNrZ3JvdW5kOiNFNUVDRjk7fQ0KaHIge2JhY2tncm91bmQ6I2RkZDtjb2xvcjojZGRkO2NsZWFyOmJvdGg7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO2hlaWdodDouMWVtO21hcmdpbjowIDAgMS40NWVtO2JvcmRlcjpub25lO30NCmhyLnNwYWNlIHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6I2ZmZjt9DQouY2xlYXJmaXg6YWZ0ZXIsIC5jb250YWluZXI6YWZ0ZXIge2NvbnRlbnQ6Ii4iO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjA7Y2xlYXI6Ym90aDt2aXNpYmlsaXR5OmhpZGRlbjt9DQouY2xlYXJmaXgsIC5jb250YWluZXIge2Rpc3BsYXk6YmxvY2s7fQ0KLmNsZWFyIHtjbGVhcjpib3RoO30NCg0KLyogZm9ybXMuY3NzICovDQpsYWJlbCB7Zm9udC13ZWlnaHQ6Ym9sZDt9DQpmaWVsZHNldCB7cGFkZGluZzoxLjRlbTttYXJnaW46MCAwIDEuNWVtIDA7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO30NCmxlZ2VuZCB7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MS4yZW07fQ0KaW5wdXQudGV4dCwgaW5wdXQudGl0bGUsIHRleHRhcmVhLCBzZWxlY3Qge21hcmdpbjowLjVlbSAwO2JvcmRlcjoxcHggc29saWQgI2JiYjt9DQppbnB1dC50ZXh0OmZvY3VzLCBpbnB1dC50aXRsZTpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIHNlbGVjdDpmb2N1cyB7Ym9yZGVyOjFweCBzb2xpZCAjNjY2O30NCmlucHV0LnRleHQsIGlucHV0LnRpdGxlIHt3aWR0aDozMDBweDtwYWRkaW5nOjVweDt9DQppbnB1dC50aXRsZSB7Zm9udC1zaXplOjEuNWVtO30NCnRleHRhcmVhIHt3aWR0aDozOTBweDtoZWlnaHQ6MjUwcHg7cGFkZGluZzo1cHg7fQ0KLmVycm9yLCAubm90aWNlLCAuc3VjY2VzcyB7cGFkZGluZzouOGVtO21hcmdpbi1ib3R0b206MWVtO2JvcmRlcjoycHggc29saWQgI2RkZDt9DQouZXJyb3Ige2JhY2tncm91bmQ6I0ZCRTNFNDtjb2xvcjojOGExZjExO2JvcmRlci1jb2xvcjojRkJDMkM0O30NCi5ub3RpY2Uge2JhY2tncm91bmQ6I0ZGRjZCRjtjb2xvcjojNTE0NzIxO2JvcmRlci1jb2xvcjojRkZEMzI0O30NCi5zdWNjZXNzIHtiYWNrZ3JvdW5kOiNFNkVGQzI7Y29sb3I6IzI2NDQwOTtib3JkZXItY29sb3I6I0M2RDg4MDt9DQouZXJyb3IgYSB7Y29sb3I6IzhhMWYxMTt9DQoubm90aWNlIGEge2NvbG9yOiM1MTQ3MjE7fQ0KLnN1Y2Nlc3MgYSB7Y29sb3I6IzI2NDQwOTt9", "screen"); | |
// default trac styles for styling code and diffs | |
addMyStylesheet(tracbase+"chrome/common/css/code.css", "screen"); | |
//addMyStylesheet(tracbase+"/chrome/common/css/changeset.css", "screen"); | |
addMyStylesheet(tracbase+"chrome/common/css/diff.css", "screen"); | |
//document.body.setAttribute("class", "container"); | |
//document.getElementById("main").setAttribute("class", "container"); | |
//document.getElementById("content").setAttribute("class", "prepend-1"); | |
if (document.getElementById("changelog")) { | |
var xpathcomments = "//div[@id='changelog']/form/div//div[@class='comment']"; | |
var comments = document.evaluate(xpathcomments, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); | |
for (var i=0;i<comments.snapshotLength;i++ ) { | |
if (comments.snapshotItem(i).innerHTML.length > 0) { | |
var avatarHTML = "<img src='data:image/png;base64,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' style='float:left; padding-left: 1em;'/>"; | |
form = comments.snapshotItem(i).parentNode.parentNode; | |
form.innerHTML = avatarHTML+form.innerHTML; | |
} | |
} | |
} | |
// when viewing a ticket make the milestone name link to the query showing all tickets in this milestone | |
if (document.getElementById("ticket")) { | |
var milestoneHeading = document.getElementById("h_milestone"); | |
var ticketMilestone = milestoneHeading.nextSibling.nextSibling.textContent; // newline followed by the actual value | |
var milestoneLink = tracbase + "query?status=~&order=keywords&milestone="+escape(ticketMilestone); | |
milestoneHeading.nextSibling.nextSibling.innerHTML = "<a href="+milestoneLink+">"+ticketMilestone+"</a>"; | |
} | |
// specific for my work ;) | |
if (document.location.href.indexOf("bath.ac.uk")>0 && document.getElementById("newticket")!=null && document.location.hash.indexOf("preview")<0) { | |
var description = document.getElementById("description"); | |
description.value = "A description of the feature or problem\n\n==== Acceptance criteria ====\n\n * page must be returned in under two seconds\n * search results must match those in the source application\n * Content must follow Tone of Voice guidelines"; | |
var summary = document.getElementById("summary"); | |
summary.value = "Users can do something with something "; | |
} | |
/* | |
if (document.getElementById("changelog")) { | |
// insert comment bubble before each change comment | |
var changeforms = document.getElementById("changelog").getElementsByTagName("form"); | |
var avatarHTML = "<img src='data:image/png;base64,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' style='float:left;'/>"; | |
for (var i=0;i<changeforms.length;i++) { | |
changeforms[i].childNodes[1].innerHTML = avatarHTML+changeforms[i].childNodes[1].innerHTML; | |
} | |
} | |
*/ | |
GM_addStyle("#search, #ctxtnav, #footer, #content a.anchor, #content span.inlinebuttons, #anydiff { display: none; }"); | |
if (document.location.pathname.indexOf("browser")>0 || document.location.pathname.indexOf("report")>0) { | |
GM_addStyle("#ctxtnav { \ | |
display: block;\ | |
float: right;\ | |
padding-top: 5px;\ | |
padding-right: 1.2em;\ | |
}\ | |
#ctxtnav ul, #ctxtnav li { \ | |
display: inline;\ | |
margin-bottom: 0;\ | |
margin-left: 8px;\ | |
}\ | |
#ctxtnav a { \ | |
color: white;\ | |
}\ | |
#ctxtnav h2 {\ | |
display: none;\ | |
}"); | |
} | |
GM_addStyle("hr { display: none; }\ | |
th { background-color: inherit; }\ | |
body { background: #ddd; color: #333; margin: 0; }\ | |
#header h1 { margin-bottom: 0px; }\ | |
#banner {\ | |
background: #5A9ECF;\ | |
height: 70px;\ | |
margin: 0;\ | |
text-align: left;\ | |
padding-top: 1px;\ | |
position: relative;\ | |
border-top: 1px solid #222;\ | |
}\ | |
#banner #metanav ul {\ | |
margin: 0;\ | |
}\ | |
#banner #metanav ul li {\ | |
font-size: 92%;\ | |
list-style: none;\ | |
float: right;\ | |
margin-right: 10px;\ | |
margin-top: 0px;\ | |
}\ | |
#mainnav {\ | |
background: #5A9ECF;\ | |
height: 20px;\ | |
margin: 0;\ | |
text-align: left;\ | |
padding-top: 1px;\ | |
position: relative;\ | |
border-bottom: 6px solid #058;\ | |
border-top: none;\ | |
}\ | |
#mainnav ul {\ | |
height: 100%;\ | |
margin-bottom: 0;\ | |
}\ | |
#mainnav ul li {\ | |
list-style: none;\ | |
display: inline;\ | |
margin: 0 5px 0 0;\ | |
background: #333333 none repeat scroll 0 0;\ | |
-moz-border-radius-topleft: 4px;\ | |
-moz-border-radius-topright: 4px;\ | |
padding: 4px 0 3px 0;\ | |
}\ | |
#mainnav ul li:hover {\ | |
background-color: #777;\ | |
}\ | |
#mainnav ul li a {\ | |
color: #fff;\ | |
text-decoration: none;\ | |
font-weight: bold;\ | |
padding: 4px 10px 3px 10px;\ | |
}\ | |
#mainnav ul li.active {\ | |
background-color: #004477;\ | |
background-image: url('data:image/png;base64,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');\ | |
background-repeat: no-repeat;\ | |
background-position: 9px 5px;\ | |
background-attachment: scroll;\ | |
padding-left: 20px;\ | |
}\ | |
#content {\ | |
background-color: #fff;\ | |
-moz-border-radius-topleft: 4px;\ | |
-moz-border-radius-topright: 4px;\ | |
margin-left: 18px;\ | |
margin-right: 18px;\ | |
margin-top: 7px;\ | |
padding-left: 0px;\ | |
}\ | |
#content h1 {\ | |
background: #006699 none repeat scroll 0 0;\ | |
-moz-border-radius-topleft: 4px;\ | |
-moz-border-radius-topright: 4px;\ | |
color: #fff;\ | |
font-size: 1.4em;\ | |
padding: 7px;\ | |
margin-bottom: 0;\ | |
}\ | |
#content h1 a {\ | |
color: #fff;\ | |
margin-bottom: 0;\ | |
}\ | |
h1 .sep{\ | |
color: inherit;\ | |
}\ | |
#content h2 {\ | |
font-size:1.3em;\ | |
margin-bottom:0;\ | |
margin-left:7px;\ | |
margin-top:1.2em;\ | |
}\ | |
#content div#description {\ | |
background: #5A9ECF none repeat scroll 0 0;\ | |
color: #fff;\ | |
padding: 7px;\ | |
margin-bottom: 0;\ | |
}\ | |
#content #description p {\ | |
margin-bottom: 0;\ | |
}\ | |
#content #description ul {\ | |
margin-bottom: 0;\ | |
}\ | |
#content form#prefs {\ | |
background: #5A9ECF none repeat scroll 0 0;\ | |
color: #fff;\ | |
padding: 7px;\ | |
}\ | |
#content form#prefs fieldset {\ | |
padding: 0;\ | |
padding-top: 0.7em;\ | |
margin: 0;\ | |
border: none;\ | |
}\ | |
#content table.listing {\ | |
margin: 7px;\ | |
width: 98%;\ | |
}\ | |
#content table.listing tr:hover {\ | |
background-color: #eee;\ | |
}\ | |
#content table.listing tr.color1-odd, #content table.listing tr.color1-even { \ | |
background-color: #EE8888;\ | |
}\ | |
#content table.listing tr.color2-odd, #content table.listing tr.color2-even { \ | |
background-color: #FFFFBB;\ | |
}\ | |
#content table.listing td > a, #content table.listing th a {\ | |
// descendent selector means source browser still works \ | |
color: #3388BB;\ | |
text-decoration: none;\ | |
font-weight: bold;\ | |
display: block;\ | |
}\ | |
#content table.listing th a {\ | |
text-decoration: underline;\ | |
}\ | |
#content table.listing td a:hover {\ | |
color: #333;\ | |
}\ | |
#content .buttons {\ | |
background: #5A9ECF none repeat scroll 0 0;\ | |
padding: 7px;\ | |
}\ | |
#content form#prefs .buttons {\ | |
padding-left: 0px;\ | |
}\ | |
#content .buttons form, #content .buttons form div {\ | |
display: inline;\ | |
}\ | |
#content #newticket label[for=type], #content #newticket #type {\ | |
display: none;\ | |
}\ | |
#content #newticket textarea#description {\ | |
width: 500px;\ | |
}\ | |
#ticket {\ | |
padding: 7px;\ | |
background: #F7F7F7 none repeat scroll 0 0;\ | |
color: #333333;\ | |
border-bottom: 1px solid #DDDDDD;\ | |
}\ | |
#ticket table.properties {\ | |
border-bottom: 1px dashed #DDDDDD;\ | |
}\ | |
#ticket .date{\ | |
float: right;\ | |
}\ | |
#ticket .date p {\ | |
display: inline;\ | |
margin: 0;\ | |
}\ | |
#ticket h2 {\ | |
margin-top: 0;\ | |
margin-bottom: 5px;\ | |
}\ | |
#ticket .description h3 {\ | |
display: none;\ | |
}\ | |
#ticket .description h4, #preview h4 {\ | |
font-weight: bold;\ | |
}\ | |
#ticket h2.summary {\ | |
color:#555555;\ | |
text-decoration: none;\ | |
font-size: 1.6em;\ | |
font-weight: bold;\ | |
}\ | |
#altlinks {\ | |
background-color: #CCCCCC;\ | |
font-size:92%;\ | |
text-align:center;\ | |
margin: 8px 18px;\ | |
-moz-border-radius: 4px;\ | |
}\ | |
#altlinks h3 {\ | |
margin-bottom: 2px;\ | |
color:#555555;\ | |
}\ | |
#altlinks ul li {\ | |
display: inline;\ | |
list-style: none;\ | |
margin-right: 5px;\ | |
}\ | |
#altlinks a {\ | |
color:#555555;\ | |
text-decoration: none;\ | |
}\ | |
#altlinks a:hover {\ | |
text-decoration: underline;\ | |
}\ | |
#changelog .change {\ | |
border-bottom: 1px solid #eee;\ | |
padding: 10px 0 0 10px;\ | |
}\ | |
#changelog .change h3 {\ | |
font-size: 1.2em;\ | |
font-weight: bold;\ | |
}\ | |
#changelog .change ul {\ | |
font-size: 0.8em;\ | |
}\ | |
#changelog .change .comment, #changelog .change .changes, #changelog .change h3 {\ | |
margin-left: 65px;\ | |
list-style: none;\ | |
}\ | |
#changelog .change .comment {\ | |
font-size: 120%;\ | |
}\ | |
#searchable > form > h3 {\ | |
display: none;\ | |
}\ | |
fieldset {\ | |
margin: 1.5em;\ | |
}\ | |
fieldset.iefix {\ | |
border: none;\ | |
}\ | |
div.wiki-toc {\ | |
float: left;\ | |
}\ | |
div.wikipage {\ | |
padding: 1.5em;\ | |
}\ | |
div.wikipage h1 {\ | |
/* I don't like using negative margins but this is the easiest route here I think */\ | |
margin: -1.1em;\ | |
}\ | |
div.timeline dl{\ | |
padding-left: 1.5em;\ | |
}\ | |
div.timeline dt.changeset, div.timeline dt.changeset a {\ | |
padding-top: 0px;\ | |
text-decoration: none;\ | |
display:block;\ | |
}\ | |
div.timeline dd {\ | |
padding-bottom: 15px;\ | |
}\ | |
div.timeline dt.changeset a {\ | |
background-repeat: no-repeat;\ | |
background-position: 0 4px;\ | |
padding-top: 0;\ | |
background-image: url("+tracbase+"chrome/common/changeset.png);\ | |
background-repeat: no-repeat;\ | |
}\ | |
div.timeline dt.closedticket a {\ | |
background-repeat: no-repeat;\ | |
background-position: 0 4px;\ | |
padding-top: 0;\ | |
background-image: url("+tracbase+"chrome/common/closedticket.png);\ | |
background-repeat: no-repeat;\ | |
}\ | |
div.timeline dt.newticket a {\ | |
background-repeat: no-repeat;\ | |
background-position: 0 4px;\ | |
padding-top: 0;\ | |
background-image: url("+tracbase+"chrome/common/newticket.png);\ | |
background-repeat: no-repeat;\ | |
}\ | |
div.timeline dt a {\ | |
padding:0 4px 2px 1.4em;\ | |
text-decoration: none;\ | |
}\ | |
a.closed {\ | |
text-decoration: line-through;\ | |
}\ | |
dt em {\ | |
border-bottom:1px dotted #BBBBBB;\ | |
font-style:normal;\ | |
}\ | |
span.time {\ | |
color: #555555;\ | |
font-weight: normal;\ | |
}\ | |
div.changeset > form > div div.field {\ | |
display: inline;\ | |
padding-left: 1em;\ | |
}\ | |
div.changeset > dl#overview {\ | |
margin: 0;\ | |
}\ | |
div.report form div.field, div.ticket form div.field{\ | |
padding-left: 1.5em;\ | |
}\ | |
div#help {\ | |
color: #555;\ | |
text-align: center;\ | |
}\ | |
table.progress td.closed {\ | |
background:#BAE0BA none repeat scroll 0 0;\ | |
}\ | |
table.progress td.open {\ | |
background:red none repeat scroll 0 0;\ | |
padding: 0;\ | |
}\ | |
div.roadmap ul.milestones {\ | |
list-style: none;\ | |
}\ | |
div#content.roadmap ul.milestones h2 {\ | |
margin-left: 0;\ | |
}\ | |
div#content table.progress {\ | |
height: 30px;\ | |
border: 1px solid #d5d5d5;\ | |
width: 60%;\ | |
margin-right: 5px;\ | |
margin-bottom: 0;\ | |
float: left;\ | |
}\ | |
div#content p.percent {\ | |
padding: 5px;\ | |
font-weight: bold;\ | |
}\ | |
div.roadmap dl, div.milestone dl {\ | |
clear: both;\ | |
margin-bottom: 0;\ | |
}\ | |
div.roadmap dt, div.roadmap dd, div.milestone dt, div.milestone dd {\ | |
display: inline;\ | |
font-style: italic;\ | |
margin-right: 5px;\ | |
}\ | |
div.roadmap p, div.milestone p {\ | |
margin: 0 0 0.5em;\ | |
}\ | |
div.milestone div.info{\ | |
margin: 0.5em 1.5em 1.5em;\ | |
}\ | |
div.milestone form#stats{\ | |
\ | |
}\ | |
div.milestone div.description{\ | |
margin: 0.5em 1.5em 1.5em;\ | |
font-size: 1.2em;\ | |
font-weight: bold;\ | |
}\ | |
div.query fieldset {\ | |
padding: 0 0 0 7px;\ | |
margin: 0 0 0 7px;\ | |
width: 60%;\ | |
}\ | |
div.query .option {\ | |
padding: 0 0 0 7px;\ | |
margin-bottom: 0;\ | |
}\ | |
table#info td.message p {\ | |
margin-bottom: 0;\ | |
}\ | |
table#info , table#info ul.props {\ | |
margin-bottom: 0;\ | |
}\ | |
#jumprev {\ | |
float: right;\ | |
}"); | |
function autoUpdateFromUserscriptsDotOrg(SCRIPT) { | |
// Update code from Junk Blocker: http://loonyone.livejournal.com/ | |
// usage example | |
// autoUpdateFromUserscriptsDotOrg({ | |
// name: 'RSS+Atom Feed Subscribe Button Generator', | |
// url: 'http://userscripts.org/scripts/source/688.user.js', | |
// version: "1.2", | |
// }); | |
try { | |
if (!GM_getValue) return; // Older version of Greasemonkey. Can't run. | |
// avoid a flood of dialogs e.g. when opening a browser with multiple tabs set to homepage | |
// and a script with * includes or opening a tabgrop | |
var DoS_PREVENTION_TIME = 2 * 60 * 1000; | |
var isSomeoneChecking = GM_getValue('CHECKING', null); | |
var now = new Date().getTime(); | |
GM_setValue('CHECKING', now.toString()); | |
if (isSomeoneChecking && (now - isSomeoneChecking) < DoS_PREVENTION_TIME) return; | |
// check daily | |
var ONE_DAY = 24 * 60 * 60 * 1000; | |
var ONE_WEEK = 7 * ONE_DAY; | |
var TWO_WEEKS = 2 * ONE_WEEK; | |
var lastChecked = GM_getValue('LAST_CHECKED', null); | |
if (lastChecked && (now - lastChecked) < TWO_WEEKS) return; | |
GM_xmlhttpRequest({ | |
method: 'GET', | |
url: SCRIPT.url + '?source', // don't increase the 'installed' count just for update checks | |
onload: function(result) { | |
if (!result.responseText.match(/@version\s+([\d.]+)/)) return; // did not find a suitable version header | |
var theOtherVersion = parseFloat(RegExp.$1); | |
if (theOtherVersion <= parseFloat(SCRIPT.version)) return; // no updates or older version on userscripts.orge site | |
if (window.confirm('A new version ' + theOtherVersion + ' of greasemonkey script "' + SCRIPT.name + '" is available.\nYour installed version is ' + SCRIPT.version + ' .\n\nUpdate now?\n')) { | |
GM_openInTab(SCRIPT.url); // better than location.replace as doing so might lose unsaved data | |
} | |
} | |
}); | |
GM_setValue('LAST_CHECKED', now.toString()); | |
} catch (ex) { | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment