Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
/*********************
Typo personnel MODERNE
**********************/
function Berniepyt_typo_add() {
  $.typo.add(function(str) {
    str = str.replace(/¬ \n/g, ""); // essai de suppression des tirets de césure //
    str = str.replace(/¬\n/g, ""); // essai de suppression des tirets de césure //
	str = str.replace(/\�/g, ""); // essai de nettoyage de caractères parasites produits par l'ocr //
    str = str.replace(/­/g, "");   // test de suppression alt173
    
   str = str.replace(/Ariette/g, "Arlette"); // ces dames aux chapeaux verts //
    str = str.replace(/Etat/g, "État");
    str = str.replace(/Ecosse/g, "Écosse");
    str = str.replace(/Ecossais/g, "Écossais");
    str = str.replace(/Eglise/g, "Église");
    str = str.replace(/Etude/g, "Étude");
    str = str.replace(/Ecole/g, "École");
    str = str.replace(/Egypte/g, "Égypte");
    str = str.replace(/Erasme/g, "Érasme");
    str = str.replace(/Evangile/g, "Évangile");
    str = str.replace(/Evidemment/g, "Évidemment");
    str = str.replace(/Elevé/g, "Élevé");

    str = str.replace(/ celte /g, " cette ");
    str = str.replace(/Celte /g, "Cette ");
    str = str.replace(/( tète )+/g, " tête ");
    str = str.replace(/([—\!\?\.\\…\»\«\( ] )11 /g, "$1Il ");   
    str = str.replace(/([—\!\?\.\\…\»\«\( ] )II /g, "$1Il ");   
    str = str.replace(/([—\!\?\.\\…\»\«\( ] )Gela /g, "$1Cela ");   
    str = str.replace(/(…\. )+/g, "… ");
    str = str.replace(/(\.… )+/g, "… ");
    str = str.replace(/( …)+/g, "…");
    str = str.replace(/(‘)+/g, "’");
    str = str.replace(/(`)+/g, "’");
    str = str.replace(/`/g, "’");
    str = str.replace(/‘/g, "’");
    str = str.replace(/′/g, "’");
    str = str.replace(/ʹ/g, "’");
    str = str.replace(/fi/g, "fi");
    str = str.replace(/fl/g, "fl");
    str = str.replace(/“/g, "«");
    str = str.replace(/”/g, "»");
    str = str.replace(/ 8c/g, " &");
    str = str.replace(/ 6c/g, " &");
    str = str.replace(/¬/g, "");
    str = str.replace(/&shy ; /g, "");
 
    
    str = str.replace(/(– )+/g, "— ");
    str = str.replace(/([0-9]), ([0-9])/g, "$1,$2"); // ligne fournie par Aristoi

    str = str.replace(/([—\!\?\.\\…\»\«\( ] )A /g, "$1À ");     //fix pour À  - devrait générer moins de faux positifs que la situation actuelle
    str = str.replace(/(\nA )+/g, "\nÀ ");    // désactiver pour le Trévoux…
    str = str.replace(/([—\!\?\.\\…\»\«\( ] )O /g, "$1Ô ");     //fix pour Ô  - devrait générer moins de faux positifs que la situation actuelle
    str = str.replace(/(\nO )+/g, "\nÔ ");    // désactiver pour le Trévoux…

    str = str.replace(/\{\{lang\|([a-z])([a-z])\|''([^']*?)''([^\}]*)\}\}+/g, "''\{\{lang\|$1$2\|$3$4\}\}''");    //fix pour lang
    str = str.replace(/\{\{lang\|gr\|+/g, "\{\{lang\|grc\|");    //fix pour gr au lieu de grc

    str = str.replace(/\(\{\{di\|([^']*?)\}\}\)+/g, "\{\{di\|\($1\)\}\}");    //fix di

    str = str.replace(/\{\{Personnage\|([a-zA-ZÉÈéèŒ\. \-]*?)\|c\}\}\{\{didascalie\|,?/g, "\{\{PersonnageD\|$1\|c\|");    //fix pour PersonnageD
    str = str.replace(/\{\{Personnage\|([a-zA-ZÉÈéèŒ\. \-]*?)\|c\}\}\, {\{didascalie\|,?/g, "\{\{PersonnageD\|$1\|c\|");    //fix pour PersonnageD

    str = str.replace(/(<sup>er<\/sup>)+/g, "\{\{er\}\}"); // fix pour les abbréviations
    str = str.replace(/(\{\{e\|e\}\}<\/sup>)+/g, "\{\{e\}\}");
    str = str.replace(/(<sup>e<\/sup>)+/g, "\{\{e\}\}");
    str = str.replace(/Gomme/g, "Comme");
    str = str.replace(/Gela/g, "Cela");
    
    str = str.replace(/(D<sup>r<\/sup>)+/g, "\{\{Dr\}\}");
    str = str.replace(/Dr /g, "{{Dr}} ");
    str = str.replace(/(M<sup>r<\/sup>)+/g, "\{\{Mr\}\}");
    str = str.replace(/(M<sup><small>r<\/small><\/sup>)+/g, "\{\{Mr\}\}");
    str = str.replace(/Mr /g, "{{Mr}} ");
    str = str.replace(/(M<sup>me<\/sup>)+/g, "\{\{Mme\}\}");
    str = str.replace(/(M<sup><small>me<\/small><\/sup>)+/g, "\{\{Mme\}\}");
    str = str.replace(/Mme /g, "{{Mme}} ");
    str = str.replace(/(M<sup>lle<\/sup>)+/g, "\{\{Mlle\}\}");
    str = str.replace(/(M<sup><small>lle<\/small><\/sup>)+/g, "\{\{Mlle\}\}");
    str = str.replace(/(M<sup>elle<\/sup>)+/g, "\{\{Mlle\}\}");
    str = str.replace(/(M<sup><small>elle<\/small><\/sup>)+/g, "\{\{Mlle\}\}");
    str = str.replace(/Mlle /g, "{{Mlle}} ");
    str = str.replace(/Mgr /g, "{{Mgr}} ");
    
	str = str.replace(/\(GREC\)/g, "\{\{grec\}\}");
    
    str = str.replace(/{{Mme}} ([^ \.,…\|\}]*)/g, "{{Mme\|$1}}");
    str = str.replace(/{{Mlle}} ([^ \.,…\|\}]*)/g, "{{Mlle\|$1}}");
    str = str.replace(/{{Mgr}} ([^ \.,…\|\}]*)/g, "{{Mgr\|$1}}");
    str = str.replace(/{{M.}} ([^ \.,…\|\}]*)/g, "{{M.\|$1}}");
    str = str.replace(/{{MM.}} ([^ \.,…\|\}]*)/g, "{{MM.\|$1}}");
    str = str.replace(/ M+\.{{lié}}([^ \.,…\|\}]*)/g, " {{M.\|$1}}");
    str = str.replace(/ MM\. ([^ \.,…\|\}]*)/g, " {{MM.\|$1}}");
    str = str.replace(/ M+\. ([^ \.,…\|\}]*)/g, " {{M.\|$1}}");

    str = str.replace(/([A-Z][^ ]* [IVX]+)([ \.,])/g, "{{roi|$1}}$2"); // pour les rois - en test
      
    str = str.replace(/(2<sup>me<\/sup>)+/g, "\{\{2me\}\}");
    str = str.replace(/(1<sup>er<\/sup>)+/g, "\{\{1er\}\}");
    str = str.replace(/(1<sup>re<\/sup>)+/g, "\{\{1re\}\}");
    str = str.replace(/(I<sup>er<\/sup>)+/g, "\{\{Ier\}\}");
    str = str.replace(/(1er )+/g, "{{1er}} ");
    str = str.replace(/(Ier )+/g, "{{Ier}} ");
    str = str.replace(/(I\{\{er\}\})+/g, "\{\{Ier\}\}");
    str = str.replace(/(1\{\{er\}\})+/g, "\{\{1er\}\}");
    str = str.replace(/(1\{\{re\}\})+/g, "\{\{1re\}\}");
    str = str.replace(/(n<sup>o<\/sup>)+/g, "\{\{{{N°}}\}\}");
    str = str.replace(/(N<sup>o<\/sup>)+/g, "\{\{No\}\}");
    str = str.replace(/(<sup>o<\/sup>)+/g, "\{\{o\}\}");

    str = str.replace(/oeil/g, "œil");
    str = str.replace(/tète/g, "tête");
    str = str.replace(/fdle/g, "fille");
    str = str.replace(/Yous /g, "Vous ");
    str = str.replace(/maitre/g, "maître");
    str = str.replace(/ lé /g, " le ");
    str = str.replace(/ fans /g, " sans ");
    str = str.replace(/ delà/g, " de la");
    str = str.replace(/ au de la /g, " au delà ");

    str = str.replace(/([iIxXvV]+)e siècle/g, "{{s|$1}}"); // mise en place automatique de siècle
    str = str.replace(/([iIxXvV]+)\{\{e\}\} siècle/g, "{{s|$1}}"); //idem avec {{e}}
    str = str.replace(/\{\{sc\|([ixv]+)\}\}\{\{e\}\} siècle/g, "{{s|$1}}"); // pour nettoyer les codes avec sc
    str = str.replace(/\{\{rom\|([ixv]+)\}\}\{\{e\}\} siècle/g, "{{s|$1}}"); // pour nettoyer les codes avec sc

    str = str.replace(/====([a-zA-ZÉÈéèŒ\. \-]*?)====/g, "{{t4|$1}}"); // test pour nettoyer les sections wiki
    str = str.replace(/===([a-zA-ZÉÈéèŒ\. \-]*?)===/g, "{{t3|$1}}"); // test pour nettoyer les sections wiki
    str = str.replace(/==([a-zA-ZÉÈéèŒ\. \-]*?)==/g, "{{t2|$1}}"); // test pour nettoyer les sections wiki


    str = str.replace(/( <ref>)+/g, "<ref>"); //fix pour les ref
    str = str.replace(/( &thinsp ;<ref>)+/g, "<ref>"); //fix pour les ref
    str = str.replace(/(&thinsp ;<ref>)+/g, "<ref>"); //fix pour les ref
//    str = str.replace(/( <ref>)+/g, "<ref>"); //fix pour les ref
    str = str.replace(/( <\/ref>)+/g, "<\/ref>"); //fix pour les ref
    str = str.replace(/<center>([^']*?)<\/center>/g, "\{\{c\|$1\}\}");  //fix pour les center
    str = str.replace(/<div align=\"center\" >([^']*?)<\/div>/g, "\{\{c\|$1\}\}");  //fix pour les div center
    str = str.replace(/<div class=\"center\" >([^']*?)<\/div>/g, "\{\{c\|$1\}\}");  //fix pour les div center
    str = str.replace(/<div style=\"text-align:center; \" \>([^']*?)<\/div>/g, "\{\{c\|$1\}\}");  //fix pour les div center

    str = str.replace(/(_)+/g, " ");

    str = str.replace(/\n : */g, "\n:");             // fix pour les : dans les poèmes
    str = str.replace(/(:+) *: */g, "$1:");
    str = str.replace(/:: /g, "::");
    str = str.replace(/<poem>/g, "<poem class=\"verse\">");  //fix pour les poèmes
    str = str.replace(/class= « verse » /g, "class=\"verse\"");

    str = str.replace(/## « /g, "## \"");    // fix pour les sections
    str = str.replace(/ » ##/g, "\" ##");

    str = str.replace(/<big>(.*)<\/big>/gi, "$1"); //suppression des "big" 
    str = str.replace(/&#160;»/g, " »");

    str = str.replace(/ *\n/g, " ");     // Suppression des saut de ligne à l'intérieur d'un paragraphe 
    str = str.replace(/'' ''/g, " "); // suppression des blancs entre italiques
    str = str.replace(/  /g, "\n\n");               // Fix pour changement de paragraphe
    str = str.replace(/\n +/g, "\n\n");             // Fix pour changement de paragraphe impair
    str = str.replace(/ ?\n*$/g, "");               // Suppression saut de ligne fin de page

    return str;

  });
}

$.when(
	mw.loader.using( [ 'ext.gadget.Typo' ] ),
	$.ready
).then(
	Berniepyt_typo_add
);