Aide:Monobook
Le Monobook est une page dont dispose chaque utilisateur enregistré permettant de personnaliser l'apparence des pages de GWiki, et d'ajouter des outils pour faciliter l'interaction avec le wiki. Il s'agit en fait de deux pages :
- Special:Mypage/monobook.css pour personnaliser l'apparence grâce au CSS
- Special:Mypage/monobook.js pour ajouter des scripts JavaScript (petites extensions logiciels)
- Le nom de la sous-page ne prend pas de majuscule. Il faut écrire non pas
Monobook.jsmais bien monobook.js.
À qui s'adresse le monobook ?
Le monobook s'adresse aux utilisateurs voulant naviguer plus facilement au sein des pages, optimiser la recherche de contenu, ou encore effectuant des tâches particulières et répétitives. C'est notamment le cas des administrateurs et modérateurs qui passent du temps à faire la maintenance des articles.
À quoi sert le monobook ?
Le fait de créer un compte vous donne accès à de nouvelles fonctionnalités prévues par le logiciel MediaWiki et à un monobook que vous pouvez personnaliser, qui sera chargé à chaque page.
Le monobook personnel permet d'offrir certaines fonctionnalités avancées et personnalisées. Grâce à lui, vous pouvez par exemple ajouter les codes wiki ou HTML pré-écrits que vous avez choisis. Si vous utilisez souvent des formules mathématiques complexes, vous pouvez ainsi les ajouter sans avoir à les taper à chaque fois. Bref, il vous simplifie la wikivie avec les scripts ainsi que rendre les couleurs du site plus à votre goût (par exemple).
Il existe un monobook par défaut qui régit l'ensemble du site et qui est chargé à chaque page. Il s'agit de MediaWiki:Monobook.css et de MediaWiki:Common.css pour l'apparence, ainsi que de MediaWiki:Monobook.js et de MediaWiki:Common.js pour les scripts. (actuellement désactivés sur GWiki)
Personnaliser l'apparence avec les CSS
Créez d'abord une sous-page de la forme Special:Mypage/monobook.css. Attention : le nom de la sous-page ne prend pas de majuscule : il faut écrire non pas Monobook.css mais monobook.css. Ensuite, pour personnaliser l'apparence, il vous faut connaître les rudiments des feuilles de style en cascade (CSS) et/ou prendre exemple sur MediaWiki:Monobook.css, MediaWiki:Common.css ou les monobooks personnalisés des autres utilisateurs.
Voici quelques exemples :
/* '''Changer la couleur de fond des articles''' */ .ns-0 * #content, .ns-0 * #p-cactions li, .ns-0 * #p-cactions li a { background:#FFEEEE; /* couleur rose comme cette page */ } /* '''Afficher les liens déjà visités en vert''' */ a:visited { color:green; } /* '''Retirer (la plupart) des bandeaux [[Modèle:Ébauche|{{ébauche}}]]''' */ .stub { display:none; }
Vous pouvez prévisualiser (c'est d'ailleurs conseillé) l'apparence ainsi définie. Une fois satisfait, vous enregistrez, et devez recharger le cache (Mozilla / Konqueror / Firefox : Shift-Ctrl-R, IE / Opera : Ctrl-F5, Safari : Cmd-R) pour que les changement deviennent effectifs.
Personnaliser les scripts avec Javascript
De même que pour les CSS, il vous faut d'abord créer une sous-page de la forme Special:Mypage/monobook.js. Attention : le nom de la sous-page ne prend pas de majuscule : il faut écrire non pas Monobook.js mais monobook.js.
Vous pouvez prévisualiser (c'est d'ailleurs conseillé) le résultat des scripts et ainsi voir s'il fonctionnent bien sur votre ordinateur. Quand vous avez fini, vous enregistrez, et devez recharger le cache (Mozilla / Konqueror / Firefox : Shift-Ctrl-R, IE / Opera : Ctrl-F5, Safari : Cmd-R) pour que les changement deviennent effectifs.
Quelques opérations simples
Voici une liste de fonctions de base qui peuvent servir à élaborer des fonctions plus complexes
Ajouter un onglet en haut
Que dois-je ajouter dans ma page Special:Mypage/monobook.js pour me retrouver avec un onglet de plus (tel que un lien vers mon bac à sable) ?
Réponse :
addOnloadHook(function() { addPortletLink('p-cactions', '/wiki/Utilisateur:Yug/Bac à sable', 'Ma Zone Test'); ;}
C'est aussi valable pour les boîtes à gauche ou la barre de boutons. Il faut remplacer 'p-cactions'
par :
'p-personal'
: barre utilisateur en haut à droite'p-navigation'
: pour la boite Navigation'p-Contribuer'
: pour la boîte Contribuer'p-search'
: pour la boîte Rechercher'p-tb'
: pour la Boîte à outils
Ajouter une boîte de liens à gauche
Que dois-je ajouter dans ma page monobook pour me retrouver avec un lien spécifique ?
Réponse :
function nouvelleBoite() { var l = document.getElementById('column-one'); if (!l) return; l.innerHTML = l.innerHTML + '<div class="portlet" id="p-nbx">' + ' <h5>Boîte perso</h5>' + ' <div class="pBody">' + ' <ul>' + ' <li><a href="http://fr.wikipedia.org/wiki/Special:Mypage/monobook.js">Mon monobook.js</a></li>' + ' </ul>' + ' </div>' + '</div> '; } addOnloadHook(nouvelleBoite);
Importer un monobook d'un autre Wiki
Travaillant sur plusieurs wikis, vous pouvez unifier et synchroniser vos personnalisations et n'avoir à mettre à jour que la page monobook.js de votre compte « principal ». En admettant que GWiki soit le lieu où vous agissez en priorité et où votre monobook.js est déjà personnalisé, copiez/collez dans votre monobook.js de l'autre wiki :
document.write('<'+'script type="text/javascript" src="http://fr.wikipedia.org/w/index.php?title=Utilisateur:Bidule/monobook.js&action=raw&ctype=text/javascript&dontcountme=s" />');
Pour importer votre monobook.css, coller cette ligne dans le monobook.css de l'autre wiki :
@import "http://gwiki.fr/w/index.php?title=Utilisateur:Bidule/monobook.css&action=raw&ctype=text/css";
« Bidule » étant à remplacer par votre nom d'utilisateur de l'autre wiki. En n'oubliant pas, le cas échéant, de transformer les caractères accentués et en remplaçant les espaces de votre nom d'utilisateur par _ (souligné).
- Attention
- Les règles @import doivent précéder toutes autres règles dans la feuille de style.
Voir aussi
- Monobook généraux
- CSS : MediaWiki:Common.css (commun à toutes les apparences) - MediaWiki:Monobook.css (spécifique à l'apparence Monobook)
- JavaScript : MediaWiki:Common.js (commun à toutes les apparences) - MediaWiki:Monobook.js (spécifique à l'apparence Monobook)
Exemples de codes pour le monobook
CSS
Le fichier à modifier est monobook.css.
Classes
Les pages liste de suivi et modifications récentes utilisent deux classes : autocomment and new, liens cassés (voir le source HTML de ces pages). Cela permet de spécifier des polices et des couleurs séparées pour chaque classe.
La page historique utilise les classes : autocomment, user and minor (pour les modifications mineures du code).
Dès lors la police spécifiée pour user s'appliquera à la page historique mais pas à liste de suivi et modifications récentes.
Échantillons
/* pour mettre autre chose à la place du fond monobook */ body { background: Purple; } /* supprimer l'icône à côté du nom d'utilisateur */ li#pt-userpage { background: none } /* Rendre plus discret le lien "modifier" */ .editsection {font-size: 0.8em; color: gray} .editsection a {color: gray; margin: 0.5em} /* utiliser la configuration du navigateur comme préférences pour la taille du texte et la police */ body, #globalWrapper { font: inherit !important; } /* toujours souligner les liens */ a { text-decoration: underline; } /* interdire le soulignement des liens au survol de la souris */ a:hover {text-decoration: none;} /* changer la couleur des onglets non sélectionnés */ #p-cactions ul li a { background: #C7FDC7; } /* changer la couleur des onglets sélectionnés */ #p-cactions ul li.selected a { background: white; } /* changer la couleur de bordure des onglets sélectionnés */ #p-cactions li.selected { border-color: #aaaaaa; } /* styliser la boite de recherche et ses boutons */ input.searchButton { background-color: #efefef !important; border: 1px outset !important; } #searchInput { border: 1px inset !important; } /* désactiver les petits caractères de la balise <small> AJOUTÉS dans les pages */ small {font-size: 1em}
Arrondir les coins
Ceci ne fonctionne que pour les navigateurs utilisant Gecko (Mozilla / Mozilla Firefox).
/* Fenêtres arrondies (pour les navigateurs moz/firefox/gecko) */ .pBody { padding: 0.3em 0.3em; -moz-border-radius-topright: 0.5em; } .portlet h5 { -moz-border-radius-topright: 0.5em; } #p-cactions ul li, #p-cactions ul li a { -moz-border-radius-topright: 0.5em; -moz-border-radius-topleft: 0.5em; }
Numéroter automatiquement les titres et sous-titres des articles
Note : Fonction dispo dans "Préférences" / "préférences diverses" / "Afficher la numérotation des titres".
.ns-0 #toc { counter-reset: chapter -1; } .ns-0 H1 { counter-reset: chapter; } .ns-0 H2:before { content: counter(chapter) " · "; counter-increment: chapter; } .ns-0 H2 { counter-reset: section; } .ns-0 H3:before { content: counter(chapter) "." counter(section) " · "; counter-increment: section; } .ns-0 H3 { counter-reset: sousection; } .ns-0 H4:before { content: counter(chapter) "." counter(section) "." counter(sousection) " · "; counter-increment: sousection; }
Déplacer les liens de catégorie
Déplace les liens de catégorie dans le coin supérieur droit du cadre de contenu avec un fond gris
/******************************************************************/ /* moving catlinks to the right */ /******************************************************************/ /* déplace la boite du lien de catégorie */ #catlinks { position:absolute; z-index:1; /* border: 1px solid #aaaaaa; background: #fafaff; */ right:1em; top:-0.25em; width:10.5em; float:right; margin: 0.2em; padding:0.2em; } /* format le lien de catégorie lui-même */ p.catlinks { color: #aaaaaa; font-family: Verdana,sans-serif; font-size:67%; line-height: 1.5em; text-align:left; text-indent:0; text-transform: none; white-space:normal; margin: 0.2em; } /* format du lien */ p.catlinks a { color:#888888; }
Arrière-plan des pages spéciales
/* Classes à modifier, pour qui ne veut pas de couleur pour les pages spéciales... */ /* .ns-6, .ns-10 et .ns-14 actuellement non modifiées dans /wiki/MediaWiki:Monobook.css */ /* Articles puis pages de discussion des articles */ .ns-0 * #content, .ns-0 * #p-cactions li, .ns-0 * #p-cactions li a {background: #ffffff} .ns-1 * #content, .ns-1 * #p-cactions li, .ns-1 * #p-cactions li a {background: #ffffff} /* Pages Utilisateur, puis pages de discussion Utilisateur */ .ns-2 * #content, .ns-2 * #p-cactions li, .ns-2 * #p-cactions li a {background: #ffffff} .ns-3 * #content, .ns-3 * #p-cactions li, .ns-3 * #p-cactions li a {background: #ffffff} /* Pages Wikipédia, puis pages de discussion Wikipédia */ .ns-4 * #content, .ns-4 * #p-cactions li, .ns-4 * #p-cactions li a {background: #ffffff} .ns-5 * #content, .ns-5 * #p-cactions li, .ns-5 * #p-cactions li a {background: #ffffff} /* Pages Image, puis pages de discussion Image */ .ns-6 * #content, .ns-6 * #p-cactions li, .ns-6 * #p-cactions li a {background: #ffffff} .ns-7 * #content, .ns-7 * #p-cactions li, .ns-7 * #p-cactions li a {background: #ffffff} /* Pages GWiki, puis pages de discussion MediaWiki */ .ns-8 * #content, .ns-8 * #p-cactions li, .ns-8 * #p-cactions li a {background: #ffffff} .ns-9 * #content, .ns-9 * #p-cactions li, .ns-9 * #p-cactions li a {background: #ffffff} /* Pages Modèle, puis pages de discussion Modèle */ .ns-10 * #content, .ns-10 * #p-cactions li, .ns-10 * #p-cactions li a {background: #ffffff} .ns-11 * #content, .ns-11 * #p-cactions li, .ns-11 * #p-cactions li a {background: #ffffff} /* Pages Aide, puis pages de discussion Aide */ .ns-12 * #content, .ns-12 * #p-cactions li, .ns-12 * #p-cactions li a {background: #ffffff} .ns-13 * #content, .ns-13 * #p-cactions li, .ns-13 * #p-cactions li a {background: #ffffff} /* Pages Catégorie, puis pages de discussion Catégorie */ .ns-14 * #content, .ns-14 * #p-cactions li, .ns-14 * #p-cactions li a {background: #ffffff} .ns-15 * #content, .ns-15 * #p-cactions li, .ns-15 * #p-cactions li a {background: #ffffff}
Remplacer les boutons gris
Le code suivant permet de pouvoir configurer les boutons « Consulter », « Rechercher », « Sauvegarder » et « Prévisualisation » (afin de récupérer, par exemple, les boutons blancs à bord bleu apparus avec MediaWiki 1.4 et disparus quelques mois plus tard), mais aussi les boîtes de saisie « recherche » et « résumé de modification », moyennant divers réglages sur les classes ou identificateurs qui leurs correspondent.
/* hide this from ie/mac and konq2.2 */ @media All { head:first-child+body input { visibility: visible; border: 1px solid #2f6fab; color: #000000 ; background-color: white; vertical-align: middle; padding: 0.2em; } }
Indentations sur fond jaune des pages de discussion
Le code suivant permet de faire disparaître, sur les pages de discussion le fond jaune des discussions indentées, ainsi que les lignes de bordure qui les accompagnent.
/* pour désactiver fond jaune et bordure des discussions indentées dans les pages de discussion */ .ns-1 dl, .ns-3 dl, .ns-5 dl, .ns-7 dl, .ns-9 dl, .ns-11 dl, .ns-13 dl, .ns-15 dl { border: none} .ns-1 dl, .ns-3 dl, .ns-5 dl, .ns-7 dl, .ns-9 dl, .ns-11 dl, .ns-13 dl, .ns-15 dl { background-color: transparent } .ns-1 dl dl, .ns-3 dl dl, .ns-5 dl dl, .ns-7 dl dl, .ns-9 dl dl, .ns-11 dl dl, .ns-13 dl dl, .ns-15 dl dl { background-color: transparent } .ns-1 dl dl dl, .ns-3 dl dl dl, .ns-5 dl dl dl, .ns-7 dl dl dl, .ns-9 dl dl dl, .ns-11 dl dl dl, .ns-13 dl dl dl, .ns-15 dl dl dl { background-color: transparent } .ns-1 dl dl dl dl, .ns-3 dl dl dl dl, .ns-5 dl dl dl dl, .ns-7 dl dl dl dl, .ns-9 dl dl dl dl, .ns-11 dl dl dl dl, .ns-13 dl dl dl dl, .ns-15 dl dl dl dl { background-color: transparent } .ns-1 dl dl dl dl dl, .ns-3 dl dl dl dl dl, .ns-5 dl dl dl dl dl, .ns-7 dl dl dl dl dl, .ns-9 dl dl dl dl dl, .ns-11 dl dl dl dl dl, .ns-13 dl dl dl dl dl, .ns-15 dl dl dl dl dl { background-color: transparent } .ns-1 dl dl dl dl dl dl, .ns-3 dl dl dl dl dl dl, .ns-5 dl dl dl dl dl dl, .ns-7 dl dl dl dl dl dl, .ns-9 dl dl dl dl dl dl, .ns-11 dl dl dl dl dl dl, .ns-13 dl dl dl dl dl dl, .ns-15 dl dl dl dl dl dl { background-color: transparent } .ns-1 dl dl dl dl dl dl dl, .ns-3 dl dl dl dl dl dl dl, .ns-5 dl dl dl dl dl dl dl, .ns-7 dl dl dl dl dl dl dl, .ns-9 dl dl dl dl dl dl dl, .ns-11 dl dl dl dl dl dl dl, .ns-13 dl dl dl dl dl dl dl, .ns-15 dl dl dl dl dl dl dl { background-color: transparent } .ns-1 dl dl dl dl dl dl dl dl, .ns-3 dl dl dl dl dl dl dl dl, .ns-5 dl dl dl dl dl dl dl dl, .ns-7 dl dl dl dl dl dl dl dl, .ns-9 dl dl dl dl dl dl dl dl, .ns-11 dl dl dl dl dl dl dl dl, .ns-13 dl dl dl dl dl dl dl dl, .ns-15 dl dl dl dl dl dl dl dl { background-color: transparent } .ns-1 dl dl dl dl dl dl dl dl dl, .ns-3 dl dl dl dl dl dl dl dl dl, .ns-5 dl dl dl dl dl dl dl dl dl, .ns-7 dl dl dl dl dl dl dl dl dl, .ns-9 dl dl dl dl dl dl dl dl dl, .ns-11 dl dl dl dl dl dl dl dl dl, .ns-13 dl dl dl dl dl dl dl dl dl, .ns-15 dl dl dl dl dl dl dl dl dl { background-color: transparent } .ns-1 dl dl dl dl dl dl dl dl dl dl, .ns-3 dl dl dl dl dl dl dl dl dl dl, .ns-5 dl dl dl dl dl dl dl dl dl dl, .ns-7 dl dl dl dl dl dl dl dl dl dl, .ns-9 dl dl dl dl dl dl dl dl dl dl, .ns-11 dl dl dl dl dl dl dl dl dl dl, .ns-13 dl dl dl dl dl dl dl dl dl dl, .ns-15 dl dl dl dl dl dl dl dl dl dl { background-color: transparent } /* fin du listing de désactivation */
Centrer et changer la police des catégories
Code pour changer l'alignement (center ou right) et la police des catégories. Ici, l'alignenement est centré et la police est Arial.
p.catlinks { font-family:Arial; font-size:100 %; line-height: 1.5em; text-align:center; text-indent:0; text-transform: none; white-space:normal; margin: 0.2em; }
Modifier la police...
Remplacer Comic sans Ms par la police voulue.
...des titres des articles...
h1 { font-family: Comic Sans MS; }
...des boutons rechercher et consulter
input.searchButton { font-family: Comic Sans MS; } #searchInput { border: 1px inset !important; }
Pas de sommaire
#toc {display:none}
Javascript
Dans ce cas, la page à modifier est monobook.js.
Personnaliser les caractères spéciaux
function customSpecialChars() { var elmtP = document.getElementById("specialchars") if (elmtP == undefined) return // not editing mode if (elmtP.parentElement) elmtP = elmtP.parentElement.getElementsByTagName("P")[0] else if (elmtP.parentNode) elmtP = elmtP.parentNode.getElementsByTagName("P")[0] else return //pour ajouter au lieu de remplacer, inverser les commentaires : //var str = "" var str = "Caractères spéciaux: " // ajoutez vos liens ici ; Note pour débutants : accesskey = shortcut (ALT+accesskey) -- pensez que certaines touches de raccourcis sont déjà actives : e -> edit ; a -> article ; etc. str += "<a href=\"javascript:insertTags('Á','','')\" accesskey=\"1\" >Á</a> " str += "<a href=\"javascript:insertTags('á','','')\" accesskey=\"2\" >á</a> " //pour ajouter au lieu de remplacer, inverser les commentaires : //elmtP.innerHTML += str elmtP.innerHTML = str } addLoadEvent(customSpecialChars)
Copier/coller le code dans monobook.js puis modifier:
- nom de la page par l'adresse de la page souhaitée
- Titre du lien par le titre souhaité
function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } function nouveauLien() { var a = document.getElementById("p-personal"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li id="ca-nstab-user">' + '<a href="/wiki/nom de la page">' + 'Titre du lien</a></li>'; } } } addLoadEvent(nouveauLien);