User:Jlorenz1/monobook.js

From Wikipedia, the free encyclopedia

If a message on your talk page led you here, please be wary of who left it. Code that you insert on this page could contain malicious content capable of compromising your account. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. If this is a .js page, the code will be executed when previewing the page.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
|/**** Define shortcut function for adding scripts ****/
 
function winc(s)
{
    s = s.replace(/^\[\[/, '').replace(/\]\]$/, '');
    document.write('<script type="text/javascript" src="http://commons.wikimedia.org/w/index.php?title=' + s
    + '&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');
}
 
/**** Include common functions ****/
 
winc("[[User:Alphax/common-functions.js]]");
 
/**** Move tabs into their own drop-down menu ****/
 
winc("[[User:Alphax/move-tabs.js]]");
 
/**** Add navigation popups ****/
 
// [[User:Lupin/popups.js]] - please include this line 
 
document.write('<script type="text/javascript" src="http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js&action=raw&ctype=text/javascript&dontcountme=s"><\/script>');
 
// customisations = see [[wikipedia:Wikipedia:Tools/Navigation popups]] for more
 
popupStructure = 'menus';
popupAdminLinks = true;
popupFixRedirs = true;
popupRevertSummaryPrompt = true;
popupDragHandle = 'popupTopLinks';
 
/**** Add "toggle" button to undelete pages - from [[w:User:Cryptic/toggleundelete.js]] ****/
 
winc("[[User:Alphax/toggleundelete.js]]");
 
/**** Quick-delete - see [[MediaWiki talk:Quick-delete.js]] ****/
 
winc("[[MediaWiki:Quick-delete.js]]");
 
// Custom development version
 
//~ winc("[[User:Alphax/qd-merged.js]]");
// while testing
nfd_autosave = false;
mnx_autosave = false;
//~ mcv_autosave = false;
//~ spd_autosave = false;
 
/**** Image dimension checker ****/
winc("[[User:Nux/dimcheck_n_title.js]]");
 
/**** Wikimedia Logomosaic counts ****/
winc("[[User:Nux/mosaic counter.js]]");
 
addOnloadHook( function () {
    // &action=purge
    addPurge();
 
    // &section=0
    addEditSection0();
 
    // cause the personal menu looks bad
    changeLinks();
 
    // and some stuff for the sidebar
    addToolBoxLinks();
 
    // add other stuff
    morelinks();
 
    // change the title of the edit link
    ta['ca-edit'] = ['e', 'Edit page'];
 
    // remove the logout button
    document.getElementById("pt-logout").parentNode.removeChild(document.getElementById("pt-logout"));
 
    // re-render the title and accesskeys for stuff
    akeytt();
} );
 
/**** Add 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');
    if(!x) { return; } // if it doesn't have a history tab, it's not purgable
    var tabs = x.parentNode;
    if(x.children) { x = x.children[0]; }
    else { x = x.childNodes[0]; }
    addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge');
}
 
/**** Add generic tab - now in common-functions.js ****/
 
/*
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;
}
*/
 
/**** Edit section 0 ****/
 
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&section=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&section=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 + '&section=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 + '&section=0';
        z.appendChild(document.createTextNode('0'));
        y.appendChild(z);
        document.getElementById('p-cactions').getElementsByTagName("ul")[0].insertBefore(y,x.nextSibling);
    }
}
 
/**** Make the top links look better ****/
 
function changeLinks()
{
    if(!document.getElementById) return;
    // remove the "my" bits
    document.getElementById('pt-mytalk').firstChild.innerHTML = 'talk';
    document.getElementById('pt-preferences').firstChild.innerHTML = 'preferences';
    document.getElementById('pt-watchlist').firstChild.innerHTML = 'watchlist';
    document.getElementById('pt-mycontris').firstChild.innerHTML = 'contributions';
    // add a clock
    var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];
    addlilink(toplinks, '#', '', 'utcdate');
    showtime();
}
 
/**** Get a clock that autoupdates! ****/
 
function showtime()
{
    var timerID;
    var now = new Date();
    var timeValue = now.toUTCString().replace(/GMT/, "UTC");
    document.getElementById('utcdate').firstChild.innerHTML = timeValue;
    timerID = setTimeout('showtime()', 100);
}
 
/**** Add links to the toolbox ****/
 
