User:Austin J. Che/monobook.js: Difference between revisions
From OpenWetWare
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 42: | Line 42: | ||
{ | { | ||
addButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'',''); | addButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'',''); | ||
addButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'> | addButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'></style></html>",'',''); | ||
</style></html>",'',''); | |||
if (oldAddInfobox) oldAddInfobox(); | if (oldAddInfobox) oldAddInfobox(); | ||
} | } |
Revision as of 13:24, 18 March 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(); } } // To add a button to the edit toolbar, we rely on the fact that the function addInfobox is called // as the last thing after all the buttons // we override that function to add our own buttons var oldAddInfobox = null; /** * Loads functions */ function myLoadFuncs() { addPurge(); //addForceSummary(); addEditSection0(); changeTopLinks(); changeSidebar() oldAddInfobox = addInfobox; } function addInfobox(infoText, text_alert) { addButton('/skins/common/images/button_sig.png','Comment format',"*'''~~~~''': ",'',''); addButton('/skins/common/images/button_headline.png','Test css',"<html><style type='text/css'></style></html>",'',''); if (oldAddInfobox) oldAddInfobox(); } /** * Forces edit summary */ function addForceSummary() { if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return; if(/§ion=new/.test(window.location.href)) return; if(!document.forms.editform) return; document.forms.editform.wpSave.onclick = forceSummary; document.forms.editform.wpSave.onfocus = forceSummary; } function forceSummary() { if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1')) { var r = prompt('Are you sure you want to submit without adding a summary?\nTo add a summary, type it in the box below:',document.forms.editform.wpSummary.value); if(r == null) { return false; } document.forms.editform.wpSummary.value = r; } return true; } /** * Adds a "purge" tab */ function addPurge() { ta['ca-purge'] = ['g', 'Purge the internal cache for this page']; if(!document.getElementById) return; var x = document.getElementById('ca-history'); var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; if(!x) { return; } if(x.children) { x = x.children[0]; } else { x = x.childNodes[0]; } addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge'); } /** * 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=Sandbox&action=edit', 'Sandbox', ''); addlilink(tb, '/wiki/Endy', 'Endy lab', ''); addlilink(tb, '/wiki/Knight', 'Knight lab', ''); addlilink(tb, '/wiki/Synthetic_Biology', 'Synthetic Biology', ''); } /* </nowiki> */