Utente:Valepert/Strumentivari.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
/**
* Gadget-strumentivari.js
* Aggiunge un tab per effettuare sostituzioni standard o personalizzate.
* Riscritto da zero (a parte le regex) a partire da:
* http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-strumentivari.js&oldid=47552288
*
* @author [[Utente:Rotpunkt]]
*/
/*global mediaWiki, jQuery */
( function ( mw, $ ) {
'use strict';
// Gestore del click su "Formatta"
function formatHandler() {
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val()
.replace( /\’/g, "'" )
.replace( / '([\w\ ]+)' /g, ' "$1" ' )
.replace( /“/g, '"' )
.replace( /”/g, '"' )
.replace( /–/g, '-' )
.replace( /,,/g, ',' )
.replace( / m2 /g, ' m² ' )
.replace( /a'[ ]/g, "à " )
.replace( /([^p])o'[ ]/g, "$1ò " )
.replace( /u'[ ]/g, "ù " )
.replace( /i'[ ]/g, "ì " )
.replace( /[ ]anzich(è|e')/g, " anziché" )
.replace( /[ ]affinch(è|e')/g, " affinché" )
.replace( /[ ]bench(è|e')/g, " benché" )
.replace( / cioé/g, " cioè" )
.replace( / Dè /g, " De' " )
.replace( / dè /g, " de' " )
.replace( / dò/g, " do" )
.replace( /E'[ ]/g, "È " )
.replace( /É /g, "È " )
.replace( /[ ]e'[ ]/g, " è " )
.replace( / é/g, " è" )
.replace( / fà /g, " fa " )
.replace( / fè /g, " fe' " )
.replace( / Frà /g, " Fra' " )
.replace( / fù /g, " fu " )
.replace( / mò /g, " mo' " )
.replace( / nè /g, " né " )
.replace( /[ ]ne'[ ]/g, " né " )
.replace( /[ ]nonch(è|e')/g, " nonché" )
.replace( / pè /g, " pe' " )
.replace( /[ ]perch(è|e')/g, " perché" )
.replace( /[ ]per(ó|o')/g, " però" )
.replace( /[ ]piu'/g, " più" )
.replace( / pò/g, " po'" )
.replace( /[ ]poich(è|e')/g, " poiché" )
.replace( / propio/g, " proprio" )
.replace( /[ ](puo|puo')/gi, " può" )
.replace( / quì /gi, " qui " )
.replace( / quà /gi, " qua " )
.replace( /[ ]qual'è/gi, " qual è" )
.replace( / sà /gi, " sa " )
.replace( / sè /gi, " sé " )
.replace( /si'[ ]/g, "sì" )
.replace( / sò /g, " so " )
.replace( / sù /g, " su " )
.replace( /[ ]tr(è|e'|é)/g, " tre" )
.replace( / sucessivo /gi, " successivo " )
.replace( /</g, "<" )
.replace( />/g, ">" )
.replace( /&/g, "&" )
.replace( /"/g, '"' )
.replace( /à/g, "à" )
.replace( /è/g, "è" )
.replace( /é/g, "é" )
.replace( /ì/g, "ì" )
.replace( /¡/g, "¡" )
.replace( /¢/g, "¢" )
.replace( /£/g, "£" )
.replace( /¥/g, "¥" )
.replace( /´/g, "'" )
.replace( /±/g, "±" )
.replace( /×/g, "×" )
.replace( /÷/g, "÷" )
.replace( /µ/g, "µ" )
.replace( /°/g, "°" )
.replace( /¼/g, "¼" )
.replace( /½/g, "½" )
.replace( /¾/g, "¾" )
.replace( /¹/g, "¹" )
.replace( /²/g, "²" )
.replace( /³/g, "³" )
.replace( /§/g, "§" )
.replace( /<\/?(b|strong)>/gi, "'''" )
.replace( /<\/?(i|em|var)>/gi, "''" )
.replace( /<br>\n\n/g, "\n\n" )
.replace( /<br>/gi, "<br />" )
.replace( /\n<hr[ \/]*>\n/gi, "\n----\n" )
.replace( / +<hr[ \/]*> +/gi, "\n----\n" )
.replace( /<hr ([^>\/]+?)>/gi, "<hr $1 />" )
.replace( /\n *<h1> *([^<]+?) *<\/h1> *\n/gi, "\n= $1 =\n" )
.replace( /\n *<h2> *([^<]+?) *<\/h2> *\n/gi, "\n== $1 ==\n" )
.replace( /\n *<h3> *([^<]+?) *<\/h3> *\n/gi, "\n=== $1 ===\n" )
.replace( /\n *<h4> *([^<]+?) *<\/h4> *\n/gi, "\n==== $1 ====\n" )
.replace( /\n *<h5> *([^<]+?) *<\/h5> *\n/gi, "\n===== $1 =====\n" )
.replace( /\n *<h6> *([^<]+?) *<\/h6> *\n/gi, "\n====== $1 =======\n" ) );
$( '#wpSummary' ).val( $( '#wpSummary' ).val() + '+formattazione ' );
$( '#wpMinoredit' ).prop( 'checked', true );
}
// Gestore del click su "sostituisci"
function replaceHandler() {
var $find, $replace, $div = $( '<div>' );
$( '<label>' ).text( 'Cerca:' ).appendTo( $div );
$find = $( '<input/>' ).attr( 'type', 'text' ).attr( 'size', 50 ).appendTo( $div );
$( '<label>' ).text( 'Sostituisci con:' ).appendTo( $div );
$replace = $( '<input/>' ).attr( 'type', 'text' ).attr( 'size', 50 ).appendTo( $div );
$div.find( 'label, input' ).css( 'display', 'block' );
$( '#gsv-dialog' ).html( $div ).dialog( {
title: 'Strumenti vari - sostituisci',
width: 400,
modal: true,
buttons: {
'Sostituisci': function () {
if ( $find.val() !== '' ) {
$( '#wpTextbox1' ).val( $( '#wpTextbox1' ).val()
.replace( new RegExp( $find.val(), 'g' ), $replace.val() ) );
}
$( this ).dialog( 'close' );
},
'Annulla': function () {
$( this ).dialog( 'close' );
}
}
} );
}
$( function () {
var portletLink, $format, $replace, $span;
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
// setup tab
$format = $( '<a>' ).attr( 'href', '#' ).text( 'Formatta' );
$format.click( function ( event ) {
event.preventDefault();
formatHandler();
} );
$replace = $( '<a>' ).attr( 'href', '#' ).text( 'sostituisci' );
$replace.click( function ( event ) {
event.preventDefault();
mw.loader.using( ['jquery.ui'], function () {
replaceHandler();
} );
} );
$span = $( '<span>' ).css( 'white-space', 'nowrap' ).append( $format, '<small>e</small>', $replace );
portletLink = mw.util.addPortletLink( 'p-cactions', '#', '' );
$( portletLink ).find( 'a' ).replaceWith( $span );
// setup dialog
$( '<div>' ).attr( 'id', 'gsv-dialog' ).appendTo( 'body' );
}
} );
}( mediaWiki, jQuery ) );