User:Yaroslav Zolotaryov/monobook.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
//Script version 0.2
function format() {
var txt = document.editform.wpTextbox1;
txt.value = fixlinks(txt.value);
}
//Adds Test-WP\chal\ prefix to all internal links except Category, Image, Media interwiki and already fixed links.
function fixlinks(str) {
str = str.replace(/\[\[([^(?:Category)|(?:Image)|(?:Media)|(?:Test-WP\/chal\/)|(?:(?:\a-zA-Z){2,3}:)])(.+?)(\|.*?)?\]\]/gi, "[[Test-WP/chal/$1$2$3]]");
str = str.replace(/\[\[Test-WP\/chal\/([^\|]+?)\]\]/gi, "[[Test-WP/chal/$1|$1]]");
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;
}