User:Candalua/monobook.js

From Wikisource
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* <pre> */

//Aggiunge un pulsante generico alla Toolbar
function addToolbarButton(id, href, src, alt, title) {

	var toolbar = document.getElementById("toolbar");
	if(toolbar) {
		var tmp = document.createElement("a");
		tmp.id = id;
		tmp.href = href;
		var imag = document.createElement("img");
		imag.setAttribute('src', src);
		imag.setAttribute('alt', alt);
		imag.setAttribute('title', title);
		tmp.appendChild(imag);
		toolbar.appendChild(tmp);
	}
}

$(document).ready ( function() {
	addToolbarButton('tb-split1', "javascript:insertTags('{{Split|','}}','')", 
		'http://upload.wikimedia.org/wikipedia/commons/9/96/1.svg', '[S1]', 'Inizio Split');
	addToolbarButton('tb-split2', "javascript:insertTags('{{{{Split|end}}{{Split}}','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/4/4d/2.svg', '[S2]', 'Split');
	addToolbarButton('tb-split2p', "javascript:insertTags('</poem>{{Split|end}}{{Split}}<poem>','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/4/4d/2.svg', '[S2P]', 'Split con poem');
	addToolbarButton('tb-split3', "javascript:insertTags('{{Split|end}}','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', '[S3]', 'Fine Split');
	addToolbarButton('tb-poem', "javascript:insertTags('<poem>','</poem>','')", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', '<poem>', 'poem');
	addToolbarButton('tb-center', "javascript:insertTags('<center>','</center>','')", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', '<center>', 'center');
	addToolbarButton('tb-big', "javascript:insertTags('<big>','</big>','')", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', '<big>', 'big');
	addToolbarButton('tb-span', "javascript:insertTags('<span style=\"font-size:200%\">','</span>','')", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', '<span>', 'font-size');
	addToolbarButton('tb-ottave', "javascript:ottave()", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', 'Ottave', 'ottave');
	addToolbarButton('tb-sec1', "javascript:insertTags('<section begin=1/>','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/9/96/1.svg', '[s1]', 'Inizio section');
	addToolbarButton('tb-sec2', "javascript:insertTags('<section end=1/><section begin=2/>','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/4/4d/2.svg', '[s2]', 'section');
	addToolbarButton('tb-sec2p', "javascript:insertTags('</poem><section end=1/><section begin=2/><poem>','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/4/4d/2.svg', '[s2P]', 'section con poem');
	addToolbarButton('tb-sec3', "javascript:insertTags('<section end=2/>','','')", 
		'http://upload.wikimedia.org/wikipedia/commons/8/8c/3.svg', '[s3]', 'Fine section');
})


function scriviNumero(line, num, tl) {
	
	var str = line;
	var n = 0;
	while (str.charAt(0) && str.charAt(0) == ' ') {
		str = str.substring(1);
		n++;
	}
	while (str.charAt(0) && str.charAt(0) == ':') {
		str = str.substring(1);
		n++;
	}
	
	if (n > 0) line = line.substring(0, n) + "{{"+tl+"|" + num + "}}" + line.substring(n);
	else line = "{{"+tl+"|" + num + "}}" + line;
	
	return line;
}

function numeroRiga(evt) {
	if (evt.ctrlKey && evt.shiftKey) {

		var testoCasella = document.getElementById("wpTextbox1").value;
		var begin = testoCasella.lastIndexOf("<poem>");
		var end = testoCasella.lastIndexOf("</poem>");
		var prima = testoCasella.substring(0, begin+6);
		var dopo = testoCasella.substring(end);
		var lines = testoCasella.substring(begin+6, end).split("\n");
		
		var num = 0;
		var center = false;
		var mod = 0;
		
		var range = evt.charCode - 32;
		
		//SHIFT + CTRL + Q: aggiunge il numero di riga al termine ogni strofa
		if (evt.charCode == 81 || evt.charCode == 113) {
			mod = 1;
		}
		//SHIFT + CTRL + [1..9]: aggiunge il numero di riga ogni x righe
		else if ( (evt.charCode >= 33 && evt.charCode <= 41) || evt.charCode == 163 || evt.charCode == 47) {
			mod = 2;
			
			if (evt.charCode == 163) range = 3;
			if (evt.charCode == 47) range = 7;
		}

		if (mod > 0) {
			if (wgCanonicalNamespace == "Page") {
				var num = parseInt(prompt("da che numero parto?", "0"));
			}
			
			for (var i=0; i < lines.length; i++) {
			
				if (lines[i].toLowerCase().lastIndexOf("<center>") > -1) center = true;
			
				if (!center && lines[i].replace(/\s/g,"") != "") {
					num++;
					
					if (mod == 1 && (i+1 >= lines.length || lines[i+1].replace(/\s/g,"") ) == "") {
						lines[i] = scriviNumero(lines[i], num, "R");
					}
					
					if (mod == 2 && num % range == 0) {
						lines[i] = scriviNumero(lines[i], num, "R");
					}
				}
				
				if (lines[i].toLowerCase().lastIndexOf("</center>") > -1) center = false;
			}
			
			var out = lines[0];
			for (var i=1; i < lines.length; i++) {
				out = out + "\n" + lines[i];
			}
			document.getElementById("wpTextbox1").value = prima + out + dopo;
		}
	}
}


document.onkeypress = numeroRiga;


function ottave() {

	var testoCasella = document.getElementById("wpTextbox1").value;
	var begin = testoCasella.lastIndexOf("<poem>");
	var end = testoCasella.lastIndexOf("</poem>");
	var prima = testoCasella.substring(0, begin+6);
	var dopo = testoCasella.substring(end);
	var lines = testoCasella.substring(begin+6, end).split("\n");
	
	var num = 0;
	var center = false;
	var begin = false;
	
	if (wgCanonicalNamespace == "Page") {
		var num = parseInt(prompt("da che numero parto?", "0"));
	}
	
	for (var i=0; i < lines.length; i++) {
	
		if (lines[i].toLowerCase().lastIndexOf("<center>") > -1) center = true;
		if (lines[i].replace(/\s/g,"") == "") begin = true;
		else {
			if (!center && begin) {
				begin = false;
			
				num++;
				lines[i] = scriviNumero(lines[i], num, "O");
			}
		}
		
		if (lines[i].toLowerCase().lastIndexOf("</center>") > -1) center = false;
	}
	
	var out = lines[0];
	for (var i=1; i < lines.length; i++) {
		out = out + "\n" + lines[i];
	}
	document.getElementById("wpTextbox1").value = prima + out + dopo;
}


//zonta el template Pagina a le "mie" pagine nel ns:Page
$(document).ready ( function()
{
	var testa = document.getElementsByName("wpHeaderTextbox")[0];
	if (testa) {
		if (testa.value.search(/{{pagina/i) == -1) {
			testa.value = "{{Pagina}}" + testa.value;

			var corpo = document.getElementsByName("wpTextbox1")[0];
			if (corpo) {
				if (corpo.value.search(/{{Pagina\|3}}/i) != -1) {
					testa.value = testa.value.replace("{{Pagina}}", "{{Pagina|3}}");
				}
				corpo.value = corpo.value.replace(/<noinclude>{{Pagina\|[0-9]*}}<\/noinclude>/i, "")
			}

			postOCR();
		}
	}
})


function postOCR() {
	var editbox = document.getElementsByName('wpTextbox1')[0];
	editbox.value = editbox.value.replace(/  /g, " ")
		.replace(/ ,/g, ",")
		.replace(/ ;/g, ";")
		.replace(/ :/g, ":")
		.replace(/ \./g, ".")
		.replace(/ !/g, "!")
		.replace(/ \?/g, ";")
		.replace(/'1/g, "'l")
		.replace(/1'/g, "'l'")
		.replace(/I'/g, "l'")
		.replace(/l' /g, "l'")
		.replace(/L' /g, "L'")
		.replace(/h' /g, "h'")
		.replace(/s' /g, "s'")
		.replace(/ \n/g, "\n")
		.replace(/-\n/g, "")
		.replace(/é/g, "è")
		.replace(/ó/g, "ò")
		.replace(/á/g, "à")
		.replace(/ piu /g, " più ")
		.replace(/zja/g, "zia")
		.replace(/zjo/g, "zio")
		.replace(/cbi/g, "chi")
		.replace(/cbe/g, "che")
		.replace(/gbi/g, "ghi")
		.replace(/gbe/g, "ghe")
		.replace(/cussi/g, "cussì")
		.replace(/ y /g, ", ")
		.replace(/ y\n/g, ",\n")
		.replace(/ 3 /g, ", ")
		.replace(/ 3\n/g, ",\n")
}

//NASCONDI IL COPYWARN SOTTO LA CASELLA DI MODIFICA (da Utente:Alex_brollo/vector.js)
$(document).ready( function ()
{
  if (document.getElementById("editpage-copywarn"))
    document.getElementById("editpage-copywarn").style.display="none";

  if (document.getElementById("mw-tos-summary"))
    document.getElementById("mw-tos-summary").style.display="none";
 
  if (document.getElementById("editpage-copywarn3"))
    document.getElementById("editpage-copywarn3").style.display="none";

 if (document.getElementById("editpage-tos-summary"))
    document.getElementById("editpage-tos-summary").style.display="none";
})


/* </pre> */