From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

/* AutoEd further fixes */

/*

- put footnotes after punctuation rather than just before

- use reflist if more than 2 references

- use reflist|2 if more than 6 references

- trim duplicate wlinks, leaving just first instance

- remove default image right aligned option

*/

function FaeFixes(mytext){

  var cmt='',mycount=0;

  //

  // Ensure footnotes are after punctuation

  //

  var fPattern=/(<ref[^>]*>([^>]*|[^>]*(-->){1}[^>]*)ref>)(\.|,|;)/g;

  if(mytext.match(fPattern)!=null){

    mytext=mytext.replace(fPattern,'$4$1'); // Fix wrong ref punctuation

    cmt+='Fix inconsistent ref placement, see [[WP:FN|FN]]. ';

  }

  //

  // Ref tags, tidy footnote list

  //

  // Calc total no. of refs (must be closing tags otherwise over count multiple tags to same footnote)

  var refcount=mytext.match(/<\/ref>/g)!=null?mytext.match(/<\/ref>/g).length:0;

  // Convert older type tag

  if(mytext.match(/<references *\/>/)!=null && refcount>2){

    if(refcount>5){

      mytext=mytext.replace(/<references *\/>/,'{{reflist|2}}');

    }else{

      mytext=mytext.replace(/<references *\/>/,'{{reflist}}');

    }

    cmt+='Standardize reflist. ';

  }

  // Upgrade to 2+col if 6 or more footnotes

  if(refcount>5 && mytext.match(/\{\{reflist\}\}/gi)!=null){

    mytext=mytext.replace(/\{\{reflist\}\}/gi,'{{reflist|colwidth=30em}}');

    cmt+='Better reflist layout ('+refcount+' footnotes). ';

  }

  //

  // Remove odd newlines

  //

  mycount=0;

  while(mytext.match(/[\n\r]{3}/)!=null){

    mytext=mytext.replace(/[\n\r]{3,}/,"\n\n");

    mycount++;

  }

  if(mycount>0 && cmt.length<100){

    cmt+=(mycount==1?'Rm unnecessary newline. ':'Rm '+mycount+' areas of unnecessary newlines. ');

  }

  //

  // Remove duplicate w-links (leaving 1st instance)

  //

  //

  // Things to park (duplicates to keep)

  mytext=mytext.replace(/\{\{(Further)\|\[\[/gi,"xxpark$1xx");

  // Do the dup remove

  mycount=0;

  while(mycount<7 && mytext.match(/\[\[([\s_\w]+)(\|[^\]]*)?\]\][\w\W\n\r]*\[\[\1(\|[^\]]*)?\]\]/gim)!=null){

    var mymatch=mytext.match(/\[\[([\s_\w]+)(\|[^\]]*)?\]\]([\w\W\n\r]*)\[\[(\1)(\|[^\]]*)?\]\]/im)[0

    mytext=mytext.replace(/\[\[([\s_\w]+)(\|[^\]]*)?\]\]([\w\W\n\r]*)\[\[(\1)(\|[^\]]*)?\]\]/im,"[[$1$2]]$3!!xmx!!$4!!xnx!!$5!!xox!!");

    var mymatch=mytext.match(/!!xmx!!.*?!!xox!!/)[0];

    var myaltname=mymatch.split('!!')[4].replace('|',''); // Use the alternative link text rather than the w-link itself

    if(myaltname==''){mytext=mytext.replace(/!!xmx!!/,'');mytext=mytext.replace(/!!xnx!!!!xox!!/,'')}else{mytext=mytext.replace(/!!xmx!!.*?!!xnx!!\|/,'');mytext=mytext.replace(/!!xox!!/,'')}

    mycount++;

  }

  if(mycount>6){ // en-mass for large pages otherwise may cause excessive wait

    mytext=mytext.replace(/\[\[([\s_\w]+)(\|[^\]]*)?\]\]([\w\W\n\r]*)\[\[(\1)(\|[^\]]*)?\]\]/gim,"[[$1$2]]$3!!xmx!!$4!!xnx!!$5!!xox!!");

    var mymatch=mytext.match(/!!xmx!!.*?!!xox!!/)[0];

    var myaltname='';

    while(mymatch!=null){

        myaltname=mymatch.split('!!')[4].replace('|',''); // Use the alternative link text rather than the w-link itself

        if(myaltname==''){mytext=mytext.replace(/!!xmx!!/,'');mytext=mytext.replace(/!!xnx!!!!xox!!/,'')}else{mytext=mytext.replace(/!!xmx!!.*?!!xnx!!\|/,'');mytext=mytext.replace(/!!xox!!/,'')}

        if(mytext.match(/!!xmx!!.*?!!xox!!/)!=null){var mymatch=mytext.match(/!!xmx!!.*?!!xox!!/)[0]}else{mymatch=null};

    }

  }

  // Unparking

  mytext=mytext.replace(/xxpark(\w+)xx/g,"{{$1|[[");

  //

  // Tidy See also duplicates (now unlinked)

  // (Would be better to delete the duplicates of these rather than the reverse)

  //

  while(mytext.match(/== ?See also ?==[^=]+\* ?[^\n\[]*\n/gim)!=null){

    mytext=mytext.replace(/(== ?See also ?==[^=]+)\* ?[^\n\[]*\n/gim,"$1");

  }

  if(mycount>0){

    if(mycount==1){

      cmt+='Rm a dup w-link, see [[wp:OVERLINK|OVERLINK]]. ';

    }else{

      cmt+='Rm ';

      if(mycount<7){

        cmt+=mycount.toString();

      }else{

        cmt+='many';

      }

      cmt+=' duplicate w-links, see [[wp:OVERLINK|OVERLINK]]. ';

    }

  }

  //

  // Tidy unneeded quotes on ref names

  //

  var rnPattern=/(<ref name) ?= ?"([\w_\.\-]+)" ?/g;

  if(mytext.match(rnPattern)!=null){

    mytext=mytext.replace(rnPattern,"$1=$2");

    if(cmt.length<100){cmt+='Rm quotes on ref names without spaces. '};

  }

  rnPattern=/(<ref name) ?= ?([\w_\.\-\s"]*)([\w_\.\-"]+) ?(\/?>)/g;

  if(mytext.match(rnPattern)!=null){

    mytext=mytext.replace(rnPattern,"$1=$2$3$4"); // Tidy up surplus spacing in refs

  }

  //

  // Tidy surplus template spaces

  //

  mytext=mytext.replace(/\{\{ +/g,"{{");

  mytext=mytext.replace(/(\{\{[^\{^\}]+) +\}\}/g,"$1}}");

  mytext=mytext.replace(/(<.ref>)[\s]+(<ref)/g,"$1$2"); // Rm odd spacing between footnotes

  mytext=mytext.replace(/(\.|,|;) (<ref)/g,"$1$2"); // Rm odd spacing before footnotes

  //

  // Remove image right option from thumbnail images (default value)

  //

  mytext=mytext.replace(/(\[\[image[^\]]*)(thumb[^\]]*)\|right/gi,'$1$2');

  mytext=mytext.replace(/(\[\[image[^\]]*)\|right([^\]]*thumb)/gi,'$1$2');

  //

  // Final output

  //

  return mytext;

}
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.

/* AutoEd further fixes */

/*

- put footnotes after punctuation rather than just before

- use reflist if more than 2 references

- use reflist|2 if more than 6 references

- trim duplicate wlinks, leaving just first instance

- remove default image right aligned option

*/

function FaeFixes(mytext){

  var cmt='',mycount=0;

  //

  // Ensure footnotes are after punctuation

  //

  var fPattern=/(<ref[^>]*>([^>]*|[^>]*(-->){1}[^>]*)ref>)(\.|,|;)/g;

  if(mytext.match(fPattern)!=null){

    mytext=mytext.replace(fPattern,'$4$1'); // Fix wrong ref punctuation

    cmt+='Fix inconsistent ref placement, see [[WP:FN|FN]]. ';

  }

  //

  // Ref tags, tidy footnote list

  //

  // Calc total no. of refs (must be closing tags otherwise over count multiple tags to same footnote)

  var refcount=mytext.match(/<\/ref>/g)!=null?mytext.match(/<\/ref>/g).length:0;

  // Convert older type tag

  if(mytext.match(/<references *\/>/)!=null && refcount>2){

    if(refcount>5){

      mytext=mytext.replace(/<references *\/>/,'{{reflist|2}}');

    }else{

      mytext=mytext.replace(/<references *\/>/,'{{reflist}}');

    }

    cmt+='Standardize reflist. ';

  }

  // Upgrade to 2+col if 6 or more footnotes

  if(refcount>5 && mytext.match(/\{\{reflist\}\}/gi)!=null){

    mytext=mytext.replace(/\{\{reflist\}\}/gi,'{{reflist|colwidth=30em}}');

    cmt+='Better reflist layout ('+refcount+' footnotes). ';

  }

  //

  // Remove odd newlines

  //

  mycount=0;

  while(mytext.match(/[\n\r]{3}/)!=null){

    mytext=mytext.replace(/[\n\r]{3,}/,"\n\n");

    mycount++;

  }

  if(mycount>0 && cmt.length<100){

    cmt+=(mycount==1?'Rm unnecessary newline. ':'Rm '+mycount+' areas of unnecessary newlines. ');

  }

  //

  // Remove duplicate w-links (leaving 1st instance)

  //

  //

  // Things to park (duplicates to keep)

  mytext=mytext.replace(/\{\{(Further)\|\[\[/gi,"xxpark$1xx");

  // Do the dup remove

  mycount=0;

  while(mycount<7 && mytext.match(/\[\[([\s_\w]+)(\|[^\]]*)?\]\][\w\W\n\r]*\[\[\1(\|[^\]]*)?\]\]/gim)!=null){

    var mymatch=mytext.match(/\[\[([\s_\w]+)(\|[^\]]*)?\]\]([\w\W\n\r]*)\[\[(\1)(\|[^\]]*)?\]\]/im)[0

    mytext=mytext.replace(/\[\[([\s_\w]+)(\|[^\]]*)?\]\]([\w\W\n\r]*)\[\[(\1)(\|[^\]]*)?\]\]/im,"[[$1$2]]$3!!xmx!!$4!!xnx!!$5!!xox!!");

    var mymatch=mytext.match(/!!xmx!!.*?!!xox!!/)[0];

    var myaltname=mymatch.split('!!')[4].replace('|',''); // Use the alternative link text rather than the w-link itself

    if(myaltname==''){mytext=mytext.replace(/!!xmx!!/,'');mytext=mytext.replace(/!!xnx!!!!xox!!/,'')}else{mytext=mytext.replace(/!!xmx!!.*?!!xnx!!\|/,'');mytext=mytext.replace(/!!xox!!/,'')}

    mycount++;

  }

  if(mycount>6){ // en-mass for large pages otherwise may cause excessive wait

    mytext=mytext.replace(/\[\[([\s_\w]+)(\|[^\]]*)?\]\]([\w\W\n\r]*)\[\[(\1)(\|[^\]]*)?\]\]/gim,"[[$1$2]]$3!!xmx!!$4!!xnx!!$5!!xox!!");

    var mymatch=mytext.match(/!!xmx!!.*?!!xox!!/)[0];

    var myaltname='';

    while(mymatch!=null){

        myaltname=mymatch.split('!!')[4].replace('|',''); // Use the alternative link text rather than the w-link itself

        if(myaltname==''){mytext=mytext.replace(/!!xmx!!/,'');mytext=mytext.replace(/!!xnx!!!!xox!!/,'')}else{mytext=mytext.replace(/!!xmx!!.*?!!xnx!!\|/,'');mytext=mytext.replace(/!!xox!!/,'')}

        if(mytext.match(/!!xmx!!.*?!!xox!!/)!=null){var mymatch=mytext.match(/!!xmx!!.*?!!xox!!/)[0]}else{mymatch=null};

    }

  }

  // Unparking

  mytext=mytext.replace(/xxpark(\w+)xx/g,"{{$1|[[");

  //

  // Tidy See also duplicates (now unlinked)

  // (Would be better to delete the duplicates of these rather than the reverse)

  //

  while(mytext.match(/== ?See also ?==[^=]+\* ?[^\n\[]*\n/gim)!=null){

    mytext=mytext.replace(/(== ?See also ?==[^=]+)\* ?[^\n\[]*\n/gim,"$1");

  }

  if(mycount>0){

    if(mycount==1){

      cmt+='Rm a dup w-link, see [[wp:OVERLINK|OVERLINK]]. ';

    }else{

      cmt+='Rm ';

      if(mycount<7){

        cmt+=mycount.toString();

      }else{

        cmt+='many';

      }

      cmt+=' duplicate w-links, see [[wp:OVERLINK|OVERLINK]]. ';

    }

  }

  //

  // Tidy unneeded quotes on ref names

  //

  var rnPattern=/(<ref name) ?= ?"([\w_\.\-]+)" ?/g;

  if(mytext.match(rnPattern)!=null){

    mytext=mytext.replace(rnPattern,"$1=$2");

    if(cmt.length<100){cmt+='Rm quotes on ref names without spaces. '};

  }

  rnPattern=/(<ref name) ?= ?([\w_\.\-\s"]*)([\w_\.\-"]+) ?(\/?>)/g;

  if(mytext.match(rnPattern)!=null){

    mytext=mytext.replace(rnPattern,"$1=$2$3$4"); // Tidy up surplus spacing in refs

  }

  //

  // Tidy surplus template spaces

  //

  mytext=mytext.replace(/\{\{ +/g,"{{");

  mytext=mytext.replace(/(\{\{[^\{^\}]+) +\}\}/g,"$1}}");

  mytext=mytext.replace(/(<.ref>)[\s]+(<ref)/g,"$1$2"); // Rm odd spacing between footnotes

  mytext=mytext.replace(/(\.|,|;) (<ref)/g,"$1$2"); // Rm odd spacing before footnotes

  //

  // Remove image right option from thumbnail images (default value)

  //

  mytext=mytext.replace(/(\[\[image[^\]]*)(thumb[^\]]*)\|right/gi,'$1$2');

  mytext=mytext.replace(/(\[\[image[^\]]*)\|right([^\]]*thumb)/gi,'$1$2');

  //

  // Final output

  //

  return mytext;

}

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook