Utilisateur:M-le-mot-dit/common.js
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.
/**
* TemplateScript adds configurable templates and scripts to the sidebar, and adds an example regex editor.
* @see https://meta.wikimedia.org/wiki/TemplateScript
* @update-token [[File:Pathoschild/templatescript.js]]
*/
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/i18n/fr.js');
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js');
/**************
Typo personnelle
***************/
function mlemotdit_typo_add() {
$.typo.add(function(str) {
str = str.replace(/\( /g, "("); // corr. pour les parenthèses
str = str.replace(/ \)/g, ")");
return str;
});
}
/**************
Correction Typo
***************/
// importScript('MediaWiki:Gadget-Typo.js');
$.when(
mw.loader.using( [ 'ext.gadget.Typo' ] ),
$.ready
).then(
mlemotdit_typo_add
);
/*****************
Raccourcis clavier
******************/
importScript('User:ElioPrrl/Raccourcis.js');
/**************
Barre latérale
***************/
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
pathoschild.TemplateScript.add([
// Espaces et césures
{
name: 'Espaces',
position: 'cursor',
script: function(editor) {
editor.replace(/ +$/mg, '')
.replace(/ +<br *\/?>/g, '<br />')
.replace(/<ref> +/g, '<ref>')
.replace(/ +<\/ref>/g, '</ref>')
.replace(/[-¬] *(\n)([^ \|\n]+)[ \n]/g, '$2$1')
.replace(/\( /g, '(')
.replace(/ \)/g, ')')
.replace(/ {2,}/g, ' ');
}
},
// Tirets longs
// {
// name: 'Tirets',
// position: 'cursor',
// script: function(editor) {
// editor.replace(/ *-- */g, ' — ')
// .replace(/ *_ */g, ' — ');
// }
// },
// Accents aigus
// {
// name: 'Accents',
// position: 'cursor',
// script: function(editor) {
// editor.replace(/\*a/g, 'á')
// .replace(/\*i/g, 'í')
// .replace(/\*o/g, 'ó')
// .replace(/\*u/g, 'ú')
// .replace(/\*A/g, 'Á')
// .replace(/\*E/g, 'É')
// .replace(/\*I/g, 'ĺ')
// .replace(/\*O/g, 'Ó')
// .replace(/\*U/g, 'Ú')
// .replace(/\*C/g, 'Ç');
// }
// },
// Caractères spéciaux
{
name: 'Char. spéciaux',
position: 'cursor',
script: function(editor) {
editor.replace(/ *-- */g, ' — ')
.replace(/ *_ */g, ' — ')
.replace(/\*-/g, '−')
.replace(/\*x/g, '×')
.replace(/\*\//g, '÷')
.replace(/\*'/g, '′')
.replace(/\*"/g, '″')
.replace(/\/\//g, '⁄')
.replace(/\*\./g, '·');
}
},
// Civilité : M. Mme, etc.
{
name: 'Civilité',
position: 'cursor',
script: function(editor) {
editor.replace(/(Roi|Reine) ([\wŒÀ-Üœà-ÿ]+) (\w+)/g, '{{$1|$2|$3}}')
.replace(/(M\.|Mlle|Mme|MM\.|Dr|P\.) ([\wŒÀ-Üœà-ÿ]+)/g, '{{$1|$2}}')
.replace(/{\|(M..) /g, '{$1|')
.replace(/{\|(Mlle) /g, '{$1|')
.replace(/S\. A\. R\. /g, '{{SAR}}');
}
},
// Exposants
{
name: 'Exposants',
position: 'cursor',
script: function(editor) {
editor.replace(/(^| )(1(er|re|ère)|I(er|re))/gm, '$1{{$2}}')
.replace(/(^| )2(de*)/gm, '$1{{2$2}}')
.replace(/([^{1-9])([2-9])(e(?!\w)|{{e}}) ([\wŒÀ-Üœà-ÿ’]+)/g, '$1{{$2e|$4}}')
.replace(/([^{1-9])([2-9])(e(?!\w)|{{e}})/g, '$1{{$2e}}')
.replace(/(\d)([2-9])e(?!\w)/g, '$1$2{{e}}')
.replace(/([^-])(\d)[o°] ([\wŒÀ-Üœà-ÿ’]+)/g, '$1{{$2o|$3}}');
}
},
// References bibliographiques
{
name: 'Réf biblio',
position: 'cursor',
script: function(editor) {
editor.replace(/(^| )i(bid|d)\./gm, '$1{{I$2.}}')
.replace(/([^{])I(bid|d)\./g, '$1{{I$2.|cap}}')
.replace(/([^{])ib\./g, '$1{{Ibid.|abr}}')
.replace(/in-(4°|8°|12°|12)/g, '{{in-$1}}')
.replace(/(n°|n°s|§{1,2}) ([CILVXcilvx]+|\d*)/g, '{{$1|$2}}')
.replace(/N° /g, '{{No}}{{Lié}}')
.replace(/([^\w])(Art|Ch|Chap|Fig|Lig|Liv|Pag|Pl|Sect|T|Tom|Vol)\. ([CILVXcilvx]+|\d+)/g, '$1{{$2.|$3|cap}}')
.replace(/([^\w])(art|ch|chap|fig|lig|liv|pag|pl|sect|t|tom|vol)\. ([CILVXcilvx]+|\d+)/g, '$1{{$2.|$3}}')
.replace(/(Lib|Cap)\. /g, '{{$1.|cap}}')
.replace(/([^\w])(lib|cap)\. /g, '$1{{$2.}}')
.replace(/([^\w])(p{1,2})\. ([CILVXcilvx]+|\d+)/g, '$1{{$2g|$3}}');
}
},
// S courts -> S longs
{
name: 'S longs',
position: 'cursor',
script: function(editor) {
editor.replace(/ss([\wœà-ÿ])/g, 'ſſ$1')
.replace(/s([ac-egi-zœà-ÿ])/g, 'ſ$1');
}
},
// Guillemets
// {
// name: 'Guillemets',
// position: 'cursor',
// script: function(editor) {
// editor.replace(/<< */g, '« ')
// .replace(/ *>>/g, ' »');
// }
// },
// Espace insécables
{
name: 'Lié',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
if (selected.length > 1) {
return '{{Lié|' + selected + '}}';
} else {
return '{{Lié}}';
}
});
}
},
// Correction
{
name: 'Corr',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '{{Corr|' + selected + '|' + selected + '}}';});
}
},
// Majuscule
{
name: 'Majuscule',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return selected.toUpperCase().charAt(0) + selected.toLowerCase().substring(1) ;
});
}
},
// Souligner
{
name: 'Souligné',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '{{Souligner|' + selected + '}}';});
}
},
// Justifié à droite
{
name: 'Droite',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '{{Droite|' + selected + '|2}}';});
}
},
// Citation
{
name: 'Citation',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '{{Citation|' + selected + '|gauche}}';});
}
},
// Taille de paragraphe
{
name: 'Taille page',
position: 'cursor',
script: function(editor) {
editor.replace(/^/, '{{P début de page|92}}')
.replace(/$/, '{{P fin de page}}');
}
},
{
name: 'Taille parag.',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '{{P début|92}}\n' + selected + '\n{{P fin}}';});
}
},
// Poème sans alinéa
{
name: 'Poème ss/alinéa',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '<poem style="margin-left:0;">' + selected + '</poem>';});
}
},
// Séparateur
{
name: 'Séparateur',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return selected + '\n{{Séparateur|5|m=1em}}\n';});
}
},
// Paragraphes (dans les notes)
{
name: 'Balise p',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
return '<p style="text-indent:1em;">' + selected + '</p>';});
}
},
// Auteur
{
name: 'Auteur',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
selected = selected.trim();
return '[[Auteur:' + selected + '|' + selected + ']]';});
}
},
// Page centrée
{
name: 'Bloc centré',
position: 'cursor',
script: function(editor) {
editor.forField('#wpHeaderTextbox')
.append('\n{{Bloc centré/o}}');
editor.forField('#wpFooterTextbox')
.prepend('{{Bloc centré/f}}\n');
}
},
// Références dans le pied de page
{
name: 'Pied — Refs',
position: 'cursor',
script: function(editor) {
editor.forField('#wpFooterTextbox')
.append('\n<references />');
}
},
// Centrage dans le pied de page
{
name: 'Pied — Centré',
position: 'cursor',
script: function(editor) {
editor.forField('#wpFooterTextbox')
.append('\n{{Centré|}}');
}
},
// Join paragraph
{
name: 'Joindre',
position: 'cursor',
script: function(editor) {
editor.replaceSelection(function(selected) {
selected = selected.replace(/ *(\r\n|\n|\r)/gm, ' ');
return selected;
});
}
},
// Nowiki en début de page
{
name: 'Nowiki',
position: 'cursor',
script: function(editor) {
editor.replace(/^/m, '<nowiki />\n\n');
}
},
// Page finissant par une césure
{
name: 'Césure',
position: 'cursor',
script: function(editor) {
editor.replace(/-[ \n]*$/, '<includeonly>-</includeonly>-')
.replace(/(\w+)-§ *$/m, '{{Tiret|$1|}}');
}
},
// Paragraphes en une ligne
{
name: 'Parag.',
position: 'cursor',
script: function(editor) {
editor.replace(/([^>}\n]) *\n([^<{\|\n])/g, '$1 $2')
.replace(/ {2,}/g, ' ')
.replace(/[ \n]*$/, '');
}
},
]);
});
// </nowiki>