Удзельнік:Yury Tarasievich/monobook.js
From Вікіпедыя
Note: After saving, you may have to bypass your browser's cache to see the changes. Mozilla / Firefox / Safari: hold down Shift while clicking Reload, or press Ctrl-Shift-R (Cmd-Shift-R on Apple Mac); IE: hold Ctrl while clicking Refresh, or press Ctrl-F5; Konqueror:: simply click the Reload button, or press F5; Opera users may need to completely clear their cache in Tools→Preferences.
//Script modified to not insert Wp/be //Script version 0.4 function format() { var txt = document.editform.wpTextbox1; txt.value = fixlinks(txt.value); } //Adds Wp/be/ prefix to all internal links except Category, Image, Media interwiki and already fixed links. function fixlinks(str) { var m = str.match(/\[\[([^[]*?)(\|)?([^[]*?)?\]\]/g); if (m) { for (var i = 0; i < m.length; i++) { var n_arr = m[i].toString().match(/\[\[([^[\|]+)(\|)?([^[]*?)?\]\]/); var n = n_arr[0]; // [[dog|dogs]] var a = n_arr[1]; // dog var z = n_arr[2]; // | var b = n_arr[3]; // dogs if (a.indexOf(":") >=0) { // Skip links with : in name, e.g. [[Category:]], [[Image:]], interwiki etc... } else { // Add Wp/be/ prefix if nessesary, capitalize first letter after Wp/be/ e.g. [[Wp/be/dog|d]] -> [[Wp/be/Dog|d]] var k = n.replace(/\[\[(Wp\/be\/)?(.)([^[\|]*)(\|)?([^[]*?)?\]\]/i, function (tmp, p1, p2, p3, p4, p5) { // 5 possible bracket captures go to p1 - p5 var ret = "[[" if (p1) {ret += p1} else {ret += ""} ret += p2.toUpperCase(); if (p3) { ret += p3 + "|" if (p4 && p5) {ret += p5} else {ret += p2 + p3} } else {if (p4 && p5) {ret += p5} else {ret += p2}} return ret+"]]"; } ); str = str.replace(n, k); } } } return str; } addOnloadHook(function () { if(document.forms.editform) { addTab('javascript:format()', 'format', 'ca-format', 'Format article', ''); } }); function addTab(url, name, id, title, key){ var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; return addlilink(tabs, url, name, id, title, key) }; function addlilink(tabs, url, name, id, title, key){ var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); tabs.appendChild(li); if(id) { if(key && title) { ta[id] = [key, title]; } else if(key) { ta[id] = [key, '']; } else if(title) { ta[id] = ['', title]; } } // re-render the title and accesskeys from existing code in wikibits.js akeytt(); return li; }