« Utilisateur:Seudo/sd commandes.js » : différence entre les versions

La bibliothèque libre.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 53 : Ligne 53 :
return;
return;
}
}
}

/* Insère un appel de note dans les Vies de Vasari */
function vasari_appel_note(e) {
OO.ui.prompt('Numéro de la note', {
textInput: {
placeholder: 'Numéro'
}
}).done(function(result) {
if(result !== null) {
txt = " {{refl|" + result + "|nosup|(" + result + ")}}";
inserer(e, txt);
}
});
}
}


Ligne 80 : Ligne 94 :


$(function($) {
$(function($) {
addCommande("Typo", "sd-typo", "Typographie", typographie);
addCommande("Typo",
"sd-typo",
"Typographie",
typographie);
addCommande("Sd Vasari appel note",
addCommandeInsererTexte("Sd Vasari notes", "sd-vasari-notes", "Vasari - Intégrer les notes",
"sd-vasari-appel-note",
"Vasari - appel de note",
vasari_appel_note);
addCommandeInsererTexte("Sd Vasari notes",
"sd-vasari-notes",
"Vasari - Intégrer les notes",
"\n{{interligne|2em}}\n[[File :Vasari - Vies des peintres - separateur.jpg|70px|center]]\n{{interligne|3em}}\n\n{{c| NOTES.|fs=120%|lh=2}}\n{{brn|2}}\n\n{{Refa|1|(1)}} ");
"\n{{interligne|2em}}\n[[File :Vasari - Vies des peintres - separateur.jpg|70px|center]]\n{{interligne|3em}}\n\n{{c| NOTES.|fs=120%|lh=2}}\n{{brn|2}}\n\n{{Refa|1|(1)}} ");
addCommandeInsererTexte("Sd Vasari séparateur", "sd-vasari-separateur", "Vasari - Insère le séparateur entre texte et commentaire",
addCommandeInsererTexte("Sd Vasari séparateur",
"sd-vasari-separateur",
"Vasari - Insère le séparateur entre texte et commentaire",
"{{brn|2}}\n[[File :Vasari - Vies des peintres - separateur simple.jpg|center|65px]]\n{{brn|2}}\n");
"{{brn|2}}\n[[File :Vasari - Vies des peintres - separateur simple.jpg|center|65px]]\n{{brn|2}}\n");
addCommandeInsererTexte("Sd Ripa section", "sd-ripa-section", "Iconologie de Cesare Ripa - Insère un séparateur et le titre d’une nouvelle section",
addCommandeInsererTexte("Sd Ripa section",
"sd-ripa-section",
"Iconologie de Cesare Ripa - Insère un séparateur et le titre d’une nouvelle section",
"## fin ##\n<hr />\n## l_automne ##\n{{t3|{{uc|L’avtomne}}.}}\n{{PM|I|L}} ");
"## fin ##\n<hr />\n## l_automne ##\n{{t3|{{uc|L’avtomne}}.}}\n{{PM|I|L}} ");
});
});

Version du 17 août 2019 à 06:04

/*
Commandes personnelles, ajoutées dans le menu "Plus".

Peuvent être temporaires pour un livre donné.
*/

/* Insère du texte au niveau du curseur dans le champ d'édition */
function inserer(e, txt) {
	e.preventDefault();
	try {
		editbox = $("#wpTextbox1");
		if(! editbox.length) {
			OO.ui.alert("Cette page ne contient pas de champ d'édition");
			return;
		}
		var startPos = editbox[0].selectionStart;
		var endPos = editbox[0].selectionEnd;
		var textScroll = editbox[0].scrollTop;
		var content = editbox.val();
		var newcontent = content.substring(0, startPos) + txt + content.substring(startPos);
		editbox.val(newcontent);
		editbox[0].selectionStart = startPos;
		editbox[0].selectionEnd = editbox.selectionStart;
		editbox[0].scrollTop = textScroll;
	}
	catch(exc) {
		OO.ui.alert("Erreur : " + exc);
		return;
	}
}

/* Corrections typographiques de base */
function typographie(e) {
	e.preventDefault();
	try {
		editbox = $("#wpTextbox1");
		if(! editbox.length) {
			OO.ui.alert("Cette page ne contient pas de champ d'édition");
			return;
		}
		var content = editbox.val();
		content = content.replace(/(M+\.|Mmes?|Mgr) +/g, '$1&nbsp;');
		content = content.replace(/ +,/g, ",");
		content = content.replace(/(^|[^'])'([^']|$)/g, "$1’$2"); /* Seulement une apostrophe */
/*		content = content.replace(/’’’/g, "'''");
		content = content.replace(/’’/g, "''"); */
		content = content.replace(/\bcelte\b/g, "cette");
		content = content.replace(/ h /g, " à ");
		editbox.val(content);
	}
	catch(exc) {
		OO.ui.alert("Erreur : " + exc);
		return;
	}
}

/* Insère un appel de note dans les Vies de Vasari */
function vasari_appel_note(e) {
	OO.ui.prompt('Numéro de la note', {
		textInput: {
			placeholder: 'Numéro'
		}
	}).done(function(result) {
		if(result !== null) {
			txt = "&nbsp;{{refl|" + result + "|nosup|(" + result + ")}}";
			inserer(e, txt);
		}
	});
}

function addCommande(libelle, id, desc, fn) {
	mw.util.addPortletLink("p-cactions",
		"#",
		libelle,
		id,
		desc);

	$('#' + id).on('click', function(e) {
		fn(e);
	});
}

function addCommandeInsererTexte(libelle, id, desc, txt) {
	mw.util.addPortletLink("p-cactions",
		"#",
		libelle,
		id,
		desc);

	$('#' + id).on('click', function(e) {
		inserer(e, txt);
	});
}

$(function($) {
	addCommande("Typo", 
		"sd-typo", 
		"Typographie", 
		typographie);
	addCommande("Sd Vasari appel note", 
		"sd-vasari-appel-note", 
		"Vasari - appel de note",
		vasari_appel_note);
	addCommandeInsererTexte("Sd Vasari notes", 
		"sd-vasari-notes", 
		"Vasari - Intégrer les notes",
		"\n{{interligne|2em}}\n[[File :Vasari - Vies des peintres - separateur.jpg|70px|center]]\n{{interligne|3em}}\n\n{{c| NOTES.|fs=120%|lh=2}}\n{{brn|2}}\n\n{{Refa|1|(1)}} ");
	addCommandeInsererTexte("Sd Vasari séparateur", 
		"sd-vasari-separateur", 
		"Vasari - Insère le séparateur entre texte et commentaire",
		"{{brn|2}}\n[[File :Vasari - Vies des peintres - separateur simple.jpg|center|65px]]\n{{brn|2}}\n");
    addCommandeInsererTexte("Sd Ripa section", 
		"sd-ripa-section", 
		"Iconologie de Cesare Ripa - Insère un séparateur et le titre d’une nouvelle section", 
        "## fin ##\n<hr />\n## l_automne ##\n{{t3|{{uc|L’avtomne}}.}}\n{{PM|I|L}} ");
});