MediaWiki:Monobook.js : Différence entre versions
Un article de JurisPedia, le droit partagé.
(4 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
− | /* <pre> */ | + | /* <pre> <nowiki> */ |
− | / | + | // From http://fr.wikipedia.org/wiki/MediaWiki:Monobook.js */ |
− | / | + | // under a GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html */ |
− | / | + | |
+ | |||
+ | //============================================================ | ||
+ | // | ||
+ | // Info-bulle et touches de raccourci | ||
+ | // | ||
+ | //============================================================ | ||
+ | |||
ta = new Object(); | ta = new Object(); | ||
− | ta['pt-userpage'] = new Array('.','Ma page utilisateur'); | + | ta['pt-userpage'] = new Array('.', 'Ma page utilisateur'); |
− | ta['pt-anonuserpage'] = new Array('.','La page utilisateur pour l\'adresse IP que vous utilisez'); | + | ta['pt-anonuserpage'] = new Array('.', 'La page utilisateur pour l\'adresse IP que vous utilisez'); |
− | ta['pt-mytalk'] = new Array('N','Ma page de discussion'); | + | ta['pt-mytalk'] = new Array('N', 'Ma page de discussion'); |
− | ta['pt-anontalk'] = new Array('N','La page de discussion pour cette adresse'); | + | ta['pt-anontalk'] = new Array('N', 'La page de discussion pour cette adresse'); |
− | ta['pt-preferences'] = new Array('','Mes préférences'); | + | ta['pt-preferences'] = new Array('', 'Mes préférences'); |
− | ta['pt-watchlist'] = new Array('L','La liste des pages que vous suivez'); | + | ta['pt-watchlist'] = new Array('L', 'La liste des pages que vous suivez'); |
− | ta['pt-mycontris'] = new Array('Y','La liste de mes contributions'); | + | ta['pt-mycontris'] = new Array('Y', 'La liste de mes contributions'); |
− | + | ta['ca-talk'] = new Array('T', 'Discussion pour cette page'); | |
− | + | ta['ca-edit'] = new Array('E', 'Vous pouvez modifier cette page. Merci de prévisualiser avant d\'enregistrer.'); | |
− | + | ta['ca-addsection'] = new Array('+', 'Ajouter un commentaire à cette discussion.'); | |
− | + | ta['ca-viewsource'] = new Array('E', 'Cette page est protégée. Vous pouvez toutefois en voir le contenu.'); | |
− | + | ta['ca-history'] = new Array('H', 'Les auteurs et versions précédentes de cette page.'); | |
− | ta['ca-talk'] = new Array('T','Discussion pour cette page'); | + | ta['ca-protect'] = new Array('=', 'Pour protéger cette page.'); |
− | ta['ca-edit'] = new Array('E','Vous pouvez modifier cette page. Merci de prévisualiser avant d\'enregistrer.'); | + | ta['ca-delete'] = new Array('D', 'Pour supprimer cette page.'); |
− | ta['ca-addsection'] = new Array('+','Ajouter un commentaire à cette discussion.'); | + | ta['ca-undelete'] = new Array('D', 'Pour restaurer cette page.'); |
− | ta['ca-viewsource'] = new Array('E','Cette page est protégée. Vous pouvez toutefois en voir le contenu.'); | + | ta['ca-move'] = new Array('M', 'Pour déplacer ou renommer cette page.'); |
− | ta['ca-history'] = new Array('H','Les versions précédentes de cette page.'); | + | ta['ca-nomove'] = new Array('', 'Vous n\'avez pas la permission de déplacer cette page.'); |
− | ta['ca-protect'] = new Array('=','Pour protéger cette page.'); | + | ta['ca-watch'] = new Array('W', 'Ajoutez cette page à votre liste de suivi.'); |
− | ta['ca-delete'] = new Array('D','Pour supprimer cette page.'); | + | ta['ca-unwatch'] = new Array('W', 'Retirez cette page de votre liste de suivi.'); |
− | ta['ca-undelete'] = new Array('D','Pour restaurer cette page.'); | + | ta['search'] = new Array('F', 'Pour effectuer une recherche.'); |
− | ta['ca-move'] = new Array('M','Pour déplacer ou renommer cette page.'); | + | ta['p-logo'] = new Array('', 'Page principale.'); |
− | ta['ca-nomove'] = new Array('','Vous n\'avez pas la permission de déplacer cette page.'); | + | ta['n-mainpage'] = new Array('Z', 'Pour afficher la page principale.'); |
− | ta['ca-watch'] = new Array('W','Ajoutez cette page à votre liste de suivi.'); | + | ta['n-portal'] = new Array('', 'À propos du projet.'); |
− | ta['ca-unwatch'] = new Array('W','Retirez cette page de votre liste de suivi.'); | + | ta['n-currentevents'] = new Array('', 'Trouvez des informations sur les événements récents.'); |
− | ta['search'] = new Array('F','Pour effectuer une recherche.'); | + | ta['n-recentchanges'] = new Array('R', 'La liste des modifications récentes.'); |
− | ta['p-logo'] = new Array('','Page principale.'); | + | ta['n-randompage'] = new Array('X', 'Afficher une page au hasard.'); |
− | ta['n-mainpage'] = new Array('Z','Pour afficher la page principale.'); | + | ta['n-help'] = new Array('', 'Aide.'); |
− | ta['n-portal'] = new Array('','À propos du projet.'); | + | ta['n-sitesupport'] = new Array('', 'Pour soutenir le projet.'); |
− | ta['n-currentevents'] = new Array('','Trouvez des informations sur les événements récents.'); | + | ta['t-whatlinkshere'] = new Array('J', 'Liste des pages liées à celle-ci.'); |
− | ta['n-recentchanges'] = new Array('R','La liste des modifications récentes.'); | + | ta['t-recentchangeslinked'] = new Array('K', 'Liste des modifications récentes des pages liées à celle-ci.'); |
− | ta['n-randompage'] = new Array('X','Afficher une page au hasard.'); | + | ta['feed-rss'] = new Array('', 'Alimenter le flux RSS pour cette page.'); |
− | ta['n-help'] = new Array('','Aide.'); | + | ta['feed-atom'] = new Array('', 'Alimenter le flux Atom pour cette page.'); |
− | ta['n-sitesupport'] = new Array('',' | + | ta['t-contributions'] = new Array('', 'Voir la liste des contributions de cet utilisateur.'); |
− | ta['t-whatlinkshere'] = new Array('J','Liste des pages liées à celle-ci.'); | + | ta['t-emailuser'] = new Array('', 'Envoyer un courriel à cet utilisateur.'); |
− | ta['t-recentchangeslinked'] = new Array('K','Liste des modifications récentes des pages liées à celle-ci.'); | + | ta['t-upload'] = new Array('U', 'Importer une image ou fichier média sur le serveur.'); |
− | ta['feed-rss'] = new Array('','Alimenter le flux RSS pour cette page.'); | + | ta['t-specialpages'] = new Array('Q', 'Liste des pages spéciales.'); |
− | ta['feed-atom'] = new Array('','Alimenter le flux Atom pour cette page.'); | + | ta['ca-nstab-main'] = new Array('C', 'Afficher le contenu de cette page.'); |
− | ta['t-contributions'] = new Array('','Voir la liste des contributions de cet utilisateur.'); | + | ta['ca-nstab-user'] = new Array('C', 'Afficher la page utilisateur.'); |
− | ta['t-emailuser'] = new Array('','Envoyer un courriel à cet utilisateur.'); | + | ta['ca-nstab-media'] = new Array('C', 'Afficher la page média.'); |
− | ta['t-upload'] = new Array('U','Importer une image ou fichier média sur le serveur.'); | + | ta['ca-nstab-special'] = new Array('', 'Ceci est une page spéciale, vous ne pouvez pas la modifier.'); |
− | ta['t-specialpages'] = new Array('Q','Liste des pages spéciales.'); | + | ta['ca-nstab-wp'] = new Array('A', 'Afficher la page du projet.'); |
− | ta['ca-nstab-main'] = new Array('C','Afficher le contenu de cette page.'); | + | ta['ca-nstab-image'] = new Array('C', 'Afficher la page de description de l\'image.'); |
− | ta['ca-nstab-user'] = new Array('C','Afficher la page utilisateur.'); | + | ta['ca-nstab-mediawiki'] = new Array('C', 'Afficher le message système.'); |
− | ta['ca-nstab-media'] = new Array('C','Afficher la page média.'); | + | ta['ca-nstab-template'] = new Array('C', 'Afficher le modèle.'); |
− | ta['ca-nstab-special'] = new Array('','Ceci est une page spéciale, vous ne pouvez pas la modifier.'); | + | ta['ca-nstab-help'] = new Array('C', 'Afficher la page d\'aide.'); |
− | ta['ca-nstab-wp'] = new Array('A','Afficher la page du projet.'); | + | ta['ca-nstab-category'] = new Array('C', 'Afficher la page de catégorie.'); |
− | ta['ca-nstab-image'] = new Array('C','Afficher la page de description de l\'image.'); | + | |
− | ta['ca-nstab-mediawiki'] = new Array('C','Afficher le message système.'); | + | |
− | ta['ca-nstab-template'] = new Array('C','Afficher le modèle.'); | + | |
− | ta['ca-nstab-help'] = new Array('C','Afficher la page d\'aide.'); | + | |
− | ta['ca-nstab-category'] = new Array('C','Afficher la page de catégorie.'); | + | |
− | + | //============================================================ | |
− | + | // | |
− | + | // Fonctions de gestion | |
− | + | // | |
− | + | //============================================================ | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | /** | |
− | + | * Installation d'une nouvelle fonction de cette façon: | |
+ | * aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses) | ||
+ | */ | ||
+ | if (!window.aOnloadFunctions) { | ||
+ | var aOnloadFunctions = new Array(); | ||
+ | } | ||
− | + | window.onload = function() | |
− | + | { | |
− | + | if (window.aOnloadFunctions) { | |
− | + | for (var _i=0; _i<aOnloadFunctions.length; _i++) { | |
− | + | aOnloadFunctions[_i](); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
} | } | ||
+ | } | ||
+ | } | ||
− | |||
− | if (window.addEventListener) window.addEventListener("load", | + | /** |
− | + | * Ajouter une nouvelle fonction a excuter au chargement de la page. | |
+ | */ | ||
+ | function addLoadEvent(func) | ||
+ | { | ||
+ | if (window.addEventListener) | ||
+ | window.addEventListener("load", func, false); | ||
+ | else if (window.attachEvent) | ||
+ | window.attachEvent("onload", func); | ||
+ | } | ||
− | + | //============================================================ | |
− | + | // | |
+ | // Caractères spéciaux | ||
+ | // | ||
+ | //============================================================ | ||
− | var | + | /** |
+ | * Ajoutez le menu pour choisir des sous-ensembles de caractères spéciaux | ||
+ | * @note L'ordre de cette liste doit correspondre a celui de MediaWiki:Edittools ! | ||
+ | */ | ||
+ | function addCharSubsetMenu() { | ||
+ | var specialchars = document.getElementById('specialchars'); | ||
− | function | + | if (specialchars) { |
+ | var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; | ||
+ | menu += "<option>Wiki</option>"; | ||
+ | menu += "<option>Mathématiques</option>"; | ||
+ | menu += "<option>API</option>"; | ||
+ | menu += "<option>Latin/Romain</option>"; | ||
+ | menu += "<option>Grec</option>"; | ||
+ | menu += "<option>Cyrillique</option>"; | ||
+ | menu += "<option>AHD</option>"; | ||
+ | menu += "<option>Allemand</option>"; | ||
+ | menu += "<option>Arabe</option>"; | ||
+ | menu += "<option>Catalan</option>"; | ||
+ | menu += "<option>Croate</option>"; | ||
+ | menu += "<option>Espagnol</option>"; | ||
+ | menu += "<option>Espéranto</option>"; | ||
+ | menu += "<option>Estonien</option>"; | ||
+ | menu += "<option>Gallois</option>"; | ||
+ | menu += "<option>Hawaien</option>"; | ||
+ | menu += "<option>Hébreu</option>"; | ||
+ | menu += "<option>Hiéroglyphe</option>"; | ||
+ | menu += "<option>Hollandais</option>"; | ||
+ | menu += "<option>Hongrois</option>"; | ||
+ | menu += "<option>Indo-européen</option>"; | ||
+ | menu += "<option>Irlandais</option>"; | ||
+ | menu += "<option>Islandais</option>"; | ||
+ | menu += "<option>Italien</option>"; | ||
+ | menu += "<option>Letton</option>"; | ||
+ | menu += "<option>Lituanien</option>"; | ||
+ | menu += "<option>Maltais</option>"; | ||
+ | menu += "<option>Navajo & Apache</option>"; | ||
+ | menu += "<option>Pinyin</option>"; | ||
+ | menu += "<option>Polonais</option>"; | ||
+ | menu += "<option>Portugais</option>"; | ||
+ | menu += "<option>Rōmaji</option>"; | ||
+ | menu += "<option>Roumain</option>"; | ||
+ | menu += "<option>Scandinave</option>"; | ||
+ | menu += "<option>Serbe</option>"; | ||
+ | menu += "<option>Tchèque</option>"; | ||
+ | menu += "<option>Turc</option>"; | ||
+ | menu += "<option>Vieil anglais</option>"; | ||
+ | menu += "<option>Vietnamien</option>"; | ||
+ | menu += "<option>Yiddish</option>"; | ||
+ | menu += "</select>"; | ||
+ | specialchars.innerHTML = menu + specialchars.innerHTML; | ||
+ | |||
+ | /* default subset - try to use a cookie some day */ | ||
+ | chooseCharSubset(0); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | /* select subsection of special characters */ | ||
+ | function chooseCharSubset(s) { | ||
+ | var l = document.getElementById('specialchars').getElementsByTagName('p'); | ||
+ | for (var i = 0; i < l.length ; i++) { | ||
+ | l[i].style.display = i == s ? 'inline' : 'none'; | ||
+ | l[i].style.visibility = i == s ? 'visible' : 'hidden'; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | addLoadEvent(addCharSubsetMenu); | ||
+ | |||
+ | |||
+ | //============================================================ | ||
+ | // | ||
+ | // Choix de l'affichage des références | ||
+ | // | ||
+ | //============================================================ | ||
+ | |||
+ | /** | ||
+ | * Choix du mode d'affichage des références. | ||
+ | * @note L'ordre de cette liste doit correspondre a celui de Modèle:Édition ! | ||
+ | */ | ||
+ | function addBibSubsetMenu() | ||
{ | { | ||
− | + | var specialBib = document.getElementById('specialBib'); | |
− | + | ||
− | if ( | + | if (specialBib) |
− | + | { | |
+ | specialBib.style.display = 'block'; | ||
+ | var menu = "<select style=\"display:inline;\" onChange=\"chooseBibSubset(selectedIndex)\">"; | ||
+ | menu += "<option>Liste</option>"; | ||
+ | menu += "<option>WikiNorme</option>"; | ||
+ | menu += "<option>BibTeX</option>"; | ||
+ | menu += "<option>ISBD</option>"; | ||
+ | menu += "<option>ISO690</option>"; | ||
+ | menu += "</select>"; | ||
+ | specialBib.innerHTML = specialBib.innerHTML + menu; | ||
+ | } | ||
+ | /* default subset - try to use a cookie some day */ | ||
+ | chooseBibSubset(0); | ||
+ | } | ||
+ | |||
+ | /* select subsection of special characters */ | ||
+ | function chooseBibSubset(s) | ||
+ | { | ||
+ | var l = document.getElementsByTagName('div'); | ||
+ | for (var i = 0; i < l.length ; i++) | ||
+ | { | ||
+ | if(l[i].className == 'BibList') l[i].style.display = s == 0 ? 'block' : 'none'; | ||
+ | else if(l[i].className == 'WikiNorme') l[i].style.display = s == 1 ? 'block' : 'none'; | ||
+ | else if(l[i].className == 'BibTeX') l[i].style.display = s == 2 ? 'block' : 'none'; | ||
+ | else if(l[i].className == 'ISBD') l[i].style.display = s == 3 ? 'block' : 'none'; | ||
+ | else if(l[i].className == 'ISO690') l[i].style.display = s == 4 ? 'block' : 'none'; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | addLoadEvent(addBibSubsetMenu); | ||
+ | |||
+ | |||
+ | |||
+ | //============================================================ | ||
+ | // | ||
+ | // Prévisualisation rapide | ||
+ | // | ||
+ | //============================================================ | ||
+ | |||
+ | /** | ||
+ | * Script de ajoutant une option de prévisualisation rapide. | ||
+ | * | ||
+ | * | ||
+ | * English: Add a Quick View option on the Edit pages. | ||
+ | * This script add 2 new buttons into the "editButtons" div. | ||
+ | * When QuickPrev button is press, the content of edit window | ||
+ | * is retreived and parsed using regular expressions. | ||
+ | * | ||
+ | * @author: fr:user:aoineko | ||
+ | * @version: 0.2 | ||
+ | */ | ||
+ | function addQuickPreview() | ||
+ | { | ||
+ | var QuickPreviewBtnTitle = "Prévisualisation rapide de vos modifications [Alt + Q]"; | ||
+ | var QuickPreviewBtnValue = "Prévisualisation rapide"; | ||
+ | var QuickPrevHideBtnTitle = "Cacher la prévisualisation rapide [Alt + H]"; | ||
+ | var QuickPrevHideBtnValue = "Cacher"; | ||
+ | |||
+ | var div = document.getElementsByTagName('div'); | ||
+ | for(var i = 0; i < div.length ; i++) | ||
+ | { | ||
+ | if(div[i].className == "editButtons") // search "editButtons" div | ||
+ | { | ||
+ | div[i].appendChild(document.createElement("br")); // add a <br/> | ||
+ | |||
+ | var wpQuick = document.createElement("input"); // create and set the "QuickPrev" button | ||
+ | wpQuick.setAttribute("id", "wpQuick"); | ||
+ | wpQuick.setAttribute("name", "wpQuick"); | ||
+ | wpQuick.setAttribute("title", QuickPreviewBtnTitle); | ||
+ | wpQuick.setAttribute("value", QuickPreviewBtnValue); | ||
+ | wpQuick.setAttribute("type", "button"); | ||
+ | wpQuick.setAttribute("onclick", "doQuickPreview();"); | ||
+ | wpQuick.setAttribute("tabindex", "8"); | ||
+ | wpQuick.setAttribute("accesskey", "Q"); | ||
+ | div[i].appendChild(wpQuick); | ||
+ | |||
+ | var wpHide = document.createElement("input"); // create and set the "Hide" button | ||
+ | wpHide.setAttribute("id", "wpHide"); | ||
+ | wpHide.setAttribute("name", "wpHide"); | ||
+ | wpHide.setAttribute("title", QuickPrevHideBtnTitle); | ||
+ | wpHide.setAttribute("value", QuickPrevHideBtnValue); | ||
+ | wpHide.setAttribute("type", "button"); | ||
+ | wpHide.setAttribute("onclick", "hideQuickPreview();"); | ||
+ | wpHide.setAttribute("tabindex", "9"); | ||
+ | wpHide.setAttribute("accesskey", "H"); | ||
+ | div[i].appendChild(wpHide); | ||
} | } | ||
+ | } | ||
+ | } | ||
− | + | /// Retreive current code and parse it | |
− | + | function doQuickPreview() | |
− | + | { | |
− | + | var wpQuickPreview = document.getElementById("wpQuickPreview"); | |
− | + | if(!wpQuickPreview) | |
− | + | { | |
− | + | /*var l = document.getElementsByTagName('div'); | |
− | + | for(var i = 0; i < l.length ; i++) | |
− | + | if(l[i].className == "previewnote") | |
− | + | wpQuickPreview = l; | |
− | + | ||
− | + | if(!wpQuickPreview)*/ | |
− | + | { | |
− | + | wpQuickPreview = document.createElement("div"); | |
− | + | wpQuickPreview.setAttribute("style", "border:solid 1px gray; width:100%; margin-top:1em; margin-bottom:1em; padding:0.5em;"); | |
− | + | var wpSummaryLabel = document.getElementById("wpSummaryLabel"); | |
− | + | wpSummaryLabel.parentNode.insertBefore(wpQuickPreview, wpSummaryLabel); | |
+ | } | ||
+ | wpQuickPreview.setAttribute("id", "wpQuickPreview"); | ||
+ | } | ||
+ | wpQuickPreview.style.display = "block"; | ||
− | + | wpTextbox1 = document.getElementById("wpTextbox1"); | |
− | + | var str = "=Prévisualisation rapide=\n" + wpTextbox1.value; | |
− | + | var qp = new QuickPreview(str); | |
− | + | wpQuickPreview.innerHTML = qp.Parse(); | |
− | + | } | |
− | + | ||
− | + | function QuickPreview(wiki) | |
− | + | { | |
− | + | this.line = wiki.split(/\n/); | |
− | + | this.html = new String; | |
− | + | ||
− | + | this.list = 0; // current list depth | |
− | + | this.tab = 0; // current tabulation depth | |
− | + | this.pre = false; /// inside a <pre> tag | |
− | + | this.para = false; /// inside a paragraph | |
− | + | ||
+ | this.HandlePre = function(i) | ||
+ | { | ||
+ | if(this.line[i][0] == ' ') | ||
+ | { | ||
+ | if(this.para) | ||
+ | { | ||
+ | this.para = false; | ||
+ | this.html += "</p>\n"; | ||
} | } | ||
+ | if(!this.pre) | ||
+ | { | ||
+ | this.pre = true; | ||
+ | this.html += "<pre>\n"; | ||
+ | } | ||
+ | this.html += this.line[i] + "\n"; | ||
+ | return true; | ||
+ | } | ||
+ | else if(this.pre) | ||
+ | { | ||
+ | this.pre = false; | ||
+ | this.html += "</pre>\n"; | ||
+ | } | ||
+ | return false; | ||
+ | }; | ||
+ | |||
+ | this.HandleH = function(i) | ||
+ | { | ||
+ | if(res = this.line[i].match(/^(={1,6})(.*)\1(.*)$/)) | ||
+ | { | ||
+ | this.line[i] = "<h" + res[1].length + ">" + res[2] + "</h" + res[1].length + ">" + res[3]; | ||
+ | return true; | ||
} | } | ||
+ | return false; | ||
+ | }; | ||
+ | |||
+ | this.Parse = function() | ||
+ | { | ||
+ | this.html = ""; | ||
+ | |||
+ | for(var i = 0; i < this.line.length ; i++) | ||
+ | { | ||
+ | var p = true; | ||
+ | |||
+ | if(this.HandlePre(i)) | ||
+ | continue; | ||
+ | |||
+ | if(this.HandleH(i)) | ||
+ | p = false; | ||
+ | |||
+ | if(p && !this.para) | ||
+ | { | ||
+ | this.para = true; | ||
+ | this.html += "<p>"; | ||
+ | } | ||
+ | |||
+ | this.html += this.line[i] | ||
+ | |||
+ | // Sign // | ||
+ | .replace(/~{5}/g, Date()) | ||
+ | .replace(/~{4}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px yellow;'>Signature</span> "+Date()) | ||
+ | .replace(/~{3}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px yellow;'>Signature</span>") | ||
+ | |||
+ | // Style // | ||
+ | .replace(/'''''(.*?)''(.*?)'''/g, "<strong><em>$1</em>$2</strong>") | ||
+ | .replace(/'''''(.*?)'''(.*?)''/g, "<em><strong>$1</strong>$2</em>") | ||
+ | .replace(/'''(.*?)''(.*?)'''''/g, "<strong>$1<em>$2</em></strong>") | ||
+ | .replace(/'''''(.*?)''''/g, "<strong><em>\'$1</em></strong>") | ||
+ | .replace(/''''(.*?)''''/g, "<strong><em>$1</em></strong>") | ||
+ | .replace(/''''(.*?)'''/g, "<strong>\'$1</strong>") | ||
+ | .replace(/'''(.*?)'''/g, "<strong>$1</strong>") | ||
+ | .replace(/'''(.*?)''/g, "<em>\'$1</em>") | ||
+ | .replace(/''(.*?)''/g, "<em>$1</em>") | ||
+ | |||
+ | // List // | ||
+ | .replace(/^\*(.*)/g, "<li>$1</li>") | ||
+ | .replace(/^#(.*)/g, "<li>$1</li>") | ||
+ | .replace(/^:(.*)/g, "<li>$1</li>") | ||
+ | |||
+ | // Link // | ||
+ | .replace(/\{\{([^\|]*).*}}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px lightgreen;'>Modèle : $1</span>") | ||
+ | .replace(/\[\[[Ii]mage:([^\|]*)[^\[]*\]\]/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px lightblue;'>Image : $1</span>") | ||
+ | .replace(/\[\[[Cc]atégorie:([^\|]*)[^\[]*\]\]/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px #FF8080;'><a href='/wiki/Catégorie:$1' title='$1'>Catégorie : $1</a></span>") | ||
+ | .replace(/\[\[([^\[.]*)\|([^\[.]*)\]\]/g, "<a href='/wiki/$1' title='$1'>$2</a>") | ||
+ | .replace(/\[\[([^\[.]*)\]\]/g, "<a href='/wiki/$1' title='$1'>$1</a>") | ||
+ | /* | ||
+ | // Special // | ||
+ | .replace(/\n\n/g, "\n\n<br/>") | ||
+ | .replace(/(^|\n)-{4}(?!~)/g, "<hr/>") | ||
+ | |||
+ | // Table // | ||
+ | .replace(/(^|\n)\{\|(.*)/g, "$1<table $2>") | ||
+ | .replace(/(^|\n)\|}/g, "$1</table>") | ||
+ | .replace(/(^|\n)(\|.*)\|\|/g, "$1$2</td><td>") | ||
+ | .replace(/(^|\n)\|[^-}](.*)/g, "$1</td>$2<td>") | ||
+ | .replace(/(^|\n)(!.*)!!/g, "$1$2</th><th>") | ||
+ | .replace(/(^|\n)![^-](.*)/g, "$1</th>$2<th>") | ||
+ | */ | ||
+ | ; | ||
+ | this.html += "\n"; | ||
+ | } | ||
+ | |||
+ | return this.html; | ||
+ | }; | ||
+ | }; | ||
+ | |||
+ | /// Hide | ||
+ | function hideQuickPreview() | ||
+ | { | ||
+ | var wpQuickPreview = document.getElementById("wpQuickPreview"); | ||
+ | if(wpQuickPreview) | ||
+ | { | ||
+ | wpQuickPreview.style.display = 'none'; | ||
+ | } | ||
} | } | ||
− | function | + | addLoadEvent(addQuickPreview); |
+ | |||
+ | //============================================================ | ||
+ | // | ||
+ | // Barre d'outil | ||
+ | // | ||
+ | //============================================================ | ||
+ | |||
+ | //============================================================ | ||
+ | // Générateur de tableaux | ||
+ | //============================================================ | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * English: Generate an array using Mediawiki syntax | ||
+ | * | ||
+ | * @author: fr:user:dake | ||
+ | * @version: 0.1 | ||
+ | */ | ||
+ | |||
+ | function generateTableau(nbCol, nbRow, border, styleHeader, styleLine) | ||
{ | { | ||
− | + | var code = "\n"; | |
− | + | if (styleHeader==1) { | |
− | + | code += '{{entête tableau charte}}\n'; | |
− | + | } else { | |
− | + | code += '{| border="' + border + '"\n'; | |
− | + | code += '|+ Titre du tableau\n'; | |
− | + | } | |
− | + | ||
− | + | for (var i=0;i<nbCol;i++) code += '! en-tête ' + i + '\n' | |
− | + | ||
− | + | for (var j=0;j<nbRow;j++) { | |
− | + | if ((j+1)%2==0 && styleLine==1) { | |
− | + | code += '|-{'+'{ligne grise}'+'}\n' | |
− | + | } else { | |
− | + | code += '|-----\n' | |
− | + | } | |
+ | |||
+ | for (var i=0;i<nbCol;i++) code += '| élément\n'; | ||
+ | } | ||
+ | |||
+ | code += '|}'; | ||
+ | insertTags('','', code); | ||
} | } | ||
− | + | /** | |
− | + | * | |
+ | * English: Open a popup with parameters to generate an array. | ||
+ | * The number of rows/columns can be modified. Some additional | ||
+ | * parameters are related to templates available on :fr | ||
+ | * | ||
+ | * @author: fr:user:dake | ||
+ | * @version: 0.1 | ||
+ | */ | ||
+ | |||
+ | function popupTableau() | ||
+ | { | ||
+ | var popup = window.open('','name','height=400,width=500'); | ||
+ | |||
+ | javaCode = '<script type="text\/javascript">function insertCode(){'; | ||
+ | javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ' | ||
+ | javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ' | ||
+ | javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ' | ||
+ | |||
+ | javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ' | ||
+ | javaCode += 'var styleLine = document.paramForm.inputLine.checked; ' | ||
+ | javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ' | ||
+ | javaCode += '}<\/script>'; | ||
+ | |||
+ | popup.document.write('<html><head><title>Paramètres du tableau</title>'); | ||
+ | popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>'); | ||
+ | popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>'); | ||
+ | popup.document.write(javaCode); | ||
+ | popup.document.write('</head><body>'); | ||
+ | popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>'); | ||
+ | popup.document.write('<form name="paramForm">'); | ||
+ | popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>'); | ||
+ | popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>'); | ||
+ | popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>'); | ||
+ | popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>'); | ||
+ | popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>'); | ||
+ | popup.document.write('</form">'); | ||
+ | popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>'); | ||
+ | popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>'); | ||
+ | popup.document.write('</body></html>'); | ||
+ | popup.document.close(); | ||
+ | } | ||
− | |||
− | |||
/* | /* | ||
− | </pre> | + | * VraiTitre : Ajout du titre réel d'un article pour lequel MediaWiki n'affiche pas correctement |
− | */ | + | */ |
+ | |||
+ | function VraiTitre() | ||
+ | { | ||
+ | var balise = document.getElementById("vrai_titre"); | ||
+ | if (!balise) return; | ||
+ | vrai_titre = balise.childNodes[0].nodeValue; | ||
+ | var titre = document.getElementsByTagName("H1")[0]; | ||
+ | rectificatif = titre.appendChild(document.createElement("span")); | ||
+ | rectificatif.setAttribute ("style","color:#AAAAAA; font-size:0.7em; font-style:italic; display:inline;"); | ||
+ | rectificatif.appendChild(document.createTextNode(" ("+ vrai_titre +")")); | ||
+ | } | ||
+ | addLoadEvent(VraiTitre); | ||
+ | |||
+ | |||
+ | |||
+ | /* </nowiki> </pre> */ |
Version actuelle en date du 15 avril 2006 à 14:25
/* <pre> <nowiki> */ // From http://fr.wikipedia.org/wiki/MediaWiki:Monobook.js */ // under a GNU Free Documentation License http://www.gnu.org/copyleft/fdl.html */ //============================================================ // // Info-bulle et touches de raccourci // //============================================================ ta = new Object(); ta['pt-userpage'] = new Array('.', 'Ma page utilisateur'); ta['pt-anonuserpage'] = new Array('.', 'La page utilisateur pour l\'adresse IP que vous utilisez'); ta['pt-mytalk'] = new Array('N', 'Ma page de discussion'); ta['pt-anontalk'] = new Array('N', 'La page de discussion pour cette adresse'); ta['pt-preferences'] = new Array('', 'Mes préférences'); ta['pt-watchlist'] = new Array('L', 'La liste des pages que vous suivez'); ta['pt-mycontris'] = new Array('Y', 'La liste de mes contributions'); ta['ca-talk'] = new Array('T', 'Discussion pour cette page'); ta['ca-edit'] = new Array('E', 'Vous pouvez modifier cette page. Merci de prévisualiser avant d\'enregistrer.'); ta['ca-addsection'] = new Array('+', 'Ajouter un commentaire à cette discussion.'); ta['ca-viewsource'] = new Array('E', 'Cette page est protégée. Vous pouvez toutefois en voir le contenu.'); ta['ca-history'] = new Array('H', 'Les auteurs et versions précédentes de cette page.'); ta['ca-protect'] = new Array('=', 'Pour protéger cette page.'); ta['ca-delete'] = new Array('D', 'Pour supprimer cette page.'); ta['ca-undelete'] = new Array('D', 'Pour restaurer cette page.'); ta['ca-move'] = new Array('M', 'Pour déplacer ou renommer cette page.'); ta['ca-nomove'] = new Array('', 'Vous n\'avez pas la permission de déplacer cette page.'); ta['ca-watch'] = new Array('W', 'Ajoutez cette page à votre liste de suivi.'); ta['ca-unwatch'] = new Array('W', 'Retirez cette page de votre liste de suivi.'); ta['search'] = new Array('F', 'Pour effectuer une recherche.'); ta['p-logo'] = new Array('', 'Page principale.'); ta['n-mainpage'] = new Array('Z', 'Pour afficher la page principale.'); ta['n-portal'] = new Array('', 'À propos du projet.'); ta['n-currentevents'] = new Array('', 'Trouvez des informations sur les événements récents.'); ta['n-recentchanges'] = new Array('R', 'La liste des modifications récentes.'); ta['n-randompage'] = new Array('X', 'Afficher une page au hasard.'); ta['n-help'] = new Array('', 'Aide.'); ta['n-sitesupport'] = new Array('', 'Pour soutenir le projet.'); ta['t-whatlinkshere'] = new Array('J', 'Liste des pages liées à celle-ci.'); ta['t-recentchangeslinked'] = new Array('K', 'Liste des modifications récentes des pages liées à celle-ci.'); ta['feed-rss'] = new Array('', 'Alimenter le flux RSS pour cette page.'); ta['feed-atom'] = new Array('', 'Alimenter le flux Atom pour cette page.'); ta['t-contributions'] = new Array('', 'Voir la liste des contributions de cet utilisateur.'); ta['t-emailuser'] = new Array('', 'Envoyer un courriel à cet utilisateur.'); ta['t-upload'] = new Array('U', 'Importer une image ou fichier média sur le serveur.'); ta['t-specialpages'] = new Array('Q', 'Liste des pages spéciales.'); ta['ca-nstab-main'] = new Array('C', 'Afficher le contenu de cette page.'); ta['ca-nstab-user'] = new Array('C', 'Afficher la page utilisateur.'); ta['ca-nstab-media'] = new Array('C', 'Afficher la page média.'); ta['ca-nstab-special'] = new Array('', 'Ceci est une page spéciale, vous ne pouvez pas la modifier.'); ta['ca-nstab-wp'] = new Array('A', 'Afficher la page du projet.'); ta['ca-nstab-image'] = new Array('C', 'Afficher la page de description de l\'image.'); ta['ca-nstab-mediawiki'] = new Array('C', 'Afficher le message système.'); ta['ca-nstab-template'] = new Array('C', 'Afficher le modèle.'); ta['ca-nstab-help'] = new Array('C', 'Afficher la page d\'aide.'); ta['ca-nstab-category'] = new Array('C', 'Afficher la page de catégorie.'); //============================================================ // // Fonctions de gestion // //============================================================ /** * Installation d'une nouvelle fonction de cette façon: * aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses) */ if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } /** * Ajouter une nouvelle fonction a excuter au chargement de la page. */ function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } //============================================================ // // Caractères spéciaux // //============================================================ /** * Ajoutez le menu pour choisir des sous-ensembles de caractères spéciaux * @note L'ordre de cette liste doit correspondre a celui de MediaWiki:Edittools ! */ function addCharSubsetMenu() { var specialchars = document.getElementById('specialchars'); if (specialchars) { var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; menu += "<option>Wiki</option>"; menu += "<option>Mathématiques</option>"; menu += "<option>API</option>"; menu += "<option>Latin/Romain</option>"; menu += "<option>Grec</option>"; menu += "<option>Cyrillique</option>"; menu += "<option>AHD</option>"; menu += "<option>Allemand</option>"; menu += "<option>Arabe</option>"; menu += "<option>Catalan</option>"; menu += "<option>Croate</option>"; menu += "<option>Espagnol</option>"; menu += "<option>Espéranto</option>"; menu += "<option>Estonien</option>"; menu += "<option>Gallois</option>"; menu += "<option>Hawaien</option>"; menu += "<option>Hébreu</option>"; menu += "<option>Hiéroglyphe</option>"; menu += "<option>Hollandais</option>"; menu += "<option>Hongrois</option>"; menu += "<option>Indo-européen</option>"; menu += "<option>Irlandais</option>"; menu += "<option>Islandais</option>"; menu += "<option>Italien</option>"; menu += "<option>Letton</option>"; menu += "<option>Lituanien</option>"; menu += "<option>Maltais</option>"; menu += "<option>Navajo & Apache</option>"; menu += "<option>Pinyin</option>"; menu += "<option>Polonais</option>"; menu += "<option>Portugais</option>"; menu += "<option>Rōmaji</option>"; menu += "<option>Roumain</option>"; menu += "<option>Scandinave</option>"; menu += "<option>Serbe</option>"; menu += "<option>Tchèque</option>"; menu += "<option>Turc</option>"; menu += "<option>Vieil anglais</option>"; menu += "<option>Vietnamien</option>"; menu += "<option>Yiddish</option>"; menu += "</select>"; specialchars.innerHTML = menu + specialchars.innerHTML; /* default subset - try to use a cookie some day */ chooseCharSubset(0); } } /* select subsection of special characters */ function chooseCharSubset(s) { var l = document.getElementById('specialchars').getElementsByTagName('p'); for (var i = 0; i < l.length ; i++) { l[i].style.display = i == s ? 'inline' : 'none'; l[i].style.visibility = i == s ? 'visible' : 'hidden'; } } addLoadEvent(addCharSubsetMenu); //============================================================ // // Choix de l'affichage des références // //============================================================ /** * Choix du mode d'affichage des références. * @note L'ordre de cette liste doit correspondre a celui de Modèle:Édition ! */ function addBibSubsetMenu() { var specialBib = document.getElementById('specialBib'); if (specialBib) { specialBib.style.display = 'block'; var menu = "<select style=\"display:inline;\" onChange=\"chooseBibSubset(selectedIndex)\">"; menu += "<option>Liste</option>"; menu += "<option>WikiNorme</option>"; menu += "<option>BibTeX</option>"; menu += "<option>ISBD</option>"; menu += "<option>ISO690</option>"; menu += "</select>"; specialBib.innerHTML = specialBib.innerHTML + menu; } /* default subset - try to use a cookie some day */ chooseBibSubset(0); } /* select subsection of special characters */ function chooseBibSubset(s) { var l = document.getElementsByTagName('div'); for (var i = 0; i < l.length ; i++) { if(l[i].className == 'BibList') l[i].style.display = s == 0 ? 'block' : 'none'; else if(l[i].className == 'WikiNorme') l[i].style.display = s == 1 ? 'block' : 'none'; else if(l[i].className == 'BibTeX') l[i].style.display = s == 2 ? 'block' : 'none'; else if(l[i].className == 'ISBD') l[i].style.display = s == 3 ? 'block' : 'none'; else if(l[i].className == 'ISO690') l[i].style.display = s == 4 ? 'block' : 'none'; } } addLoadEvent(addBibSubsetMenu); //============================================================ // // Prévisualisation rapide // //============================================================ /** * Script de ajoutant une option de prévisualisation rapide. * * * English: Add a Quick View option on the Edit pages. * This script add 2 new buttons into the "editButtons" div. * When QuickPrev button is press, the content of edit window * is retreived and parsed using regular expressions. * * @author: fr:user:aoineko * @version: 0.2 */ function addQuickPreview() { var QuickPreviewBtnTitle = "Prévisualisation rapide de vos modifications [Alt + Q]"; var QuickPreviewBtnValue = "Prévisualisation rapide"; var QuickPrevHideBtnTitle = "Cacher la prévisualisation rapide [Alt + H]"; var QuickPrevHideBtnValue = "Cacher"; var div = document.getElementsByTagName('div'); for(var i = 0; i < div.length ; i++) { if(div[i].className == "editButtons") // search "editButtons" div { div[i].appendChild(document.createElement("br")); // add a <br/> var wpQuick = document.createElement("input"); // create and set the "QuickPrev" button wpQuick.setAttribute("id", "wpQuick"); wpQuick.setAttribute("name", "wpQuick"); wpQuick.setAttribute("title", QuickPreviewBtnTitle); wpQuick.setAttribute("value", QuickPreviewBtnValue); wpQuick.setAttribute("type", "button"); wpQuick.setAttribute("onclick", "doQuickPreview();"); wpQuick.setAttribute("tabindex", "8"); wpQuick.setAttribute("accesskey", "Q"); div[i].appendChild(wpQuick); var wpHide = document.createElement("input"); // create and set the "Hide" button wpHide.setAttribute("id", "wpHide"); wpHide.setAttribute("name", "wpHide"); wpHide.setAttribute("title", QuickPrevHideBtnTitle); wpHide.setAttribute("value", QuickPrevHideBtnValue); wpHide.setAttribute("type", "button"); wpHide.setAttribute("onclick", "hideQuickPreview();"); wpHide.setAttribute("tabindex", "9"); wpHide.setAttribute("accesskey", "H"); div[i].appendChild(wpHide); } } } /// Retreive current code and parse it function doQuickPreview() { var wpQuickPreview = document.getElementById("wpQuickPreview"); if(!wpQuickPreview) { /*var l = document.getElementsByTagName('div'); for(var i = 0; i < l.length ; i++) if(l[i].className == "previewnote") wpQuickPreview = l; if(!wpQuickPreview)*/ { wpQuickPreview = document.createElement("div"); wpQuickPreview.setAttribute("style", "border:solid 1px gray; width:100%; margin-top:1em; margin-bottom:1em; padding:0.5em;"); var wpSummaryLabel = document.getElementById("wpSummaryLabel"); wpSummaryLabel.parentNode.insertBefore(wpQuickPreview, wpSummaryLabel); } wpQuickPreview.setAttribute("id", "wpQuickPreview"); } wpQuickPreview.style.display = "block"; wpTextbox1 = document.getElementById("wpTextbox1"); var str = "=Prévisualisation rapide=\n" + wpTextbox1.value; var qp = new QuickPreview(str); wpQuickPreview.innerHTML = qp.Parse(); } function QuickPreview(wiki) { this.line = wiki.split(/\n/); this.html = new String; this.list = 0; // current list depth this.tab = 0; // current tabulation depth this.pre = false; /// inside a <pre> tag this.para = false; /// inside a paragraph this.HandlePre = function(i) { if(this.line[i][0] == ' ') { if(this.para) { this.para = false; this.html += "</p>\n"; } if(!this.pre) { this.pre = true; this.html += "<pre>\n"; } this.html += this.line[i] + "\n"; return true; } else if(this.pre) { this.pre = false; this.html += "</pre>\n"; } return false; }; this.HandleH = function(i) { if(res = this.line[i].match(/^(={1,6})(.*)\1(.*)$/)) { this.line[i] = "<h" + res[1].length + ">" + res[2] + "</h" + res[1].length + ">" + res[3]; return true; } return false; }; this.Parse = function() { this.html = ""; for(var i = 0; i < this.line.length ; i++) { var p = true; if(this.HandlePre(i)) continue; if(this.HandleH(i)) p = false; if(p && !this.para) { this.para = true; this.html += "<p>"; } this.html += this.line[i] // Sign // .replace(/~{5}/g, Date()) .replace(/~{4}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px yellow;'>Signature</span> "+Date()) .replace(/~{3}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px yellow;'>Signature</span>") // Style // .replace(/'''''(.*?)''(.*?)'''/g, "<strong><em>$1</em>$2</strong>") .replace(/'''''(.*?)'''(.*?)''/g, "<em><strong>$1</strong>$2</em>") .replace(/'''(.*?)''(.*?)'''''/g, "<strong>$1<em>$2</em></strong>") .replace(/'''''(.*?)''''/g, "<strong><em>\'$1</em></strong>") .replace(/''''(.*?)''''/g, "<strong><em>$1</em></strong>") .replace(/''''(.*?)'''/g, "<strong>\'$1</strong>") .replace(/'''(.*?)'''/g, "<strong>$1</strong>") .replace(/'''(.*?)''/g, "<em>\'$1</em>") .replace(/''(.*?)''/g, "<em>$1</em>") // List // .replace(/^\*(.*)/g, "<li>$1</li>") .replace(/^#(.*)/g, "<li>$1</li>") .replace(/^:(.*)/g, "<li>$1</li>") // Link // .replace(/\{\{([^\|]*).*}}/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px lightgreen;'>Modèle : $1</span>") .replace(/\[\[[Ii]mage:([^\|]*)[^\[]*\]\]/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px lightblue;'>Image : $1</span>") .replace(/\[\[[Cc]atégorie:([^\|]*)[^\[]*\]\]/g, "<span style='padding:0.2em; margin:0.5em; border:dashed 1px #FF8080;'><a href='/wiki/Catégorie:$1' title='$1'>Catégorie : $1</a></span>") .replace(/\[\[([^\[.]*)\|([^\[.]*)\]\]/g, "<a href='/wiki/$1' title='$1'>$2</a>") .replace(/\[\[([^\[.]*)\]\]/g, "<a href='/wiki/$1' title='$1'>$1</a>") /* // Special // .replace(/\n\n/g, "\n\n<br/>") .replace(/(^|\n)-{4}(?!~)/g, "<hr/>") // Table // .replace(/(^|\n)\{\|(.*)/g, "$1<table $2>") .replace(/(^|\n)\|}/g, "$1</table>") .replace(/(^|\n)(\|.*)\|\|/g, "$1$2</td><td>") .replace(/(^|\n)\|[^-}](.*)/g, "$1</td>$2<td>") .replace(/(^|\n)(!.*)!!/g, "$1$2</th><th>") .replace(/(^|\n)![^-](.*)/g, "$1</th>$2<th>") */ ; this.html += "\n"; } return this.html; }; }; /// Hide function hideQuickPreview() { var wpQuickPreview = document.getElementById("wpQuickPreview"); if(wpQuickPreview) { wpQuickPreview.style.display = 'none'; } } addLoadEvent(addQuickPreview); //============================================================ // // Barre d'outil // //============================================================ //============================================================ // Générateur de tableaux //============================================================ /** * * English: Generate an array using Mediawiki syntax * * @author: fr:user:dake * @version: 0.1 */ function generateTableau(nbCol, nbRow, border, styleHeader, styleLine) { var code = "\n"; if (styleHeader==1) { code += '{{entête tableau charte}}\n'; } else { code += '{| border="' + border + '"\n'; code += '|+ Titre du tableau\n'; } for (var i=0;i<nbCol;i++) code += '! en-tête ' + i + '\n' for (var j=0;j<nbRow;j++) { if ((j+1)%2==0 && styleLine==1) { code += '|-{'+'{ligne grise}'+'}\n' } else { code += '|-----\n' } for (var i=0;i<nbCol;i++) code += '| élément\n'; } code += '|}'; insertTags('','', code); } /** * * English: Open a popup with parameters to generate an array. * The number of rows/columns can be modified. Some additional * parameters are related to templates available on :fr * * @author: fr:user:dake * @version: 0.1 */ function popupTableau() { var popup = window.open('','name','height=400,width=500'); javaCode = '<script type="text\/javascript">function insertCode(){'; javaCode += 'var row = parseInt(document.paramForm.inputRow.value); ' javaCode += 'var col = parseInt(document.paramForm.inputCol.value); ' javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); ' javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; ' javaCode += 'var styleLine = document.paramForm.inputLine.checked; ' javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); ' javaCode += '}<\/script>'; popup.document.write('<html><head><title>Paramètres du tableau</title>'); popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>'); popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>'); popup.document.write(javaCode); popup.document.write('</head><body>'); popup.document.write('<p>Veuillez entrer les paramètres du tableau : </p>'); popup.document.write('<form name="paramForm">'); popup.document.write('Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>'); popup.document.write('Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>'); popup.document.write('Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>'); popup.document.write('En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>'); popup.document.write('Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>'); popup.document.write('</form">'); popup.document.write('<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>'); popup.document.write('<p><a href="javascript:self.close()"> Fermer</a></p>'); popup.document.write('</body></html>'); popup.document.close(); } /* * VraiTitre : Ajout du titre réel d'un article pour lequel MediaWiki n'affiche pas correctement */ function VraiTitre() { var balise = document.getElementById("vrai_titre"); if (!balise) return; vrai_titre = balise.childNodes[0].nodeValue; var titre = document.getElementsByTagName("H1")[0]; rectificatif = titre.appendChild(document.createElement("span")); rectificatif.setAttribute ("style","color:#AAAAAA; font-size:0.7em; font-style:italic; display:inline;"); rectificatif.appendChild(document.createTextNode(" ("+ vrai_titre +")")); } addLoadEvent(VraiTitre); /* </nowiki> </pre> */