Cet article abordera la question de
MediaWiki:Gadget-specialchars.js, une question d'une grande importance aujourd'hui.
MediaWiki:Gadget-specialchars.js a attiré l'attention des experts et du grand public, générant un large débat dans divers domaines. Au fil des années,
MediaWiki:Gadget-specialchars.js a fait l’objet de recherches approfondies et a subi des changements importants, suscitant un intérêt accru pour comprendre son impact et sa portée. Dans ce contexte, il est essentiel d'analyser en détail les implications de
MediaWiki:Gadget-specialchars.js et son influence dans différents contextes. Cet article cherchera à explorer de manière exhaustive les différentes facettes de
MediaWiki:Gadget-specialchars.js, en approfondissant ses aspects les plus pertinents et en fournissant une vue complète de son importance dans le panorama actuel.
/*
Remplacement de certains caractères spéciaux lors de l'édition
Auteur: ThomasV
Importé depuis la Wikisource
*/
/* {{Catégorisation JS|specialchars}} */
/* global mw, $ */
if (mw.config.get('wgNamespaceNumber') !== 8
&& !/^(javascript|Scribunto)$/i.test(mw.config.get('wgPageContentModel'))
) {
$(function ($) { // eslint-disable-line no-unused-vars
'use strict';
var tb = document.getElementById("wpTextbox1");
if (!tb) {
return;
}
tb.addEventListener('keyup', function (e) {
var key = e.keyCode;
var startPos = tb.selectionStart;
var endPos = tb.selectionEnd;
if (endPos == startPos && ((key >= 65 && key <= 90) || key == 222 || key == 190)) {
var m = tb.value.substring(startPos - 2, startPos);
var m3 = tb.value.substring(startPos - 3, startPos);
var f = tb.value.substring(startPos);
var todo = true; var i = 2;
if (m == "'") {
m = m + "’";
if (m == "’’") m = "''";
if (m == "'’") m = "''";
} else {
switch (m) {
case "^s" : m = "ſ"; break;
case "`A" : m = "À"; break;
case "`E" : m = "È"; break;
case "`U" : m = "Ù"; break;
case "´E" : m = "É"; break;
case "*E" : m = "É"; break;
default : todo = false;
}
}
if (!todo) {
m = m3; todo = true; i = 3;
switch (m) {
case "^oe" : m = "œ"; break;
case "^ae" : m = "æ"; break;
case "^OE" : m = "Œ"; break;
case "^AE" : m = "Æ"; break;
case "..." : m = "…"; break;
default : todo = false;
}
}
if (todo) {
var textScroll = tb.scrollTop;
var h = tb.value.substring(0, startPos - i);
tb.value = h + m + f;
tb.selectionStart = startPos - i + m.length;
tb.selectionEnd = tb.selectionStart;
tb.scrollTop = textScroll;
}
}
});
});
}