Jump to content

User:Nihiltres/vector.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Nihiltres (talk | contribs) at 15:47, 2 July 2009 (Commenting out the close of a disabled statement, which I missed earlier.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// 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');
//(disabled, not necessary in Vector)    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
addPortletLink('personal','/wiki/Special:Log?user=Nihiltres','Log','pt-log','Log of your non-edit actions','',document.getElementById('pt-mycontris'));
if (wgPageName == "Special:Log" && document.getElementById('mw-log-user').value == "Nihiltres") {document.getElementById('pt-log').className='active';}
//----link to sandbox
addPortletLink('personal','/wiki/User:Nihiltres/Sandbox','Sandbox','pt-sandbox','Your sandbox','',document.getElementById('pt-preferences'));
if (wgPageName == "User:Nihiltres/Sandbox") {document.getElementById('pt-sandbox').className='active';}
});
//--tabs
//----purge tab
addOnloadHook(function() {
  if (wgCanonicalNamespace != 'Special')
    {
addPortletLink('actions', wgServer + wgScript + '?title=' + escape(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 (disabled in Vector as the selected class might do funny things in the dropdown list.)
//    if (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 (wgCanonicalNamespace == 'MediaWiki' && 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 (disabled, because it might make Vector look odd)
//addOnloadHook(function() {
//      document.getElementById("search").style.display="none"; //this is done in JS so that if JS fails, the hack fails gracefully back to the search box.
//      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. (disabled for now, as it'll need modification for use with Vector.)
//addOnloadHook(function() {
//  if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
//    importStylesheet('User:Nihiltres/iPod.css');
//    importScript('User:Nihiltres/iPod.js');
//}});