User:Nihiltres/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:Nihiltres/monobook.css. |
// Tab name fixer (copied from User:Anomie/fix-tab-text.js, target content modified)
/* A simple javascript function to change the text in various tabs at the top of the
* page. Only tested with the monobook skin.
*/
addOnloadHook(function(){
var fix=function(id, text){
var el=document.getElementById(id);
if(!el) return;
for(el=el.firstChild; el && el.nodeName!='A'; el=el.nextSibling);
if(!el) return;
while(el.firstChild) el.removeChild(el.firstChild);
el.appendChild(document.createTextNode(text));
}
/* Add lines as necessary. Use the Firefox DOM inspector or some such to determine
* the appropriate IDs.
*/
//(disabled via commenting) fix('ca-talk', 'discussion');
fix('ca-edit', 'edit');
fix('pt-preferences', 'preferences');
fix('pt-watchlist', 'watchlist');
fix('pt-mytalk', 'talk');
fix('pt-mycontris', 'contributions');
});
//end tab name fixer
//Special additions of tabs and personal links
//--personal links
addOnloadHook(function() {
//----link to log
mw.util.addPortletLink('p-personal','/wiki/Special:Log?user=Nihiltres','log','pt-log','Log of your non-edit actions','',document.getElementById('pt-mycontris'));
if (mw.config.get('wgPageName') == "Special:Log" && document.getElementById('mw-log-user').value == "Nihiltres") {document.getElementById('pt-log').className='active';}
//----link to sandbox
mw.util.addPortletLink('p-personal','/wiki/User:Nihiltres/Sandbox','sandbox','pt-sandbox','Your sandbox','',document.getElementById('pt-preferences'));
if (mw.config.get('wgPageName') == "User:Nihiltres/Sandbox") {document.getElementById('pt-sandbox').className='active';}
});
//--tabs
//----purge tab
addOnloadHook(function() {
if (mw.config.get('wgCanonicalNamespace') != 'Special')
{
mw.util.addPortletLink('p-cactions', mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + escape(mw.config.get('wgPageName')) + '&action=purge', 'purge', 'ca-purge', 'Purge the server cache of this page', null, (document.getElementById('ca-watch') ? document.getElementById('ca-watch') : document.getElementById('ca-unwatch')));
//and apply the "selected" class, so that one can confirm that the page has been purged. This subroutine is all my own, I'm so proud :p
if (mw.config.get('wgAction') == "purge") {document.getElementById('ca-purge').className='selected';}
}
});
//end special additions
//auto-check the "watch this page" tab when editing the MediaWiki namespace, my own code.
addOnloadHook(function() {
if (mw.config.get('wgCanonicalNamespace') == 'MediaWiki' && mw.config.get('wgAction') == "edit") {document.getElementById('wpWatchthis').checked = true;}
});
//end auto-check for MediaWiki-space editing
//Remove search box and add a plain link in the Navigation section
addOnloadHook(function() {
document.getElementById("p-search").style.display="none"; //this is done in JS so that if JS fails, the hack fails gracefully back to the search box.
mw.util.addPortletLink('p-navigation','/wiki/Special:Search','Search','n-search','Search Wikipedia','',null,null);
});
//end search stuff
//enable special user CSS and JS pages for while using my iPod Touch… somewhat experimental but should be quite useful.
addOnloadHook(function() {
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
importStylesheet('User:Nihiltres/iPod.css');
importScript('User:Nihiltres/iPod.js');
}});