MediaWiki:Monobook.js
From WikiMediation
(Difference between revisions)
Line 1: | Line 1: | ||
- | /* | + | /* |
- | + | __FORCETOC__ | |
- | + | ==infobulles et touches d’accès== | |
- | + | <pre>*/ | |
- | + | ta = new Object(); | |
- | + | ta['pt-userpage'] = new Array('.','My user page'); | |
- | + | ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); | |
- | + | ta['pt-mytalk'] = new Array('n','My talk page'); | |
- | + | ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); | |
- | + | ta['pt-preferences'] = new Array('','My preferences'); | |
+ | ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); | ||
+ | ta['pt-mycontris'] = new Array('y','List of my contributions'); | ||
+ | ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); | ||
+ | ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); | ||
+ | ta['pt-logout'] = new Array('o','Log out'); | ||
+ | ta['ca-talk'] = new Array('t','Discussion about the content page'); | ||
+ | ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.'); | ||
+ | ta['ca-addsection'] = new Array('+','Add a comment to this discussion.'); | ||
+ | ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.'); | ||
+ | ta['ca-history'] = new Array('h','Past versions of this page.'); | ||
+ | ta['ca-protect'] = new Array('=','Protect this page'); | ||
+ | ta['ca-delete'] = new Array('d','Delete this page'); | ||
+ | ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted'); | ||
+ | ta['ca-move'] = new Array('m','Move this page'); | ||
+ | ta['ca-watch'] = new Array('w','Add this page to your watchlist'); | ||
+ | ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); | ||
+ | ta['search'] = new Array('f','Search this wiki'); | ||
+ | ta['p-logo'] = new Array('','Main Page'); | ||
+ | ta['n-mainpage'] = new Array('z','Visit the Main Page'); | ||
+ | ta['n-portal'] = new Array('','About the project, what you can do, where to find things'); | ||
+ | ta['n-currentevents'] = new Array('','Find background information on current events'); | ||
+ | ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.'); | ||
+ | ta['n-randompage'] = new Array('x','Load a random page'); | ||
+ | ta['n-help'] = new Array('','The place to find out.'); | ||
+ | ta['n-sitesupport'] = new Array('','Support us'); | ||
+ | ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here'); | ||
+ | ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page'); | ||
+ | ta['feed-rss'] = new Array('','RSS feed for this page'); | ||
+ | ta['feed-atom'] = new Array('','Atom feed for this page'); | ||
+ | ta['t-contributions'] = new Array('','View the list of contributions of this user'); | ||
+ | ta['t-emailuser'] = new Array('','Send a mail to this user'); | ||
+ | ta['t-upload'] = new Array('u','Upload images or media files'); | ||
+ | ta['t-specialpages'] = new Array('q','List of all special pages'); | ||
+ | ta['ca-nstab-main'] = new Array('c','View the content page'); | ||
+ | ta['ca-nstab-user'] = new Array('c','View the user page'); | ||
+ | ta['ca-nstab-media'] = new Array('c','View the media page'); | ||
+ | ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.'); | ||
+ | ta['ca-nstab-wp'] = new Array('a','View the project page'); | ||
+ | ta['ca-nstab-image'] = new Array('c','View the image page'); | ||
+ | ta['ca-nstab-mediawiki'] = new Array('c','View the system message'); | ||
+ | ta['ca-nstab-template'] = new Array('c','View the template'); | ||
+ | ta['ca-nstab-help'] = new Array('c','View the help page'); | ||
+ | ta['ca-nstab-category'] = new Array('c','View the category page'); | ||
- | + | /*</pre> | |
- | + | ||
- | + | ==Générateur de tableaux== | |
- | + | <pre>*/ | |
- | + | ||
- | + | /** | |
- | + | * | |
- | + | * 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> | ||
+ | |||
+ | == Insersion des caractères spéciaux == | ||
+ | |||
+ | <pre>*/ | ||
+ | |||
+ | /** | ||
+ | * 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 (modèles)</option>"; | ||
+ | menu += "<option>Latin/Romain</option>"; | ||
+ | menu += "<option>Grec</option>"; | ||
+ | menu += "<option>Cyrillique</option>"; | ||
+ | menu += "<option>AHD</option>"; | ||
+ | menu += "<option>Allemand</option>"; | ||
+ | menu += "<option>Catalan</option>"; | ||
+ | menu += "<option>Croate</option>"; | ||
+ | menu += "<option>Espagnol</option>"; | ||
+ | menu += "<option>Espéranto</option>"; | ||
+ | menu += "<option>Estonien</option>"; | ||
+ | menu += "<option>Français</option>"; | ||
+ | menu += "<option>Gallois</option>"; | ||
+ | menu += "<option>Hawaien</option>"; | ||
+ | menu += "<option>Islandais</option>"; | ||
+ | menu += "<option>Italien</option>"; | ||
+ | menu += "<option>Japonais</option>"; | ||
+ | menu += "<option>Maltais</option>"; | ||
+ | menu += "<option>Pinyin</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 += "</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'; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | addOnloadHook(addCharSubsetMenu); | ||
+ | |||
+ | /*</pre> | ||
+ | == Générateur de tableaux == | ||
+ | <pre>*/ | ||
+ | |||
+ | //============================================================ | ||
+ | // 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> | ||
+ | == Insertion de nouveaux boutons dans la barre d'outil == | ||
+ | |||
+ | <pre>*/ | ||
+ | |||
+ | //Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils | ||
+ | function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) | ||
+ | { | ||
+ | mwCustomEditButtons[mwCustomEditButtons.length] = | ||
+ | {"imageFile": imageFile, | ||
+ | "speedTip": speedTip, | ||
+ | "tagOpen": tagOpen, | ||
+ | "tagClose": tagClose, | ||
+ | "sampleText": sampleText}; | ||
+ | } | ||
+ | |||
+ | // addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png','Rayer','<s>','</s>',''); | ||
+ | // addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Énumération','\\n# élément 1\\n# élément 2\\n# élément 3','',''); | ||
+ | // addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png','Liste','\\n* élément A\\n* élément B\\n* élément C','',''); | ||
+ | |||
+ | //Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags | ||
+ | function marque_tab() | ||
+ | { | ||
+ | var toolbar = document.getElementById('toolbar'); | ||
+ | if (!toolbar) return false; | ||
+ | |||
+ | var textbox = document.getElementById('wpTextbox1'); | ||
+ | if (!textbox) return false; | ||
+ | |||
+ | if (!document.selection && textbox.selectionStart == null) | ||
+ | return false; | ||
+ | |||
+ | var image = document.createElement("img"); | ||
+ | image.width = 23; | ||
+ | image.height = 22; | ||
+ | image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png'; | ||
+ | image.border = 0; | ||
+ | image.alt = 'Tableau'; | ||
+ | image.title = 'Tableau'; | ||
+ | image.style.cursor = "pointer"; | ||
+ | image.onclick = function() { | ||
+ | popupTableau(); | ||
+ | return false; | ||
+ | } | ||
+ | toolbar.appendChild(image); | ||
+ | } | ||
- | + | addOnloadHook(marque_tab); | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | /*</pre>*/ | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | /* </ | + |
Revision as of 15:58, 28 May 2009
/* __FORCETOC__ ==infobulles et touches d’accès== <pre>*/ ta = new Object(); ta['pt-userpage'] = new Array('.','My user page'); ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); ta['pt-mytalk'] = new Array('n','My talk page'); ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); ta['pt-preferences'] = new Array('','My preferences'); ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); ta['pt-mycontris'] = new Array('y','List of my contributions'); ta['pt-login'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-anonlogin'] = new Array('o','You are encouraged to log in, it is not mandatory however.'); ta['pt-logout'] = new Array('o','Log out'); ta['ca-talk'] = new Array('t','Discussion about the content page'); ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.'); ta['ca-addsection'] = new Array('+','Add a comment to this discussion.'); ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.'); ta['ca-history'] = new Array('h','Past versions of this page.'); ta['ca-protect'] = new Array('=','Protect this page'); ta['ca-delete'] = new Array('d','Delete this page'); ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted'); ta['ca-move'] = new Array('m','Move this page'); ta['ca-watch'] = new Array('w','Add this page to your watchlist'); ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); ta['search'] = new Array('f','Search this wiki'); ta['p-logo'] = new Array('','Main Page'); ta['n-mainpage'] = new Array('z','Visit the Main Page'); ta['n-portal'] = new Array('','About the project, what you can do, where to find things'); ta['n-currentevents'] = new Array('','Find background information on current events'); ta['n-recentchanges'] = new Array('r','The list of recent changes in the wiki.'); ta['n-randompage'] = new Array('x','Load a random page'); ta['n-help'] = new Array('','The place to find out.'); ta['n-sitesupport'] = new Array('','Support us'); ta['t-whatlinkshere'] = new Array('j','List of all wiki pages that link here'); ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page'); ta['feed-rss'] = new Array('','RSS feed for this page'); ta['feed-atom'] = new Array('','Atom feed for this page'); ta['t-contributions'] = new Array('','View the list of contributions of this user'); ta['t-emailuser'] = new Array('','Send a mail to this user'); ta['t-upload'] = new Array('u','Upload images or media files'); ta['t-specialpages'] = new Array('q','List of all special pages'); ta['ca-nstab-main'] = new Array('c','View the content page'); ta['ca-nstab-user'] = new Array('c','View the user page'); ta['ca-nstab-media'] = new Array('c','View the media page'); ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.'); ta['ca-nstab-wp'] = new Array('a','View the project page'); ta['ca-nstab-image'] = new Array('c','View the image page'); ta['ca-nstab-mediawiki'] = new Array('c','View the system message'); ta['ca-nstab-template'] = new Array('c','View the template'); ta['ca-nstab-help'] = new Array('c','View the help page'); ta['ca-nstab-category'] = new Array('c','View the category page'); /*</pre> ==Générateur de tableaux== <pre>*/ /** * * 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> == Insersion des caractères spéciaux == <pre>*/ /** * 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 (modèles)</option>"; menu += "<option>Latin/Romain</option>"; menu += "<option>Grec</option>"; menu += "<option>Cyrillique</option>"; menu += "<option>AHD</option>"; menu += "<option>Allemand</option>"; menu += "<option>Catalan</option>"; menu += "<option>Croate</option>"; menu += "<option>Espagnol</option>"; menu += "<option>Espéranto</option>"; menu += "<option>Estonien</option>"; menu += "<option>Français</option>"; menu += "<option>Gallois</option>"; menu += "<option>Hawaien</option>"; menu += "<option>Islandais</option>"; menu += "<option>Italien</option>"; menu += "<option>Japonais</option>"; menu += "<option>Maltais</option>"; menu += "<option>Pinyin</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 += "</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'; } } addOnloadHook(addCharSubsetMenu); /*</pre> == Générateur de tableaux == <pre>*/ //============================================================ // 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> == Insertion de nouveaux boutons dans la barre d'outil == <pre>*/ //Remplit la variable mwCustomEditButtons (voir /skins-1.5/commons/wikibits.js) pour ajouter des boutons à la barre d'outils function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { mwCustomEditButtons[mwCustomEditButtons.length] = {"imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText}; } // addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/30/Btn_toolbar_rayer.png','Rayer','<s>','</s>',''); // addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png','Énumération','\\n# élément 1\\n# élément 2\\n# élément 3','',''); // addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png','Liste','\\n* élément A\\n* élément B\\n* élément C','',''); //Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags function marque_tab() { var toolbar = document.getElementById('toolbar'); if (!toolbar) return false; var textbox = document.getElementById('wpTextbox1'); if (!textbox) return false; if (!document.selection && textbox.selectionStart == null) return false; var image = document.createElement("img"); image.width = 23; image.height = 22; image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png'; image.border = 0; image.alt = 'Tableau'; image.title = 'Tableau'; image.style.cursor = "pointer"; image.onclick = function() { popupTableau(); return false; } toolbar.appendChild(image); } addOnloadHook(marque_tab); /*</pre>*/