User:Jonesey95/AutoEd/month.js

var AutoEd_baseurl = 'http://en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Jonesey95/AutoEd/'; if (location.protocol === 'https:') { AutoEd_baseurl = 'https://en.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Jonesey95/AutoEd/'; } mw.loader.load(AutoEd_baseurl + 'core1.js'); //Imports the "framework" script needed to make this function

//Sets variable configuration //autoEdTag1 = "Fix ISBN using AutoEd"; //Tweaks edit summary //autoEdLinkName1 = "AutoEd one-off"; //Changes the link name at the top of the page //autoEdLinkHover1 = "Run AutoEd to fix one-off problem"; //When user hovers over link

//autoEdTag1 = "Fix access-date parameter error" autoEdTag1 = "Fix invalid HTML tag or other HTML Tidy-related tag error"; //Tweaks edit summary autoEdLinkName1 = "AutoEd self-closed"; //Changes the link name at the top of the page autoEdLinkHover1 = "Run AutoEd to fix self-closed tags"; //When user hovers over link

//Set up function function ReplaceOneOff(str) { //function to perform one-off replacement

//Fix self-closed tags str = str.replace(/\fan71/g, '\fan71'); //custom for one user's sig str = str.replace(/pie\]\]\/g, '\pie\]\]\'); //custom for one user's sig str = str.replace(/\<\/sup\/\>\/g, ''); //custom for one user's sig str = str.replace(/\/g, ''); //custom for one user's sig str = str.replace(/\/g, ''); //custom for one user's sig str = str.replace(/\/g, ''); //custom for one user's sig str = str.replace(/\<\/*s *\/\>/gi, '\<\/s\>'); str = str.replace(/\<\/*em *\/\>/gi, '\<\/em\>'); str = str.replace(/\<\/*u *\/\>/gi, '\<\/u\>'); str = str.replace(/\<\/*h1 *\/\>/gi, '\<\/h1\>'); str = str.replace(/\<\/*h2 *\/\>/gi, '\<\/h2\>'); str = str.replace(/\<\/*h3 *\/\>/gi, '\<\/h3\>'); str = str.replace(/\<\/*h4 *\/\>/gi, '\<\/h4\>'); str = str.replace(/\<\/*h5 *\/\>/gi, '\<\/h5\>'); str = str.replace(/\<\/*td *\/\>/gi, '\\<\/td\>'); str = str.replace(/\<\/*td *(colspan=\d+)\/\>/gi, '\\<\/td\>'); str = str.replace(/\<\/*tr *\/\>/gi, '\\<\/tr\>'); str = str.replace(/\<\/*th *\/\>/gi, '\\<\/th\>'); str = str.replace(/\<\/*strike *\/\>/gi, '\<\/strike\>'); str = str.replace(/\<\/*small *\/\>/gi, '\<\/small\>'); str = str.replace(/\<\/*big *\/\>/gi, '\<\/big\>'); str = str.replace(/\<\/*center *\/\>/gi, '\<\/center\>'); str = str.replace(/\<\/*del *\/\>/gi, '\<\/del\>'); str = str.replace(/\<\/*i *\/\>/gi, '\<\/i\>'); str = str.replace(/\/gi, '\'); str = str.replace(/\/gi, '\'); str = str.replace(/\<\/span *\/\>/gi, '\<\/span\>'); str = str.replace(/\<\/*sup *\/\>/gi, '\<\/sup\>'); str = str.replace(/\<\/*sub *\/\>/gi, '\<\/sub\>'); str = str.replace(/\<\/*div *\/\>/gi, '\<\/div\>'); str = str.replace(/\<\/*blockquote *\/\>/gi, '\<\/blockquote\>'); str = str.replace(/(\<span id\s*=\s*\"*[ça-zA-Z0-9\-_ \(\)\–\.\,\:\&\'\"\;\/\%\!]+\"* *)\/\>/gi, '$1 \>\<\/span\>'); str = str.replace(/(\<span class\s*=\s*\"*[ça-zA-Z0-9\-_ ]+\"* *)\/\>/gi, '$1 \>\<\/span\>');  str = str.replace(/(\<div id=[\'\"]*[ça-zA-Z0-9\-_ ]+[\'\"]* *)\/\>/gi, '$1 \>\<\/div\>');  str = str.replace(/\<\/*p *\/\>/gi, '\<p\>');  str = str.replace(/(\<p id=[\'\"][ça-zA-Z0-9\-_ ]+[\'\"] *)\/\>/gi, '$1\>\<\/p\>');  str = str.replace(/(\<div style=\"[a-zA-Z0-9_:; #%\-]+\" *)\/\>/gi, '$1 \>\<\/div\>');  str = str.replace(/(\<div class=\"[a-zA-Z0-9_:; #%\-]+\" *)\/\>/gi, '$1 \>\<\/div\>');  str = str.replace(/(\<div id=[\'\"][ça-zA-Z0-9\-_ ]+[\'\"] +style=\"[a-zA-Z0-9_:; #%\-]+[\'\"] *)\/\>/gi, '$1 \>\<\/div\>');  str = str.replace(/(\<td style=\"[a-zA-Z0-9_:; #%\-=]+\" *)\/\>/gi, '$1 \>\<\/td\>');  //Checkwiki error #2  str = str.replace(/\<\s*\/\s*br[\s\|\/\?\.]*\>/gi, '\<br\/\>'); str = str.replace(/\<\s*\/*\s*br\s*[\|\/\?\.]+\s*\/\>/gi, '\<br\/\>'); str = str.replace(/\<\s*\/*\s*b r\s*\|*\s*\/*\s*\>/gi, '\<br\/\>'); str = str.replace(/\<\s*\/*\s*br\s*[\\\?]+\s*\/*>/gi, '\<br\/\>'); str = str.replace(/\<\s*\<\/*\s*br\s*\/*>/gi, '\<br\/\>'); str = str.replace(/\<\/br *>/gi, '\<br\/\>'); //Other tidy errors str = str.replace(/\<br clear[=:]"*all;*"* *\/*>/gi, '

