User:Zyephyrus/monobook.js
From Wikisource
< User:Zyephyrus(Redirected from User:Zephyrus/monobook.js)
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);