Utilisateur:GBég/common.js
Apparence
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.
function format() {
var txt = document.editform.wpTextbox1;
txt.value = typo(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);
}
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, "$1:");
str = str.replace(/: (.*?\]\])/g, ":$1");
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»");
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, "\|");
return trim(str);
}
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);
}
}
}
function trim(str) {
str = str.replace(/ $/gm, "");
return str.replace(/^\s*|\s*$/g, "");
}
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 "";
}
$(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'));
}
});