User:Zyephyrus/monobook.js

From Wikisource
Jump to: navigation, search

Note: After saving, 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: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Konqueror: Click Reload or press F5
  • Opera: Clear the cache in Tools → Preferences
// install [[User:Cacycle/wikEdDiff]] enhanced diff view using ajax
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEdDiff.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
 
self.proofreadpage_disable_wheelzoom=false
 
/***
	*Expressions régulières
	*Auteur: ThomasV, Pathoschild
	*Note : cet outil utilise la syntaxe javascript : on utilise $ (et pas \) pour appeler un groupe dans la chaîne de remplacement.
	*Tutoriel : http://www.regular-expressions.info/tutorial.html
	****/
 
	/* create form */
	function custom() {
 
		/* if already open */
		if(document.getElementById('regexform')) customremove()
		else {	
                        var editbox = document.getElementById('wpTextbox1');
			/* container */
			var regexform = document.createElement('div');
			regexform.setAttribute('id','regexform');
			editbox.parentNode.insertBefore(regexform,editbox.parentNode.firstChild);
 
			/* form tag */
			var formform = document.createElement('form');
			formform.setAttribute('id','regexformform');
			formform.setAttribute('onSubmit','customgo(); return false;');
			regexform.appendChild(formform);
 
			// add input boxes
		        var newinput = document.createElement('input');
		        newinput.setAttribute('id','formsearch');
		        var newlabel = document.createElement('label');
		        newlabel.setAttribute('for','formsearch');
			newlabel.appendChild(document.createTextNode("Remplacer "));
 
			formform.appendChild(newlabel);
			formform.appendChild(newinput);
 
			var newinput = document.createElement('input');
			newinput.setAttribute('id','formreplace');
			var newlabel = document.createElement('label');
			newlabel.setAttribute('for','formreplace');
			newlabel.appendChild(document.createTextNode(' par '));
 
			formform.appendChild(newlabel);
			formform.appendChild(newinput);
 
			// go! link
			var go_button = document.createElement('input');
			go_button.setAttribute('type',"submit");
			go_button.setAttribute('title',"go!");
			go_button.setAttribute('value',"go!");
			formform.appendChild(go_button);
 
		}
	}
 
function rmflinks() {
        regexTool('fix dashes','dashes()');
}
 
function dashes() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
	editbox.value = editbox.value.replace(/--/g, '—')
}
 
function lines() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
	editbox.value = editbox.value.replace(/\n\n/g, 'PPP');
	editbox.value = editbox.value.replace(/\n/g, '');
	editbox.value = editbox.value.replace(/PPP/g, '\n\n')
}
 
function linessp() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
	editbox.value = editbox.value.replace(/\n\n/g, 'PPP');
	editbox.value = editbox.value.replace(/\n/g, ' ');
	editbox.value = editbox.value.replace(/PPP/g, '\n\n')
}
 
 
 
 
 
 
	/* run patterns */
	function customgo() {
		/* get search and replace strings */
 
                search = document.getElementById('formsearch').value;
		search = search.replace(/\\n/g, '\n');
 
                replace = document.getElementById('formreplace').value;
		replace = replace.replace(/\\n/g, '\n');
 
		/* convert input to regex */
 
		// without delimiters
		if(!search.match(/^\s*\/[\s\S]*\/[a-z]*\s*$/i)) {
			search = new RegExp(search,'g');
		}
		// with delimiters
		else {
			// break into parts
			var regpattern = search.replace(/^\s*\/([\s\S]*)\/[a-z]*\s*$/i,'$1');
			var regmodifiers = search.replace(/^\s*\/[\s\S]*\/([a-z]*)\s*$/,'$1');
			// filter invalid flags
			regmodifiers = regmodifiers.replace(/[^gim]/ig,'');
 
			search = new RegExp(regpattern, regmodifiers);
		}
 
		/* perform */
                var editbox = document.getElementById('wpTextbox1');
		editbox.value = editbox.value.replace(search,replace);
 
	}
 
	/* remove form */
	function customremove() {
		var regexform = document.getElementById('regexform');
		regexform.parentNode.removeChild(regexform);
		patterncount = -1;
	}
 
        function add_regexp_button(){
 
		var toolbar = document.getElementById("toolbar");
		if(toolbar){
			var image = document.createElement("img");
			image.width = 23;
			image.height = 22;
			image.border = 0;
			image.className = "mw-toolbar-editbutton";
			image.style.cursor = "pointer";
			image.alt = "regexp";
			image.title = "Expression régulière";
			image.src = "http://upload.wikimedia.org/wikipedia/commons/a/a0/Button_references_alt.png";
			image.onclick = custom;
			toolbar.appendChild(image);
                }
       }
 
       addOnloadHook(add_regexp_button)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
