Utente:Divudi85/PersonalButtons.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>
importScript("Utente:Alex brollo/transclAlt.js");
var addReorder=function() {
	var testo=leggiBox();
	if(testo.indexOf("<OBJECT")===0) {
		scriviBox("reorder\n"+testo);
		cleanup();
	}
};
// sistema una pagina ns0 principale "raccolta" correggendo autoNs0
function aggiusta(){
    var testo=leggiBox();
    var newTesto="";
    newIndice="";
    newTesto=find_stringa(testo,"{"+"{Qualità","}}",1)+"\n";
    var indice=find_stringa(testo,"URL della versione cartacea a fronte = ","\n",0);
    var som=Sommario(indice);
    var dati=parseTemplate("Intestazione",testo);
    var raccolta=som[0]["nome"];
    dati[0]["Titolo"]=mw.config.get("wgTitle");
    newTesto+=rewriteTemplate(dati, false);
    newTesto+="{{raccolta|"+raccolta+"}}\n\n";
    var listaIndice=produciLista(testo,"{{testo|","}}",0);
    var voceIndice="";
    for (i=0;i<listaIndice.length;i+=1) {
        if (listaIndice[i].indexOf(mw.config.get("wgTitle")+"/")===0) {
            voceIndice=listaIndice[i].replace(mw.config.get("wgTitle"),"");
            newIndice+="*".repeat(count(listaIndice[i],"/"))+" {{testo|"+voceIndice+"}}\n";
        }
    } 
    if (newIndice.length>0){
        newIndice="\n== Indice ==\n\n"+newIndice;
    }
    for (i=0;i<som.length;i+=1) {
        if (som[i]["nome"]===mw.config.get("wgTitle")) {
            newTesto+='<pages index="'+indice.replace("Indice:","")+'" from='+som[i]["from"]
            + ' to='+(som[i+1]["from"]-1)+' />\n';
            break;
        }
    }
    scriviBox(newTesto+newIndice);
    return;
}

function toCol() {
    var testo=leggiBox();
    var r0=[];
    var r1=[];
    var linee=[];
    var linea=[];
    linee=testo.split("\n");
    for (i=0;i<linee.length;i+=1) {
        linea=linee[i].split("\t");
        r0.push(linea[0]);
        if (linea[1]!==undefined) r1.push($.trim(linea[1]));
    }
    if (r1.length>0) {
        testo="{{colonna|em=-1}}\n"+$.trim(r0.join("\n"))+"\n{{AltraColonna|em=-1}}\n"+$.trim(r1.join("\n"));
        scriviBox(testo);
    }
}

// formatta sonetti Laterza (elimina righe vuote, indenta primo verso delle strofe)
function son(){

	var ts=selection();
	var tsm=$.trim(ts[1]).replace(/\n+/g, "\n").replace(/\n[ :]*/g,"\n").split("\n");
	if (ts[1].length>0){
		for (i=0;i<tsm.length;i+=1) {
			if ([0,4,8,11].indexOf(i)!==-1) tsm[i]=":"+tsm[i];
		}
	    tsm=tsm.join("\n");
		scriviBox(ts[0]+tsm+ts[2]);
	}
	var t=leggiBox();
	t=t.replace(/([^\|])<poem>/g,"$1{{Blocco centrato|<poem>");
	t=t.replace(/<\/poem>([^}])/g, "</poem>}}$1");
	scriviBox(t);
}