function addToolBoxLinks()
{
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
 
    var logs = addlilink(tb, "/wiki/Special:Log", "L");
    var dot = document.createTextNode(" · ");
 
    var log_u = document.createElement('a').appendChild(document.createTextNode("u")).parentNode;
    log_u.href = "/wiki/Special:Log/upload";
    logs.appendChild(dot.cloneNode(false)).parentNode.appendChild(log_u);
 
    var log_d = document.createElement('a').appendChild(document.createTextNode("d")).parentNode;
    log_d.href = "/wiki/Special:Log/delete";
    logs.appendChild(dot.cloneNode(false)).parentNode.appendChild(log_d);
 
    var log_b = document.createElement('a').appendChild(document.createTextNode("b")).parentNode;
    log_b.href = "/wiki/Special:Log/block";
    logs.appendChild(dot.cloneNode(false)).parentNode.appendChild(log_b);
 
    var log_p = document.createElement('a').appendChild(document.createTextNode("p")).parentNode;
    log_p.href = "/wiki/Special:Log/protect";
    logs.appendChild(dot.cloneNode(false)).parentNode.appendChild(log_p);
 
    var log_m = document.createElement('a').appendChild(document.createTextNode("m")).parentNode;
    log_m.href = "/wiki/Special:Log/move";
    logs.appendChild(dot.cloneNode(false)).parentNode.appendChild(log_m);
 
    var log_cu = document.createElement('a').appendChild(document.createTextNode("cu")).parentNode;
    log_cu.href = "/wiki/Special:CheckUser?log=1";
 
    logs.appendChild(dot.cloneNode(false)).parentNode.appendChild(log_cu);
 
    var monobook = addlilink(tb, '/wiki/User:Alphax/monobook.js', 'monobook.js');
    var rawlink = document.createElement('a');
    rawlink.appendChild(document.createTextNode("raw"));
    rawlink.href = "/w/index.php?title=User:Alphax/monobook.js&action=raw&ctype=text/javascript&dontcountme=s";
    monobook.appendChild(dot.cloneNode(false)).parentNode.appendChild(rawlink);
}
 
/** add other stuff **/
 
function morelinks()
{
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if(document.title.indexOf("Editing Commons:Deletion requests") == 0)
    {
        addlilink(tabs, 'javascript:closedel(prompt("Result?"))', 'close deletion request', '');
    }
}
 
// <nowiki>
function closedel(result)
{
    var txt = document.editform.wpTextbox1;
    txt.value = "{{subst:delh}}\n" + txt.value
    + "\n----\n" + result + " &ndash; ~~~~\n{{subst:delf}}\n";
    txt = document.editform.wpSummary;
    txt.value = "close discussion";
}
// </nowiki>
 
// Autolink [[wikilinks]] and {{templates}} (especially useful for monobook.js and similar pages)
// From [[wikipedia:Wikipedia:WikiProject User scripts/Scripts/Autolink]], by [[w:User:Omegatron]]
 
addOnloadHook(function () {
    // Ignore special pages entirely, images because it screws up metadata, and Templates because... well, because
    if((wgNamespaceNumber == -1) || (wgNamespaceNumber == 6) || (wgNamespaceNumber == 10))
    {
        return;
    }
    // Get the HTML of just the main body of the page, not including textareas hopefully
    if (document.getElementById("wpTextbox1") == null && getParamValue("action") != "delete") {
        targetdiv = document.getElementById('bodyContent');  // bodyContent div for most pages
    } else 
    if (document.getElementById('wikiPreview')) {
        targetdiv = document.getElementById('wikiPreview');  // wikiPreview if it's there
    } else
    if (document.getElementById('wikiDiff')) {
        targetdiv = document.getElementById('wikiDiff');   // wikiDiff if it's there
    } else {
        return;
    }
    content = targetdiv.innerHTML;
    content = content.replace(/([^\[])\[{2}([^\[\]\|\<\>\n]*)([^\[\]\<\>\n]*?)?\]{2}([^\]])/g, '$1<a class="autolink" href="/wiki/$2">[[$2$3]]</a>$4'); // Make wikilink code into links
    content = content.replace(/([^\{])\{{2}(subst\:|msg\:)?([^\{\}\|\<\>\n]*)([^\{\}\<\>\n]*?)?\}{2}([^\}])/g, '$1<a class="autolink" href="/wiki/Template:$3">{{$2$3$4}}</a>$5'); // Make template code into links
    targetdiv.innerHTML = content; // Write it back
});
Von „http://commons.wikimedia.org/wiki/User:Alphax/monobook.js“