User:Austin J. Che/monobook.js: Difference between revisions
From OpenWetWare
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 38: | Line 38: | ||
// add button to the edit toolbar, this cannot be called in our load function as that appears to be too late | // add button to the edit toolbar, this cannot be called in our load function as that appears to be too late | ||
// the function that generates the toolbar is also called in a page load hook and it gets called first | // the function that generates the toolbar is also called in a page load hook and it gets called first | ||
addMyEditButtons(); | // this only works in MW 1.7+ | ||
//addMyEditButtons(); | |||
Revision as of 15:52, 1 May 2006
/* <nowiki> */ /* Based on http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js&action=edit */ /** * Initialises function loading on page load */ if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false); else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs); else { window.oldonload = window.onload; window.onload = function() { window.oldonload(); myLoadFuncs(); } } // based on addButton in wikibits.js function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { mwCustomEditButtons[mwCustomEditButtons.length] = {"imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText}; } function addMyEditButtons() { addCustomButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'',''); addCustomButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'>\n</style></html>",'',''); } // add button to the edit toolbar, this cannot be called in our load function as that appears to be too late // the function that generates the toolbar is also called in a page load hook and it gets called first // this only works in MW 1.7+ //addMyEditButtons(); /** * Loads functions */ function myLoadFuncs() { addEditSection0(); changeTopLinks(); changeSidebar() } /** * Adds tabs */ function addlilink(tabs, url, name, id) { var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); li.id = id; li.appendChild(na); tabs.appendChild(li); return li; } /** * Adds an "edit section 0" tab */ function addEditSection0() { ta['ca-edit-0'] = ['', 'Edit the zeroth section of this page']; if(!document.getElementById) return; var x = document.getElementById('ca-edit'); if(!x) return; var y = document.createElement('LI'); y.id = 'ca-edit-0'; if(x.className == 'selected'){ if(/&action=edit§ion=0$/.test(window.location.href)){ x.className = 'istalk'; y.className = 'selected'; } else { x.className = 'selected istalk'; } } else if(x.className == 'selected istalk'){ if(/&action=edit§ion=0$/.test(window.location.href)){ x.className = 'istalk'; y.className = 'selected istalk'; } else { y.className = 'istalk'; } } else { y.className = x.className; x.className = 'istalk'; } var z = document.createElement('A'); if(x.children){ z.href = x.children[0].href + '§ion=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').children[1].insertBefore(y,x.nextSibling); }else{ z.href = x.childNodes[0].href + '§ion=0'; z.appendChild(document.createTextNode('0')); y.appendChild(z); document.getElementById('p-cactions').childNodes[3].insertBefore(y,x.nextSibling); } } /** * Changes the top links */ function changeTopLinks() { if(!document.getElementById) return; // remove the "my" bits document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk'; document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist'; document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions'; var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0]; addlilink(toplinks, '/index.php?title=User:Austin/monobook.js&action=edit', 'monobook.js', ''); // add a clock addlilink(toplinks, '', '', 'utcdate'); showtime(); } /** * Makes the clock work */ function showtime() { var timerID; var now = new Date(); // var timeValue = now.toUTCString().replace(/GMT/, "UTC"); var timeValue = now; document.getElementById('utcdate').firstChild.innerHTML = timeValue; timerID = setTimeout('showtime()', 100); } function changeSidebar() { var tb = document.getElementById('p-navigation').getElementsByTagName('ul')[0]; /* var rc = document.getElementById('n-recentchanges'); rc.firstChild.href='/wiki/Special:Recentchanges/Knight,Endy,Synthetic Biology,MIT,OpenWetWare,Austin,w=1,n=OpenWetWare,n=OpenWetWare Talk,n=MediaWiki,n=MediaWiki Talk,n=0^nc=:'; addlilink(tb, '/wiki/Special:Recentchanges/u=Austin', 'My recent edits', ''); */ var tb = document.getElementById('p-resources').getElementsByTagName('ul')[0]; addlilink(tb, '/index.php?title=MediaWiki:Monobook.css&action=edit', 'Monobook.css', ''); addlilink(tb, '/wiki/Special:Userlogin', 'Create account', ''); addlilink(tb, '/index.php?title=Sandbox&action=edit', 'Sandbox', ''); addlilink(tb, '/wiki/Endy', 'Endy lab', ''); addlilink(tb, '/wiki/Knight', 'Knight lab', ''); addlilink(tb, '/wiki/Synthetic_Biology', 'Synthetic Biology', ''); addlilink(tb, '/wiki/IGEM:MIT/2006', 'MIT iGEM', ''); } /* </nowiki> */