'); str = str.replace(/\<br clear[=:]"*both;*"* *\/*>/gi, '

'); str = str.replace(/\<br style="clear[=:]"*both;*"* *\/*>/gi, '

'); str = str.replace(/\<br clear[=:]"*left;*"* *\/*>/gi, );  str = str.replace(/\<br clear[=:]"*right;*"* *\/*>/gi, );  str = str.replace(/\<\/br\s*>/gi, '\<br\/\>');  str = str.replace(/\<br\s*\n\s*\/*>/gi, '\<br\/\>');  //access-date month only  //str = str.replace(/({{\s*[cC]it[ea](?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))(\|\s*access-*date\s*=\s*)([a-z]+ 201[56])(\s*[\}\|])/gi, '$1$21 $3$4');

//Add display-editors //str = str.replace(/({{\s*[cC]it[ea](?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))(\|\s*editor\-last4\s*=)/gi, '$1\|display\-editors = 3 $2'); //str = str.replace(/({{\s*[cC]it[ea](?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))(\|\s*editor4\-last\s*=)/gi, '$1\|display\-editors = 3 $2'); //str = str.replace(/({{\s*[cC]it[ea](?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))(\|\s*editor4\s*=)/gi, '$1\|display\-editors = 3 $2');

//One-off replacement of specific author //str = str.replace(/({{\s*[cC]ite web(?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))\|\s*first=(Registrar General \& Census Commissioner, India)\s*([\}\|])/gi, '$1 \|publisher=$2 $3'); //Fix arXiv/journal parameters //str = str.replace(/{{\s*[cC]it[ea tionwbjulr]+((?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))\|\s*url\s*=\s*http:\/\/arxiv\.org\/abs\/\d\d\d\d\.\d\d\d\d\s*\|\s*journal\s*=\s*arxiv:(\d\d\d\d\.\d\d\d\d)\s*[\s\[\]a-z,-\.\:]*([\}\|])/gi, '\{\{cite arxiv$1\|arxiv= $2$3'); //str = str.replace(/{{\s*[cC]it[ea tionwbjulr]+((?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))\|\s*url\s*=\s*http:\/\/arxiv\.org\/abs\/\d\d\d\d\.\d\d\d\d\d\s*\|\s*journal\s*=\s*arxiv:(\d\d\d\d\.\d\d\d\d\d)\s*[\s\[\]a-z,-\.\:]*([\}\|])/gi, '\{\{cite arxiv$1\|arxiv= $2$3'); //str = str.replace(/{{\s*[cC]it[ea tionwbjulr]+((?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))\|\s*journal\s*=\s*arxiv:(\d\d\d\d\.\d\d\d\d)\s*[\s\[\]a-z,-\.\:]*([\}\|])/gi, '\{\{cite arxiv$1\|arxiv= $2$3'); //str = str.replace(/{{\s*[cC]it[ea tionwbjulr]+((?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))\|\s*journal\s*=\s*arxiv:(\d\d\d\d\.\d\d\d\d\d)\s*[\s\[\]a-z,-\.\:]*([\}\|])/gi, '\{\{cite arxiv$1\|arxiv= $2$3'); //str = str.replace(/{{\s*cite arxiv((?:[^}{]*(?:\{\{[^}{]*}}[^}{]*)*))\|\s*url\s*=\s*http:\/\/arxiv\.org\/abs\/\d\d\d\d\.\d*\s*([\}\|])/gi, '\{\{cite arxiv$1 $2');

