Usuari:Forat Negre/unicodeConvertor.js
El codi que afegiu en aquesta pàgina podria tenir contingut maliciós que comprometi el vostre compte. Si no esteu segur si el codi a afegir és segur, pregunteu abans en la Taverna. El codi s'executarà en mostrar una previsualització d'aquesta pàgina. |
Nota: Després de desar, heu de netejar la memòria cau del navegador per veure els canvis. En la majoria de navegadors amb Windows o Linux, premeu Ctrl+F5 o bé premeu Shift i cliqueu el botó "Actualitza" (Ctrl i "Actualitza" amb Internet Explorer). Vegeu més informació i instruccions per a cada navegador a Viquipèdia:Neteja de la memòria cau.
/* unicodeConvertor.js
--------------------------------
Versió actual: 1.0
Autor: Forat Negre
--------------------------------
Aquest codi mostra els elements superíndex i subíndex amb el seu equivalent amb Unicode.
Això permet copiar el text sense perdre el format al porta-retalls.
El codi només afecta a la interfície dels articles sense fer-ne cap modificació.
Per saber quan fer servir Unicode en un article, consulteu el llibre d'estil de la Viquipèdia.
>> Registre de canvis
Versió 1.0 [27 de febrer 2024]
* Versió operativa superíndex/subíndex
*/
// Caràcters a substituir en versió superíndex
const unicodeSupDict = {'0':'⁰', '1':'¹', '2':'²', '3':'³',
'4':'⁴', '5':'⁵', '6':'⁶', '7':'⁷', '8':'⁸', '9':'⁹'
};
// Caràcters a substituir en versió subíndex
const unicodeSubDict = {'0':'₀', '1':'₁', '2':'₂', '3':'₃',
'4':'₄', '5':'₅', '6':'₆', '7':'₇', '8':'₈', '9':'₉'
};
$(function() {
// Llista de classes on s'apliquen els canvis a Unicode
var handlers = [
".mw-parser-output p",
".mw-parser-output td",
".mw-parser-output ul",
".mw-parser-output dl",
".WDI-box"
];
// Aplicar els canvis a totes les classes definides a la llista
var handlerIndex = 0;
$(handlers.join(",")).filter(function(){
if (this.innerText.length == 0) return;
handlerIndex++;
// Funcions superíndex
removeTagsSup(this);
applyUnicodeSup(this);
// Funcions subíndex
removeTagsSub(this);
applyUnicodeSub(this);
});
// Canviar totes les etiquetes sup per la nova span.unicodeSup
function removeTagsSup(element) {
var transf = element.innerHTML;
transf = transf.replaceAll(/<sup id=/gm, '<span class="unicodeSup" id=');
transf = transf.replaceAll(/<\/sup>/gm, '</span>');
element.innerHTML = transf;
}
// Canviar totes les etiquetes sub per la nova span.unicodeSub
function removeTagsSub(element) {
var transf = element.innerHTML;
transf = transf.replaceAll(/<sub id=/gm, '<span class="unicodeSub" id=');
transf = transf.replaceAll(/<\/sub>/gm, '</span>');
element.innerHTML = transf;
}
// Aplicar canvis de text Unicode als unicodeSup
function applyUnicodeSup(element) {
$(".unicodeSup", element).filter(function(){
var regex = new RegExp('[' + Object.keys(unicodeSupDict).join("") + ']', 'gm');
this.innerText = this.innerText.replace(regex, function(x) { return unicodeSupDict[x] });
});
}
// Aplicar canvis de text Unicode als unicodeSub
function applyUnicodeSub(element) {
$(".unicodeSub", element).filter(function(){
var regex = new RegExp('[' + Object.keys(unicodeSubDict).join("") + ']', 'gm');
this.innerText = this.innerText.replace(regex, function(x) { return unicodeSubDict[x] });
});
}
});