popupFixDabs=true;
popupAdminLinks=true;
 
/* sidebar code for use with User:Pathoschild's Regex code */
function rmflinks() {
        regexTool('cleanup','cleanup()');
        regexTool('both','both()');
        regexTool('ref','ref()');
        regexTool('author','author()');
        regexTool('welcome & test','weliptest()');
        regexTool('{{similar}}','similar()');
        regexTool('DNBset','DNBset()');
}
 
function author() {
        // creates an author: link from selected text
	var editbox = document.getElementsByName('wpTextbox1')[0];
        var selStart = editbox.selectionStart;
        var selEnd = editbox.selectionEnd;
        name = editbox.value.substring(selStart, selEnd);
        linked = '[[Author:'+name+'|'+name+']]';
        editbox.value = editbox.value.substring(0, selStart)
                      + linked
                      + editbox.value.substring(selEnd);
        editbox.focus();
        editbox.setSelectionRange(selStart+linked.length, selStart+linked.length);
}
 
function cleanup() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
 
        // remove trailing whitespace at the end of each line
	editbox.value = editbox.value.replace(/ \n/g, '\n');
 
        // remove trailing whitespace at the end of input
	editbox.value = editbox.value.replace(/\s+$/g, '');
 
        // convert double-hyphen to mdash
	editbox.value = editbox.value.replace(/--/g, '—');
 
        // remove spacing around mdash, but only if it has spaces on both sides
        // (we don't want to remove the trailing space from "...as follows:— "
	editbox.value = editbox.value.replace(/ ++/g, '—');
 
        // join words that are hyphenated across a line break
	editbox.value = editbox.value.replace(/-\n/g, '');
 
        // stuff to do only if the page doesn't contain a <poem> tag:
        if (-1 == editbox.value.indexOf("<poem>")) {
                // remove single line breaks; preserve multiple.
                editbox.value = editbox.value.replace(/([^>\n])\n([^<\n])/g, '$1 $2');
 
                // collapse sequences of spaces into a single space
                editbox.value = editbox.value.replace(/  +/g, ' ');
        }
 
        // remove unwanted spaces around punctuation marks
	editbox.value = editbox.value.replace(/ ([;:\?!,])/g, '$1');
 
 
        //OCR fixes
        // convert i9 to 19, etc.
	editbox.value = editbox.value.replace(/[il]([0-9])/g, '1$1');
 
        // "the", "them", "their", etcetera
        editbox.value = editbox.value.replace(/tlie/g, 'the');
}
 
function both() {
	var headerbox = document.getElementsByName('wpHeaderTextbox')[0];
	headerbox.value = headerbox.value + '\n{{running header|left=|center=|right=}}'
}
 
function ref() {
	var footerbox = document.getElementsByName('wpFooterTextbox')[0];
	footerbox.value = footerbox.value.replace('<references/>','{{float center|{{smallrefs}}}}\n');
}
 
function weliptest() {
	var headerbox = document.getElementsByName('wpHeaderTextbox')[0];
	editbox.value = editbox.value + '{{subst:' + 'welcomeip}}-- ~~' + '~~\n{{test}}';
        editreason.value = editreason.value + 'welcome & test';
}
 
function similar() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
	editbox.value = editbox.value.replace(/\{\{header/g, '{{similar|}}\n{{header');
        editreason.value = editreason.value + '{{similar}}';
}
 
function DNBset() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
	editbox.value = editbox.value.replace(/\{\{header\n \| title      \=.+\n \| author     \= \n \| translator \= \n \| section    \= \n \| previous   \= \n \| next       \= \n \| notes      \= \n\}\}\n/, '{{subst:DNBset\n |article= \n |previous= \n |next= \n |volume = \n |contributor = \n |wikipedia = \n |extra_notes= \n |from= \n |to= \n |section= \n}}');
}
 