//Fix ISBN //str = str.replace(/i[sS][bB][nN]\s*([\d-X]+)/g, 'ISBN $1'); //str = str.replace(/I[sS][bB]n\s*([\d-X]+)/g, 'ISBN $1'); //str = str.replace(/\[*ISBN *[#:−‐–—‑-] *([\d-X]+)\]*/gi, 'ISBN $1'); //str = str.replace(/\[*ISBN[ -]1[03]: *([\d-X]+)\]*/g, 'ISBN $1'); //str = str.replace(/\[*ISBN *\t *([\d-X]+)\]*/g, 'ISBN $1'); //str = str.replace(/\| *id *= *isbn *=/gi, '\| ISBN ='); //str = str.replace(/([;\.,\)\]] *)ISBN *[=:\t] *([\d-X]+)/gi, '$1ISBN $2'); //str = str.replace(/([ \[\>,])(books\.google)/g, '$1http:\/\/$2');  //str = str.replace(/(ISBN\s+)(97[89][\d-]+)\s*[,\/;:\(]\s*[\d-][\d-][\d-][\d-][\d-][\d-][\d-][\d-][\d-][\d-X]+\)*/gi, '$1$2');  //str = str.replace(/(ISBN\s+)\d-*\d-*\d-*\d-*\d-*\d-*\d-*\d-*\d-*[\dX]\s*[\s/]\s*(97[89][\d-]+)/gi, '$1$2');  //str = str.replace(/(ISBN\s+)[\d-X]+\s*[,;:\/]*\s*ISBN\s*([\d-]+)/gi, '$1$2');  // Source in a bunch of articles with wrong ISBN  //str = str.replace(/isbn=9791234567896/gi, 'isbn=9788890390227');  //str = str.replace(/\[+:*[a-z]*:*Special: *Book[sS]ources\/[\d-X]+\|(ISBN\s+[\d-X]+)\]+/g, '$1');

//Fix ISBN dashes //str = str.replace(/(\s*isbn\s*[\d- ]+)[−‐–—‑\.]([\d- ]+)[=–—‐‑\.]([\d- ]+)[=–—‐‑\.]([\d-X ]+)[=‐–—‑\.]([\d- ]+)[=‐–—‑\.](\d+)/gi, '$1-$2-$3-$4-$5-$6'); //str = str.replace(/(\s*isbn\s*[\d- ]+)[−‐–—‑\.]([\d- ]+)[=–—‐‑\.]([\d- ]+)[=–—‐‑\.]([\d-X ]+)[=‐–—‑\.](\d+)/gi, '$1-$2-$3-$4-$5'); //str = str.replace(/(\s*isbn\s*[\d- ]+)[−‐–—‑\.]([\d- ]+)[=–—‐‑\.]([\d- ]+)[=–—‐‑]([\d-X]+)/gi, '$1-$2-$3-$4'); //str = str.replace(/(\s*isbn\s*[\d- ]+)[−‐–—‑\.]([\d- ]+)[=–—‐‑]([\d-X]+)/gi, '$1-$2-$3'); //str = str.replace(/(\s*isbn\s*[\d- ]+)[−‐–—‑]([\d-X ]+)/gi, '$1-$2');

return str; } function autoEdFunctions1 { //Activates individual modules when "auto ed" tab is clicked var txt = document.editform.wpTextbox1; //This stays as "Textbox1". Do not increment. txt.value = ReplaceOneOff(txt.value); //   txt.value = autoEdWhitespace(txt.value); }