MediaWiki:Gadget-wikiEditor.js

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
//Ajoute des boutons à la barre d'outils
(function(mw, $) {
  if($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) === -1) {
  	return;
  }
  if(Number(mw.user.options.get('usebetatoolbar')) === 0) {
     alert("Vous devez utiliser la barre d'outil de modification aussi appelée « éditeur de wikicode 2010 » pour profiter du gadget « Ajouts à la nouvelle barre d’outils améliorée ». Activez la dans vos préférences d'édition ou désactivez ce gadget.");
  	 return;
  }
  mw.loader.using('ext.wikiEditor', function() {
  	$(function() {
	  //Boutons de formatage : poem et changement de casse
      $('#wpTextbox1').wikiEditor('addToToolbar', {
        section: 'advanced',
        group: 'format',
        tools: {
          'poem': {
            label: 'Poème',
            type: 'button',
            icon: '//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/P_writing_icon.svg/23px-P_writing_icon.svg.png',
            action: {
              type: 'encapsulate',
              options: {
                pre: '<poem>',
                peri: 'Texte du poème',
                post: '</poem>',
                ownline: true
              }
            }
          },
          'toggleCase': {
            label: 'Modifier la casse',
            type: 'button',
            icon: '//upload.wikimedia.org/wikipedia/commons/thumb/d/de/Wynn.svg/23px-Wynn.svg.png',
            action: {
              type: 'callback',
              execute: function() {
                var context = $('a[rel="toggleCase"]').data('context');
                var selection = context.$textarea.textSelection('getSelection');
                if (!selection.collapsed) {
                  var str = selection.toString();
                  if (str == str.toUpperCase()) {
                    str = str.toLowerCase();
                  } else {
                    str = str.toUpperCase();
                  }
                  context.$textarea.textSelection('encapsulateSelection', {'pre': '', 'peri': str, 'post': '', 'replace': true});
                }
              }
            }
          }
        }
      });
   
      //Boutons d’insertion : modèle et guillemets
      $('#wpTextbox1').wikiEditor('addToToolbar', {
        section: 'advanced',
        group: 'insert',
        tools: {
          'template': {
            label: 'Modèle à insérer',
            type: 'button',
            icon: '//upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Toolbar_Template_A.svg/22px-Toolbar_Template_A.svg.png',
            action: {
              type: 'encapsulate',
              options: {
                pre: '{{',
                peri: 'Nom du modèle',
                post: '|}}'
              }
            }
          },
          'template2': {
            label: 'Texte à modéliser',
            type: 'button',
            icon: '//upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Toolbar_Template_B.svg/22px-Toolbar_Template_B.svg.png',
            action: {
              type: 'encapsulate',
              options: {
                pre: '{{|',
                peri: 'Nom du modèle',
                post: '}}'
              }
            }
          },
          'quote': {
            label: 'Citation',
            type: 'button',
            icon: '//upload.wikimedia.org/wikipedia/commons/a/ac/Norwegian_quote_sign.png',
            action: {
              type: 'encapsulate',
              options: {
                pre: '« ',
                peri: 'Texte',
                post: ' »'
              }
            }
          }
        }
      });
  
      //Ajoute une section wikisource avec le contenu de l'editool
      var wsCharacters = [];
      var links = $('.mw-edittools-section').eq(0);
      links.find('a').each(function() {
        var link = $(this);
        wsCharacters.push({
          label: link.text(),
          action: {
          	type: 'encapsulate',
          	options: {
          	  pre: link.data('mw-charinsert-start'),
          	  post: link.data('mw-charinsert-end')
          	}
          }
        });
      });
     
      $('#wpTextbox1').wikiEditor('addToToolbar', {
        sections: {
          'wikisource': {
            type: 'booklet',
            label: 'Wikisource',
            pages: {
              'wiki': {
                layout: 'characters',
                label: 'Syntaxe wiki',
                characters: wsCharacters
              }
            }
          }
        }
      });
  
      //Ajoute un bouton index dans l'espace principal
      if(mw.config.get('wgNamespaceNumber') === 0) {
        $('#wpTextbox1').wikiEditor('addToToolbar', {
          section: 'advanced',
          group: 'insert',
          tools: {
            'pages': {
              label: 'Pages',
              type: 'button',
              icon: '//upload.wikimedia.org/wikipedia/commons/thumb/6/6a/Nuvola_apps_icons.png/22px-Nuvola_apps_icons.png',
              action: {
                type: 'encapsulate',
                options: {
                  pre: '<pages index="',
                  peri: 'Nom du fac-similé',
                  post: '" from="" to="" header=1 />',
                  ownline: true
                }
              }
            }
          }
        });
      }
    });
  });
})(mediaWiki, jQuery);