Utilisateur:ValidZ22/common.js

La bibliothèque libre.

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.
/* CharInsert specific */
window.charinsertDontMove = false;
window.charinsertMoveHigh = true;window.editToolsRecall = true;
window.charinsertCustom = { User: '|  =  {\{+}}  [\[+|]]  —  “+”  ‽  Æ  æ  Œ  œ  ℩  {\{hws|+|+}}  {\{hwe|+|+}}  <section.begin="+"_/>  <section.end="+"_/>' };
if(window.updateEditTools) window.updateEditTools();







mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hedonil/XTools/XTools.js&action=raw&ctype=text/javascript');







if (mw.config.get("wgPageName").search(/^.*/) == 0) {
    mw.loader.using("ext.gadget.ChangeCategorie", function() {
        change_category.set_user_data( { 
            list : [ "Aspect visuel de Wikisource", "Illustrations", "Promotion de Wikisource", "Fichiers PDF", "Fichiers DjVu", "Lettrines", "Wikisource technique", "Wikisource sonore" ]
       });
    });
}




//Wikipedia:WikiProject User scripts | Scripts
 
function format() {
    var txt = document.editform.wpTextbox1;
    txt.value = typo(txt.value);
    txt.value = linksimplifyer(txt.value);
}
 
function typo(str){
 
     //espace 
    str = str.replace(/\n +/g, "\n");
 
 
    // espace

    str = str.replace(/(\n\n\n)+/g, "\n");
    str = str.replace(/- \n/g, "");
    // fix divers
    str = str.replace(/  /g, " ");

 
    // typographie
    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(/( *):( *)/g, " : ");
    str = str.replace(/( *)\?( *)/g, " ? ");
    str = str.replace(/( *),( *)/g, ", ");
    str = str.replace(/(\[\[.*?) :/g, "$1:");
    str = str.replace(/: (.*?\]\])/g, ":$1");
    str = str.replace(/\( /g, "(");
    str = str.replace(/\) /g, ")");
 
    str = str.replace(/([^'])'([^'])/g, "$1’$2");
    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(/’test’/g, "'test'");
    str = str.replace(/\[\[[Ii]mage : /g, "[[Image:");
    str = str.replace(/\[\[[Ii]mage :/g, "[[Image:");
    str = str.replace(/\[\[[Ii]mage: /g, "[[Image:"); 
 
    str = str.replace(/\.\.\./g, "…");
    str = str.replace(/\.\.\.\.+/g, "\.\.\.");
    str = str.replace(/etc\.\.+/g, "etc\.");
 
    str = str.replace(/oeu/g, "œu");
    str = str.replace(/O[Ee]/g, "Œ");
 
    str = str.replace(/([^=]) ?"([^"].*?)"/g, "$1«$2»");
    str = str.replace(/( *)«( *)/g, " « ");
    str = str.replace(/\n «/g, "\n« ");
    str = str.replace(/( *)»( *)/g, " » ");
    str = str.replace(/ « text » /g, "\"text\"");
    str = str.replace(/» ,/g, "»,");
 
    str = str.replace(/(\f*)’(\f*)/g, "’");
 
    // fix catégories
    str = str.replace(/\[\[ ?[Cc]ategory/g, "[[Catégorie");
    str = str.replace(/\[\[ ?[Cc]atégorie ?: ?/g, "[[Catégorie:");
 
    // réparation liens internes
    str = str.replace(/\[\[ ?([^\]]*?) ?\]\]/g, "[[$1]]");
    str = str.replace(/\[\[([^\]]*?)( |_)#([^\]]*?)\]\]/g, "[[$1#$3]]");
 
    // syntaxe wiki
    str = str.replace(/<i>(.*?)<\/i>/gi, "''$1''");
    str = str.replace(/<b>(.*?)<\/b>/gi, "'''$1'''");
    str = str.replace(/<br\/>/gi, "<br />");
    str = str.replace(/<br>/gi, "<br />");
 
    //* puces
    str = str.replace(/^([\*#]+) /gm, "$1");
    str = str.replace(/^([\*#]+)/gm, "$1 ");
 
    //mise en page
    str = str.replace(/\n*(\{\{Titre)/g, "\n$1");
    str = str.replace(/\n*(\{\{Navigateur)/g, "\n$1");
    str = str.replace(/\[\[(.*?) —/g, "\[\[$1 -");
    str = str.replace(/\|( *)—( *)/g, "\|");

    //initiales
  
    str = str.replace(/(\nO )+/g, "\nÔ "); 
    str = str.replace(/(\nA )+/g, "\nÀ "); 
    str = str.replace(/([—\!\?\.\:] )O /g, "$1Ô ");     //fix pour Ô  
    str = str.replace(/([—\!\?\.\:] )A /g, "$1À ");   //fix pour À  
    str = str.replace(/don Quichotte/g, "Don Quichotte"); 
    str = str.replace(/don Fernand/g, "Don Fernand"); 
    str = str.replace(/don Sancho/g, "Don Sancho"); 
    str = str.replace(/Votre Excellence/g, "votre excellence"); 
    str = str.replace(/don Juan/g, "Don Juan"); 
    str = str.replace(/don Luis/g, "Don Luis"); 
    str = str.replace(/don Lorenzo/g, "Don Lorenzo"); 
    str = str.replace(/don Diego/g, "Don Diégo"); 
    str = str.replace(/don Antonio/g, "Don Antonio"); 
    str = str.replace(/don Gaspar/g, "Don Gaspar"); 
    str = str.replace(/don Grégorio/g, "Don Grégorio"); 
    str = str.replace(/don Alvaro/g, "Don Alvaro"); 
    str = str.replace(/Votre G/g, "votre g"); 
    str = str.replace(/Vos G/g, "vos g"); 
    str = str.replace(/, Mes/g, ", mes"); 
 //   str = str.replace(/Mme /g, "madame "); 
    str = str.replace(/Votre S/g, "votre s"); 
    str = str.replace(/Vos S/g, "vos s"); 
    str = str.replace(/Sa G/g, "sa g"); 
    str = str.replace(/doña/g, "Doña"); 
    str = str.replace(/Sainte-Hermandad/g, "sainte-hermandad"); 
   str = str.replace(/foret/g, "forêt"); 
   str = str.replace(/ tète/g, " tête"); 



    //mot entier
    str = str.replace(/(\ O )+/g, "\ Ô "); 
    str = str.replace(/(\ A )+/g, "\ À "); 
    str = str.replace(/Celte/g, "Cette"); 
    str = str.replace(/celte/g, "cette"); 

 
    return trim(str);
}







$(function() {
  $.typo.add(function(str) {
    str = str.replace(/( tète )+/g, " tête ");
    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(/([—\!\?\.\:] )O /g, "$1Ô ");     //fix pour Ô  
    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(/\{\{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(/\{\{réplique\|([^']*?)\}\}/gi, "\{\{Personnage\|$1\|c\}\}");    //fix pour Réplique -> Personnage (pb de fonctionnement)
    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(/(D<sup>r<\/sup>)+/g, "\{\{Dr\}\}");
    str = str.replace(/(M<sup>r<\/sup>)+/g, "\{\{Mr\}\}");
    str = str.replace(/(M<sup>me<\/sup>)+/g, "\{\{Mme\}\}");
    str = str.replace(/(M<sup>lle<\/sup>)+/g, "\{\{Mlle\}\}");
    str = str.replace(/(M<sup>elle<\/sup>)+/g, "\{\{Mlle\}\}");
    str = str.replace(/(2<sup>me<\/sup>)+/g, "\{\{2me\}\}");
 
    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 style=\"text-align:center; \" \>([^']*?)<\/div>/g, "\{\{c\|$1\}\}");  //fix pour les div center
 
    str = str.replace(/  /g, " ");
    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, "\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;
  });
});





 
//simplifier certains liens : [[Dog|dog]] to [[dog]] and [[Dog|dogs]] to [[dog]]s
function linksimplifyer(str){
  var m = str.match(/\[\[([^[]*?)\|([^[]*?)\]\]/g);
  if (m)
  {
    for (var i = 0; i < m.length; i++)
    {
      var n_arr = m[i].toString().match(/\[\[([^[]*?)\|([^[]*?)\]\]/);
      var n = n_arr[0];
      var a = n_arr[1];
      var b = n_arr[2];
 
      if (b.indexOf(a) == 0 || b.indexOf(TurnFirstToLower(a)) == 0)
      {
        var k = n.replace(/\[\[([^\]\|]*?)\|(\1)([\w]*?)\]\]/i, "[[$2]]$3");
        str = str.replace(n, k);
      }
    }
  }
 
  str = str.replace(/\[\[([^\]\|]+)\|([^\]\|]+)\]\]([A-Za-z\'][A-Za-z]*)([\.\,\;\:\"\!\?\s\n])/g, "[[$1|$2$3]]$4");
 
  return str;
}
 
//trim start and end, trim spaces from the end of lines
function trim(str) {
   str = str.replace(/ $/gm, "");
   return str.replace(/^\s*|\s*$/g, "");
}
 
//turns first character to lowercase
function TurnFirstToLower(input) {
  if (input != "")
  {
    var input = trim(input);
    var temp = input.substr(0, 1);
    return temp.toLowerCase() + input.substr(1, input.length);
  }
  else
    return "";
}
 
$(document).ready(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:format()', 'typo', 'ca-format', 'Corrections de la mise en page et de la typographie', '', document.getElementById('ca-edit'));
  }
});
 
function form() {
    var txt = document.editform.wpTextbox1;
    txt.value = fr(txt.value);
    txt.value = linksimplifyer(txt.value);
}
 
function fr(str){
 
    //descartes
    str = str.replace(/lorsque/g, "lors que");
    str = str.replace(/ss/g, "ſſ");
    str = str.replace(/ê/g, "eſ");
    str = str.replace(/ et /g, " & ");
    str = str.replace(/â/g, "a");
    str = str.replace(/s([a-zé])/g, "ſ$1");
    str = str.replace(/mouvements/g, "mouvemens");
    str = str.replace(/celui/g, "celuy");
    str = str.replace(/ ſoi/g, " ſoy");
    str = str.replace(/ici/g, "icy");
    str = str.replace(/notre/g, "noſtre");
    str = str.replace(/ô/g, "oſ");
    str = str.replace(/és/g, "ez");
    str = str.replace(/lui/g, "luy");
    str = str.replace(/ſait/g, "ſçait");
    str = str.replace(/quoi/g, "quoy");
    str = str.replace(/veine/g, "vene");
    str = str.replace(/très /g, "tres-");
    str = str.replace(/ moi /g, " moy ");
    str = str.replace(/([Tt])oi /g, "$1oy ");
    str = str.replace(/toi,/g, "toy,");
    str = str.replace(/ toi\./g, " toy.");
    str = str.replace(/([a-z])ait /g, "$1oit ");
    str = str.replace(/ ai /g, " ay ");
    str = str.replace(/ ’ai /g, " ’ay ");
    str = str.replace(/ effet /g, " effect ");
 
    return trim(str);
}
 
$(document).ready(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:form()', 'fr', 'ca-form', 'Corrections de la mise en page et de la typographie', '', document.getElementById('ca-edit'));
  }
});






 
var predefinedSummaries = {
    "Liste": "",
    "Lien": "Lien(s)",
    "Mise à jour": "Mise à jour",
    "Ajout": "Ajout",
    "Correction" : "Correction",
    "Précision": "Précision",
    "Mise en forme": "Mise en forme",
    "Compléments": "Compléments",
    "Création": "Création"
};
 
$(document).ready(function () {
    var summary = document.getElementById("wpSummary");
    if (!summary) return;
 
    var dropdown = document.createElement("select");
    dropdown.style.width = "10%";
 
    for (var label in predefinedSummaries) {
        var option = document.createElement("option");
        option.setAttribute("value", predefinedSummaries[label]);
        option.appendChild(document.createTextNode(label));
        dropdown.appendChild(option);
    }
 
    dropdown.onchange = function () {
        summary.value = summary.value.replace(/(\/\*.*?\*\/\s+)?.*/,
            "$1" + dropdown.options[dropdown.selectedIndex].value);
    };
 
    summary.parentNode.insertBefore(dropdown, summary.nextSibling);
});







//============================================================
// Script pour le Trévoux (Phe's product)
// le troisème document.write() n'est pas indispensable (il ajoute un bouton dans la fenêtre des diffs en dessous des diffs pour avoir des meilleurs diffs) et est utile pour voir plus facilement les modifications faites par le script. Le code est dans Trévoux.js, la plupart des regexp dans Trévoux_data_1.js pour alléger le script principal.
//============================================================
var server = mw.config.get('wgServer');
 
  jQuery.getScript(server + '/w/index.php?title=User:Acer11/Trévoux_data_1.js&action=raw&ctype=text/javascript&dontcountme=s', function() {
  jQuery.getScript(server + '/w/index.php?title=User:Acer11/Trévoux_data_2.js&action=raw&ctype=text/javascript&dontcountme=s', function() {
  mw.loader.load(server + '/w/index.php?title=User:Acer11/Trévoux.js&action=raw&ctype=text/javascript&dontcountme=s');
 });
});