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(); // §ion=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§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').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 + " – ~~~~\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“