function poem_down(){
	var t=leggiBox();
    t=t.replace(/(.*<poem>.*\n)(.+\n)/,"$2$1");
    t=t.replace(/(.*{{poem t\|.*\n)(.+\n)/,"$2$1");
	scriviBox(t);
	return false;
}


function poem_t(){
	var t=selection();
	t[1]=t[1].replace(/{{sc\|/gi,"{{Sc|");
	t[1]=t[1].replace(/\n\n/g,"\n");
	while (t[1].indexOf("{{Sc")!=-1) {
		t[1]=t[1].replace(find_stringa(t[1],"{{Sc|","}}. ",1,"{{"),find_stringa(t[1],"{{Sc|","}}. ",0,"{{")+".+");
		
	}
	t[1]="{{poem t|"+t[1]+"}}";
	scriviBox(t.join(""));
}
function forcedNewRi() {
	scriviBox("",0);
	newRi();
}
function poemAll() {
	scriviBox("<poem>\n"+$.trim(leggiBox()+"\n</poem>"));
	return;
}
function full_page(){
	$("#mw-panel").css("display","none");
	$("#p-personal").css("display","none");
	$("#content").css("margin-left","0");
}
// inserimento Pg in Indice generale Tiraboschi (disabilitato) e Giucciardini (abilitato)
function pgPlus() {
    var testo=leggiBox();
    var ts=testo.split(/([ .;,-])/);
    var prevPg="";
    var tomo="";
    var npag="";

    function isnum(val) {
    return /^\d+,*$/.test(val);
    }
    function t2v(t,p) {
        var v="";
        /*if (t==="I") v="t1";
        if (t==="II") v="t2";
        if (t==="III") v="t3";
        if (t==="IV") v="t4";
        if (t==="V" && p*1 <517) v="t5";
        if (t==="V" && p*1 >= 517) v="t6";
        if (t==="VI" && p*1 < 653) v="t7";
        if (t==="VI" && p*1 >=653 && p*1 <1225 ) v="t8";
        if (t==="VI" && p*1 >=1225) v="t9";
        if (t==="VII" && p*1 <609) v="t10";
        if (t==="VII" && p*1 >=609 && p*1 < 1161) v="t11";
        if (t==="VII" && p*1 >= 1161 && p*1 < 1971) v="t12";
        if (t==="VII" && p*1 >= 1971) v="t13";
        if (t==="VIII" && p*1 < 543) v="t14";
        if (t==="VIII" && p*1 >=543) v="t15";*/
        
        if (t==="I") v="gui1";
        if (t==="II") v="gui2";
        if (t==="III") v="gui3";
        if (t==="IV") v="gui4";
        if (t==="V") v="gui5";

        return v;
    }
    for (i=0;i<ts.length;i+=1) {
        if (/[IV]+/.test(ts[i]) && ts[i+1]===",") tomo=ts[i];
        if (isnum(ts[i])) {
            npag=/\d+/.exec(ts[i])[0];
            ts[i]="{{Pg|"+npag+"||"+t2v(tomo,npag)+"}}";
            prevPg=ts[i];
            }
        if (/{{Pg\|\d+\|\|t\d+}}/.test(ts[i])) prevPg=ts[i];
        if (ts[i]==="''ivi''") {
        	ts[i]=prevPg.replace("||","|''ivi''|");
        	}
    }
    scriviBox(ts.join(""));
}





function alt1() {$(".quality1 input").click(); $("#wpSave").click(); return false;}
function alt3() {$(".quality3 input").click(); $("#wpSave").click(); return false;}
function alt4() {$(".quality4 input").click(); $("#wpSave").click(); return false;}
function ctplus() {
	var t=sel()[1];
	t[1]=t[1].split("\n");
	t[1]=t[1].filter(function(e){return $.trim(e).length>0});
	for (i=0;i<t[1].length;i+=1) {
		t[1][i]="{{Ct|f=100%|v=1|t=0|w=0|L=0px|"+t[1][i]+"}}";
	}
	t[1]=t[1].join("\n");
	scriviBox(t.join(""));
	return false;
}
/*function altp() {
	var t=sel()[1];
	t[0]+="<poem>\n";
	t[2]=$.trim(t[2])+"\n</poem>";
	scriviBox(t.join(""));
	cleanup();
	return false;
}
function altp() {
	cleanup();
	cleanup();
	var t=leggiBox();
	if (t.indexOf("<poem>")===-1) {
		t="<poem>\n"+$.trim(t);
		t=t+"\n</poem>";
	}
	scriviBox(t);
	$("#wpSave").click();
	return false;
}*/
function altp() {
	var s=sel();
	var t=s[1];
	t[1]=t[1].replace(/\n+/g," — ");
	scriviBox(t.join(""));
	return false;
}
shortcut.add("Alt+1",alt1);
shortcut.add("Ctrl+Alt+p",altp);
shortcut.add("Ctrl+Alt+4",alt4);
//shortcut.add("Ctrl+Alt+n",note);
/*function nextImage() {
	var image=$(".prp-page-image img"); 
	var np=/djvu\/page(\d+)/.exec(image.attr("src"))[1]; 
	image.attr("src",image.attr("src").replace("djvu/page"+np,"djvu/page"+(np*1+1))); 
	return }
shortcut.add("Ctrl+Alt+2",nextImage);
function prevImage() {
	var image=$(".prp-page-image img"); 
	var np=/djvu\/page(\d+)/.exec(image.attr("src"))[1]; 
	image.attr("src",image.attr("src").replace("djvu/page"+np,"djvu/page"+(np*1-1))); 
	return }
shortcut.add("Ctrl+Alt+1",prevImage);*/	
var appendr=function () {
	var t=selection();
	t[1]=t[1].replace(/ *\n/g,"\t");
	scriviBox(t.join(""));
};
	
function rml() {
	// eliminazione acapo che esclude sia i testi <poem> che le righe che iniziano con  ";:#*" (liste html)
	var editbox = document.getElementsByName('wpTextbox1')[0];
	// fase 1: codifica
	if (editbox.value.indexOf("{{rml") != -1) {
		lista = produciLista(editbox.value, "{" + "{rml", "}}", 1);
		for (i = 0; i <= lista.length - 1; i = i + 1) {
			marcatore = "###" + i + "###";
			editbox.value = editbox.value.replace(lista[i], marcatore);
		}
	}
	
	// fase 2: elaborazione
	editbox.value = editbox.value.replace(/([ivxl,0-9]{2,} [ivxl0-9,; ]+)/gi, ' {'+'{'+'rml|$1}}');
	// fase 3: decodifica
	if (editbox.value.indexOf("###0###") != -1) {
		for (i = 0; i <= lista.length - 1; i = i + 1) {
			marcatore = "###" + i + "###";
			editbox.value = editbox.value.replace(marcatore, lista[i]);
		}
	}
	
}	
// sectionBegin='<section begin="Della natura degli uomini" />';
// sectionEnd='<section end="Della natura degli uomini" />'
//sectionBegin='{{ZbPensiero|';
//sectionEnd='|noasc}}'
shortcut.add("Ctrl+Alt+n", function() {incapsula('<ref>','</ref>');})
//shortcut.add("Ctrl+I", function() {incapsula('''','''');})

newButton("«»", "incapsula('«','»')", "es","Applica caporali (Ctrl+Alt+c)"); shortcut.add("Ctrl+Alt+c", function(){$(".baseButton[title*='caporali']").click();} );
newButton("‘’", "incapsula('‘','’')", "es","Applica virgolette singole (Ctrl+Alt+v)"); shortcut.add("Ctrl+Alt+v", function(){$(".baseButton[title*='virgolette']").click();} );
newButton("Ct", "incapsula('{{Ct|f=100%|v=1|L=0px|','}}')", "es","Applica il template Ct (Ctrl+K)"); shortcut.add("Ctrl+K", function() {incapsula('{{Ct|f=100%|t=0|v=1|w=0|L=0px|','}}');})
//newButton("Ct+", "ctplus()", "es","Applica il template Ct sulla selezione");
newButton("Sc", "incapsula('{{Sc|','}}')", "es","Applica SmallCaps"); //non funza shortcut.add("Ctrl+.", function(){$(".baseButton[title*='(maiuscoletto)']").click();} );
newButton("rule", "incapsula('{{Rule|4em|t=1|v=1}}','')", "es","Rule (Ctrl+9)") ;shortcut.add("Ctrl+9", function() {incapsula('{{Rule|4em|t=1|v=1}}','');})
newButton("Aaaa", "capit()", "es","Applica Maiuscole alle iniziali delle parole nella selezione");
newButton("A↔a", "up_low()", "es","Applica maiuscolo/minuscolo alla selezione, alternandole");
newButton("Rv", "eliminaRigheVuote()", "es","Elimina le righe vuote (talora presenti ed erronee nelle scansioni di testi poetici)");
newButton("poem","incapsula('<poem>\\n','\\n</poem>')","es","Applica il tag poem alla selezione");
//newButton("pt", "autoPt()", "es","autoPt");
newButton("autoRi", "forcedNewRi", "es","Inserisce un template RigaIntestazione ricavandolo da quello eventualmente presente due pagine prima");
newButton("sections", "newSections()", "es","splitta in sezioni");
newButton("agg", "aggiusta()", "es","aggiusta autoNs0");
//newButton("a dx", "incapsula('{{a destra|','}}')", "es","Applica il template a destra (Ctrl+R)");shortcut.add("Ctrl+R", function() {incapsula('{{a destra|','}}');})
newButton("aster", "incapsula('{{ct|f=100%|t=1|v=1|{{Asterism}}}}','')", "es","Asterism (Ctrl+0))");shortcut.add("Ctrl+0", function() {incapsula('{{ct|f=100%|t=1|v=1|{{Asterism}}}}','');})
shortcut.add("Alt+3",alt3);
//autoRi,autoRi,Ricava RigaIntestazione dalle pagine precedenti *Alt+2*,autoRi
//postOCR,postOCR, esegue postOCR *Alt+7*,postOCR
//agg.parag,Parag,Separa i possibili paragrafi con una riga vuota *Alt+6*,aggiustaParagrafi
//uni.linee,Linee,Riunisce le linee di testo di u paragrafo *Alt+8*,unisciLinee
//Corsivo,I, Applica markup corsivo *Ctrl+I*, incapsula,'',''
//Grassetto,B, Applica markup grassetto *Ctrl+B*, incapsula,''','''
//Table,Table,Apre/chiude tabella *Ctrl+0*, incapsula,{|style="text-align:center; width:100%"\n,\n|}
//nop,Nop, Applica nop *Ctrl+Alt+O*, incapsula,{{nop}}\n\n,
$("#mw-editbutton-codemirror").remove();
// </nowiki>