Utente:Alex brollo/tool stefano.js
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
- Opera: premi Ctrl-F5.
// <nowiki>
$(document).ready(function() {
if (mw.config.get("wgCanonicalNamespace")==="Index" &&
(mw.config.get("wgAction")==="edit") || mw.config.get("wgAction")==="submit") {
leggiSommario=function () {
var sommario=$("#wpprpindex-Sommario").val();
sommario=$.trim(sommario);
var testo="";
if (sommario.indexOf("{{Indice sommario")>-1) {
var maxlength=4;
//normalizzazione
sommario=sommario.replace(/{{indice sommario/g,"{{Indice sommario")
.replace(/[ \n]*\|[ \n]*/g,"|")
.replace(/[ \n]*=[ \n]*/g,"=")
.replace(/[ \n]*\}[ \n]*/g,"}");
//estrazione template
sommario=produciLista(sommario, "{"+"{Indice sommario","}}",1,"{{");
//parsing
for (i=0;i<sommario.length;i+=1) {
sommario[i]=$.trim(sommario[i])
.replace(/\{{Indice sommario\|nome=/g,"")
.replace(/\|titolo=/g,"\t")
.replace(/\|from=/g,"\t")
.replace(/\|delta=/g,"\t")
.replace(/\}}$/g,"").split(/[\t/]/);
// calcolo massima lunghezza (numero massimo livelli) per successivo allineamento
// mediante .splice(-2,0,"") ripetuto un numero di volte calcolato
maxlength=(maxlength<sommario[i].length)?sommario[i].length:maxlength;
}
// normalizzazione livelli
for (i=0;i<sommario.length;i+=1) {
while(sommario[i].length<maxlength) {
sommario[i].splice(-3,0,"");
}
sommario[i]=sommario[i].join("\t");
}
testo=sommario.join("\n");
$("#wpprpindex-Sommario").val(testo);
} else {
// sommario=sommario.replaceAll("’","'");
sommario=sommario.replace(/’/g,"'");
sommario=sommario.split("\n");
var s=[];
var x=[];
for (i=0;i<sommario.length;i+=1) {
x=[];
sommario[i]=sommario[i].split("\t");
if (sommario[i].length > 3) {
x[3]=sommario[i].pop();
x[2]=sommario[i].pop();
x[1]=sommario[i].pop();
while (sommario[i][sommario[i].length-1]==="") sommario[i].pop();
x[0]=sommario[i].join("/");
}
testo+="{{Indice sommario|nome="+x[0]+"|titolo="+x[1]+"|from="+x[2]+"|delta="+x[3]+"}}\n";
}
$("#wpprpindex-Sommario").val(testo);
}
};
$("#wpprpindex-Sommario").dblclick(function () {leggiSommario();});
}
});
// </nowiki>