MediaWiki:Gadget-MonobookToolbarDiacritiques.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.if ( [ 'edit', 'submit' ].includes( mw.config.get( 'wgAction' ) ) ) {
mw.loader.using( [ 'ext.gadget.MonobookToolbar', 'jquery.textSelection' ], function () {
var letters = [
[ 'A', 'Á', 'À', 'Â', 'Ä', 'Ã', 'Å', 'Ā', 'Ă' ],
[ 'a', 'á', 'à', 'â', 'ä', 'ã', 'å', 'ā', 'ă' ],
[ 'C', 'Ć', '' , 'Ĉ', '' , '' , '' , '' , '' ],
[ 'c', 'ć', '' , 'ĉ', '' , '' , '' , '' , '' ],
[ 'E', 'É', 'È', 'Ê', 'Ë', '' , '' , 'Ē', 'Ĕ' ],
[ 'e', 'é', 'è', 'ê', 'ë', '' , '' , 'ē', 'ĕ' ],
[ 'G', '' , '' , 'Ĝ', '' , '' , '' , '' , 'Ğ' ],
[ 'g', '' , '' , 'ĝ', '' , '' , '' , '' , 'ğ' ],
[ 'H', '' , '' , 'Ĥ', '' , '' , '' , '' , '' ],
[ 'h', '' , '' , 'ĥ', '' , '' , '' , '' , '' ],
[ 'I', 'Í', 'Ì', 'Î', 'Ï', '' , '' , 'Ī', 'Ĭ' ],
[ 'i', 'í', 'ì', 'î', 'ï', '' , '' , 'ī', 'ĭ' ],
[ 'J', '' , '' , 'Ĵ', '' , '' , '' , '' , '' ],
[ 'j', '' , '' , 'ĵ', '' , '' , '' , '' , '' ],
[ 'N', '' , '' , '' , '' , 'Ñ', '' , '' , '' ],
[ 'n', '' , '' , '' , '' , 'ñ', '' , '' , '' ],
[ 'O', 'Ó', 'Ò', 'Ô', 'Ö', 'Õ', '' , 'Ō', 'Ŏ' ],
[ 'o', 'ó', 'ò', 'ô', 'ö', 'õ', '' , 'ō', 'ŏ' ],
[ 'S', 'Ś', '' , 'Ŝ', '' , '' , '' , '' , '' ],
[ 's', 'ś', '' , 'ŝ', '' , '' , '' , '' , '' ],
[ 'U', 'Ú', 'Ù', 'Û', 'Ü', '' , '' , 'Ū', 'Ŭ' ],
[ 'u', 'ú', 'ù', 'û', 'ü', '' , '' , 'ū', 'ŭ' ],
[ 'Y', 'Ý', '' , '' , 'Ÿ', '' , '' , 'Ȳ', '' ],
[ 'y', 'ý', '' , '' , 'ÿ', '' , '' , 'ȳ', '' ],
[ 'Ø', 'Ǿ', '' , '' , '' , '' , '' , '' , '' ],
[ 'ø', 'ǿ', '' , '' , '' , '' , '' , '' , '' ],
];
var buttons = [
{ src: '//upload.wikimedia.org/wikipedia/commons/4/41/Button_diacritique_0.png', title: 'Supprimer les diacritiques', id: 'mw-editbutton-NoDiacritique' , type: 0 },
{ src: '//upload.wikimedia.org/wikipedia/commons/2/2b/Button_diacritique_1.png', title: 'Accent aigu' , id: 'mw-editbutton-Accent_aigu' , type: 1 },
{ src: '//upload.wikimedia.org/wikipedia/commons/e/ec/Button_diacritique_2.png', title: 'Accent grave' , id: 'mw-editbutton-Accent_grave' , type: 2 },
{ src: '//upload.wikimedia.org/wikipedia/commons/b/be/Button_diacritique_3.png', title: 'Accent circonflexe' , id: 'mw-editbutton-Accent_circonflexe', type: 3 },
{ src: '//upload.wikimedia.org/wikipedia/commons/1/1d/Button_diacritique_4.png', title: 'Tréma' , id: 'mw-editbutton-Trema' , type: 4 },
{ src: '//upload.wikimedia.org/wikipedia/commons/2/2c/Button_diacritique_5.png', title: 'Tilde' , id: 'mw-editbutton-Tilde' , type: 5 },
{ src: '//upload.wikimedia.org/wikipedia/commons/6/66/Button_diacritique_6.png', title: 'Rond en chef' , id: 'mw-editbutton-Rond_en_chef' , type: 6 },
{ src: '//upload.wikimedia.org/wikipedia/commons/a/a3/Button_diacritique_7.png', title: 'Macron' , id: 'mw-editbutton-Macron' , type: 7 },
{ src: '//upload.wikimedia.org/wikipedia/commons/7/7a/Button_diacritique_8.png', title: 'Caron' , id: 'mw-editbutton-Caron' , type: 8 },
];
function convertText( text, type ) {
if ( !text ) return '';
for ( var a = 0, l = letters.length; a < l; ++a ) {
var group = letters[ a ];
for ( var b = 0, m = group.length; b < m; ++b ) {
if ( b !== type && group[ b ] && group[ type ] ) {
text = text.split( group[ b ] ).join( group[ type ] );
}
}
}
return text;
}
function convertSelection( type ) {
var $textbox = $( MonobookToolbar.getCurrentFocused() );
var selText = $textbox.textSelection( 'getSelection' );
selText = convertText( selText, type );
$textbox.textSelection( 'replaceSelection', selText );
$textbox.focus();
}
buttons.forEach( function ( button ) {
MonobookToolbar.addButton( {
imageFile: button.src,
speedTip: button.title,
imageId: button.id,
callback: function () {
convertSelection( button.type );
}
} );
} );
} );
}