MediaWiki:Monobook.js
De BoyWiki
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
/* Tout JavaScript ici sera chargé avec les pages accédées par les utilisateurs de l’habillage MonoBook uniquement. */
/* Note: cette page n'est pas indispensable au fonctionnement du site, */
/* en cas d'erreur bloquante elle peut être vidée dans l'urgence. */
/*--------------------------------------------------------------------------------*/
/* Pour les pages 'dialogue' affecte la classe dialog à body */
/* utilisé par css pour l'encadrement colorisé des dialogues indentés dans Agora */
function attrib_class_dialog() {
/* seulement pour les pages Agora ou discussion */
var bodyclass = document.body.className;
if (bodyclass.match(/page-BoyWiki_Agora/)
|| bodyclass.match(/page-Discussion_/)
|| bodyclass.match(/page-Discuter_/))
document.body.className = bodyclass + ' dialog';
}
addOnloadHook(attrib_class_dialog);
/*--------------------------------------------------------------------------------*/
/* Pour les pages 'édition' ajout de boutons à la barre d'outils */
/* utilise mwCustomEditButtons variable déclarée dans commons/wikibits.js */
function addCustomButton(imageFile, imageText, tagOpen, tagClose, insertText) {
mwCustomEditButtons[mwCustomEditButtons.length] = {"imageFile": imageFile,
"speedTip": imageText,
"tagOpen": tagOpen,
"tagClose": tagClose,
"sampleText": insertText};
}
addCustomButton('https://media.boywiki.org/w/images/c/c9/Button_strike.png','Rayé','<s>','</s>','');
addCustomButton('https://media.boywiki.org/w/images/8/88/Btn_toolbar_enum.png','Liste énumération','\n# ','\n# B\n# C','A');
addCustomButton('https://media.boywiki.org/w/images/1/11/Btn_toolbar_liste.png','Liste à puces','\n* ','\n* B\n* C','A');
addCustomButton('https://media.boywiki.org/w/images/c/c4/Button_ref.png','Référence','<ref>','</ref>','référence, citation, lien');
addCustomButton('https://media.boywiki.org/w/images/6/64/Buttonrefvs8.png','Index des références','== Notes et références ==\n<references />','','');
addCustomButton('https://media.boywiki.org/w/images/0/0c/Button_Link_DifferentName.png','Catégorie','\[\[catégorie:','\|\]\]','nom de catégorie');
addCustomButton('https://media.boywiki.org/w/images/e/eb/Button_plantilla.png','Modèle','\{\{','\}\}','nom de modèle ou page à inclure');
addCustomButton('https://media.boywiki.org/w/images/1/13/Button_enter.png','Saut à la ligne','<br />','','');
addCustomButton('https://media.boywiki.org/w/images/2/26/Button_latinas.png','Guillemets','« ',' »','texte');
addCustomButton('https://media.boywiki.org/w/images/5/50/Button_hellip.png','Points de suspension','…','','');
addCustomButton('https://media.boywiki.org/w/images/2/2d/Button_ndash.png','Tiret demi-cadratin','–','','');
addCustomButton('https://media.boywiki.org/w/images/c/cd/Button_mdash.png','Tiret cadratin','—','','');
addCustomButton('https://media.boywiki.org/w/images/5/55/Button_nbsp_1.png','Espace insécable',' \;','','');
/*--------------------------------------------------------------------------------*/
/* Pour les pages 'édition' ajoute une liste déroulante pour afficher des jeux de caractères spéciaux */
/* version simplifiée inspirée de [http://fr.wikipedia.org/wiki/Utilisateur:Zelda/Edittools] */
var CustomEditCharsetMenu = new Array();
/* Insertion dans la page : liste déroulante et jeux de caractères */
function addcharsetmenu() {
/* Création espace d'accueil dans la page si existe pas */
if (getElementsByClassName(document, 'div', 'mw-editTools')) {
var specialchars = document.getElementById('specialcharsets');
if (specialchars == null) {
specialchars = document.createElement('div');
specialchars.setAttribute('id', 'specialcharsets');
document.getElementById('bodyContent').insertBefore(specialchars,document.getElementById('editform'));
}
}
if (specialchars == null) return;
/* Création liste déroulante */
var charsetselect = document.createElement('select');
charsetselect.setAttribute('style', 'display:inline');
charsetselect.onchange = function () {changecharset(this.selectedIndex);};
for (var i = 0; i < CustomEditCharsetMenu.length ; i++) {
/* Création paragraphes par jeu de caractères */
var p = document.createElement('p');
p.style.display = 'none';
p.setAttribute('title', CustomEditCharsetMenu[i][0]);
p.innerHTML = '<span>' + CustomEditCharsetMenu[i][1] + '</span>';
specialchars.appendChild(p);
/* Ajout noms des jeux de caractères dans liste déroulante */
var opt = document.createElement('option');
var txt = document.createTextNode(CustomEditCharsetMenu[i][0]);
opt.appendChild(txt);
charsetselect.appendChild(opt);
}
specialchars.insertBefore(charsetselect, specialchars.childNodes[0]);
/* Choix par défaut */
changecharset(0);
}
/* Affichage des caractères du jeu sélectionné */
function changecharset(index) {
var p = document.getElementById('specialcharsets').getElementsByTagName('p');
for (var i = 0; i < p.length ; i++) {
/* Init et affiche jeu de caractères sélectionné */
if (i == index) {
initcharsubset(p[i]);
p[i].style.display = 'inline';
p[i].style.visibility = 'visible';
}
else {
/* cache les autres */
p[i].style.display = 'none';
p[i].style.visibility = 'hidden';
}
}
}
/* Init jeu de caractères sélectionné - transforme chaque chaine en lien actif */
function initcharsubset(p) {
var spans = p.getElementsByTagName("span");
if (!spans) return;
/* Pour chaque <span> du paragraphe */
for (var j = 0; j < spans.length; j++) {
if (spans[j].childNodes.length == 0 || spans[j].childNodes[0].nodeType != 3) continue;
/* Pour chaque chaine du <span> séparée par un espace */
var chars = spans[j].childNodes[0].nodeValue.split(' ');
for (var k = 0; k < chars.length; k++) {
var a = document.createElement('a');
var tags = chars[k];
/* création du lien insertTag(tagBegin, tagEnd, defaultValue) */
var tagBegin = tags;
var tagEnd = '';
var defaultValue = '';
a.href = "javascript:insertTags('" + tagBegin + "','" + tagEnd + "', '" + defaultValue + "')";
a.appendChild(document.createTextNode(tagBegin + tagEnd));
spans[j].appendChild(a);
spans[j].appendChild(document.createTextNode(" "));
}
/* suppression ancien contenu */
spans[j].removeChild(spans[j].firstChild);
}
}
/* Ajout des jeux de caractères */
/* charsetname: nom du jeu de carctères affiché dans la liste déroulante */
/* charlist: liste des caractères séparés par un espace */
function addCustomCharsetMenu(charsetname, charlist) {
var nextitem = CustomEditCharsetMenu.length;
CustomEditCharsetMenu[nextitem] = new Array(2);
CustomEditCharsetMenu[nextitem][0] = charsetname;
CustomEditCharsetMenu[nextitem][1] = charlist;
}
addOnloadHook(addcharsetmenu);
addCustomCharsetMenu('Latin', 'Á á Ć ć É é Í í Ó ó Ś ś Ú ú Ý ý Ǿ ǿ À à È è Ì ì Ò ò Ù ù Â â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô ŝ Ŝ Û û Ä ä Ë ë Ï ï Ö ö Ü ü ÿ Ã ã Ñ ñ Õ õ Å å Ç ç Č č Š š ŭ');
addCustomCharsetMenu('Allemand', 'Ä ä Ö ö ß Ü ü');
addCustomCharsetMenu('Arabe', 'ﺍ ﺑ ﺗ ﺛ ﺟ ﺣ ﺧ ﺩ ﺫ ﺭ ﺯ ﺳ ﺷ ﺻ ﺿ ﻃ ﻇ ﻋ ﻏ ﻓ ﻗ ﻛ ﻟ ﻣ ﻧ ﻫ ﻭ ﻳ');
addCustomCharsetMenu('Cyrillique', 'А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я');
addCustomCharsetMenu('Espagnol', '¿? ¡! Á á É é Í í Ñ ñ Ó ó Ú ú Ü ü ª º');
addCustomCharsetMenu('Esperanto', 'Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŭ ŭ');
addCustomCharsetMenu('Grec', 'Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϝ Ϻ ϟ Ϡ Ϛ Ϸ Ῥ α β ϐ γ δ ε ζ η θ ϑ ι κ ϰ λ μ ν ξ ο π ϖ ρ ϱ σ ς τ υ φ ϕ χ ψ ω ϝ ϻ ϟ ϡ ϛ ϸ ῤ ῥ');
addCustomCharsetMenu('Néerlandais', 'Ä ä Ë ë Ï ï Ö ö Ü ü Ÿ ÿ Á á É é Í í Ó ó Ú ú À à È è Ì ì Ò ò Ù ù Â â Ê ê Î î Ô ô Û û IJ ij ſ ƒ €');
addCustomCharsetMenu('Phonétique française', 'a ɑ e ɛ ə i o ɔ u y ø œ ɔ̃ ɑ̃ ɛ̃ œ̃ j w ɥ ː ‿ _́ _̀ _̌ _̂ b k ʃ d f ɡ h ʒ l m n ɲ ŋ p r s t v z ʀ ʁ');
/*--------------------------------------------------------------------------------*/