/* </pre>[[Category:Bots/Script files to update]] */
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/4/41/Button_hr_halfwidth.png",
     "speedTip": " rule ",
     "tagOpen": '{{rule}}',
     "tagClose": '',
     "sampleText": ""};
};
 
 
/* </pre>[[Category:Bots/Script files to update]] */
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/2/28/Bouton_noir.png",
     "speedTip": "Larger",
     "tagOpen": '{{larger|',
     "tagClose": '}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/8/83/Bouton_noir_mini.png",
     "speedTip": "Sm ",
     "tagOpen": '{{smaller|',
     "tagClose": '}}',
     "sampleText": ""};
};
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/5/5f/Button_center.png",
     "speedTip": "Centre text",
     "tagOpen": '{{center|',
     "tagClose": '}}',
     "sampleText": ""};
};
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/8/83/Button_biocitas.png",
     "speedTip": "Author link",
     "tagOpen": '[[Author:',
     "tagClose": '|]]',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png",
     "speedTip": "Reference",
     "tagOpen": '<ref>',
     "tagClose": '</ref>',
     "sampleText": ""};
};
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png",
     "speedTip": "Liste des références",
     "tagOpen": '<references />',
     "tagClose": '',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/a/a2/SmallcapsButton.png",
     "speedTip": "sc ",
     "tagOpen": '{{sc|',
     "tagClose": '}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/4/4e/Button_romain.png",
     "speedTip": "f/sc ",
     "tagOpen": '{{sc|{{'+'subst:ucfirst:{{'+'subst:lc:',
     "tagClose": '}}}}}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/4/41/Button_hr_halfwidth.png",
     "speedTip": "hws ",
     "tagOpen": '{{hws|',
     "tagClose": '|}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/4/41/Button_hr_halfwidth.png",
     "speedTip": "hwe ",
     "tagOpen": '{{hwe|',
     "tagClose": '|}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/c/c0/Knop_onzijdig.png",
     "speedTip": "S/n beg ",
     "tagOpen": '{{Sidenotes begin',
     "tagClose": '}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/c/c0/Knop_onzijdig.png",
     "speedTip": "S/n end ",
     "tagOpen": '{{Sidenotes end',
     "tagClose": '}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/8/8d/Button_image_annotation.png",
     "speedTip": "Force s/n",
     "tagOpen": '{{Force sidenote|left|',
     "tagClose": '}}',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/thumb/7/71/Progress-0625.svg/20px-Progress-0625.svg.png",
     "speedTip": "section begin",
     "tagOpen": '<section begin=',
     "tagClose": ' />',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/3/32/Button_apostrophe.PNG",
     "speedTip": "apostrophe",
     "tagOpen": '’',
     "tagClose": '',
     "sampleText": ""};
};
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/9/97/Button_S_italic.png",
     "speedTip": "long s",
     "tagOpen": 'ſ',
     "tagClose": '',
     "sampleText": ""};
};
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/9/94/Vector_toolbar_insert_new_line_button.png",
     "speedTip": " br ",
     "tagOpen": '<br />\n',
     "tagClose": '',
     "sampleText": ""};
};
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Progress-0750.svg/20px-Progress-0750.svg.png",
     "speedTip": "section end",
     "tagOpen": '<section end=',
     "tagClose": ' />',
     "sampleText": ""};
};
 
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://bits.wikimedia.org/skins-1.5/common/images/button_hr.png",
     "speedTip": " — ",
     "tagOpen": '—',
     "tagClose": '',
     "sampleText": ""};
};
 
 
if (mwCustomEditButtons) {
 mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/8/8f/Button_poeme.png",
     "speedTip": "Poem",
     "tagOpen": '<poem>',
     "tagClose": '</poem>',
     "sampleText": ""};
};
 
// Auto create page when requesting a non existent Page:*, inefficient since there is
// two request per page, see setupNextLink() which avoid it in most case.
function autoCreatePage() {
  if (wgArticleId == 0 && wgAction == 'view') {
      url = document.URL.slice((wgServer + '/wiki/').length);
      url = wgServer + wgScript + '?title=' + url + '&action=edit';
      window.location = url;
  }
}
 
if (wgCanonicalNamespace == 'Page')
  addOnloadHook(autoCreatePage);
 
// when acting on a Page:* setup the next link to edit mode if the next page doesn't exist.
function setupNextLink()
{
    ca_next = document.getElementById('ca-next');
    if (!ca_next) return;
    href = ca_next.firstChild;
    if (!href) return;
 
    var r = new RegExp("page(\\d+)");
    page = Number(r.exec(proofreadPageViewURL)[1]) + 1;
    next_page = wgPageName.replace(/\d+$/g, page);
 
    var url = wgServer + wgScriptPath
        + "/api.php?format=xml&action=query&prop=info&titles="
        + encodeURIComponent(next_page);
    var request = sajax_init_object();
    request.open('GET', url, true);
    request.onreadystatechange = function () {
        if (request.readyState == 4) {
            var xml = request.responseXML ;
            if (xml == null) return ;
            var page = xml.getElementsByTagName( "page" )[0];
	    if (page.getAttribute("missing") == "")
               href.href = wgServer + wgScriptPath + '/index.php?title=' + encodeURIComponent(next_page) + '&action=edit';
        }
    };
    request.send(null);
}
 
if (wgCanonicalNamespace == 'Page')
    addOnloadHook(setupNextLink);
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Print/export