La "bottoniera" e la "raccolta dei giocattoli" sono due aspetti della stessa idea: quella di costruire uno strumento agile, comodo, semplice (nei limiti del possibile) per permettere a ciascun utente di costruire ed usare un proprio gruppo di attrezzi per l'edit (e non solo), da modificare velocemente e liberamente passando da un'opera all'altra.

Non si tratta quindi di un vero tool, ma di un sistema per attivare ed usare comodamente qualsiasi tool.

Il sistema è originale di it.wikisource, e quindi l'utente interessato non troverà traccia della documentazione in alcun altro sito, diverso da it.wikisource; tuttavia non è impossibile esportare, nei propri spazi personali, il tool in altri progetti.

A tutto l'insieme del progetto, ci riferimemo semplicemente con il termine bottoniera; va comunque notato che il gadget di base, che va attivato, è Raccolta dei giocattoli.

Gli elementi della bottoniera modifica

Tre sono gli elementi base della bottoniera:

  1. il gadget Raccolta dei giocattoli: crea il contenitore per i bottoni, costituito da uno spazio fisso sul margine inferiore dello schermo, in cui compaiono i bottoni che attivano i vari tool, e che contiene anche le funzioni di base per attivare i bottoni di default.
  2. il gadget Bottoniera, che attiva una serie di bottoni di default nel contenitore creato da Raccolta dei giocattoli.
  3. una sottopagina utente speciale, Utente:[NomeUtente]/PersonalButtons.js, che contiene il codice per attivare bottoni personali, e le funzioni aggiuntive eventualmente necessarie per eseguire le operazioni attivate da un click sul bottone. Intervenendo su questa pagina, qualsiasi utente può attivare/disattivare i propri bottoni aggiuntivi rispetto a quelli di default, richiamati dal gadget Bottoniera. Nel caso che NON si attivi il gadget Bottoniera compariranno nel contenitore a fondo pagina solamente i bottoni attivati in PersonalButtons.js. Un esempio di PersonalButtons.js lo trovate in Utente:Alex brollo/PersonalButtons.js.

Attivare la raccolta di default modifica

È veramente semplice: basta attivare due gadget:

  1. Raccolta dei giocattoli
  2. Bottoniera.

I vari bottoni hanno la caratteristica di attivarsi specificamente in Modifica, in Visualizzazione, in Anteprima, o in qualsiasi combinazione di queste azioni.

Di default, in Visualizzazione compaiono i seguenti bottoni (il 29 gennaio 2015.... ;-) ):

 


In Modifica e Anteprima, compaiono i seguenti bottoni:

 

Personalizzare modifica

I bottoni sono completamente personalizzabili in ogni loro elemento:

  1. il loro numero;
  2. il testo che compare sul bottone;
  3. l'azione che è attivata dal click;
  4. l'azione in cui sono visualizzati;
  5. il messaggio di aiuto che compare passandoci sopra il mouse.

Il primo passo per personalizzare i bottoni è quello di copiare integralmente il codice della pagina MediaWiki:Gadget-bottoniera.js nella propria pagina utente Utente:NomeUtente/PersonalButtons.js disattivando il gadget Bottoniera in Preferenze. I bottoni compaiono identici a quelli attivati da Bottoniera, ma il codice è contenuto adesso in una pagina modificabile dall'utente. Si tratta di un codice javascript che può creare un po' di apprensione, ma alcune modifiche sono veramente semplici ed alla portata di chiunque abbia un minimo di boldness.

Il codice base modifica

Queste due righe di codice mostrano tutto ciò che serve per modificare il numero dei bottoni attivati, e per modificare il testo che compare all'interno del bottone.

newButton("{{Centrato}}", "incapsula('{{Centrato|','}}')", "es","Applica il temmplate Centrato");
// newButton("autoNs0", "ns0Auto", "es","");

Le righe sono costituite da uno schema fisso:

newButton("testo bottone", "funzione richiamata", "azioni in cui si visualizza","messaggio di aiuto");

Modifiche semplici: primo e quarto parametro modifica

Questo è quello che serve sapere per le modifiche più semplici:

  1. Ogni riga "crea" un bottone.
  2. Per disabilitare un bottone basta anteporre alla riga i caratteri //; per abilitare un bottone disabilitato, basta cancellare entrambi i caratteri //.
  3. Per modificare il testo sul bottone basta modificare il primo parametro.
  4. Per modificare il messaggio di aiuto basta modificare il quarto e ultimo parametro.

Di default, i testi che identificano i bottoni sono lunghi e i bottoni occupano molto posto; scegliete dei testi brevissimi, quelli che vi sembrano più logici e facili da ricordare. Es: al posto di {{Centrato}} potrebbe bastare {{C}} o magari semplicemente C o ancora un carattere speciale autoesplicativo come ↔.

Il parametro di visualizzazione: terzo parametro modifica

Vi sono tre tipi di "azione" nei quali può essere comodo disporre della bottoniera, più una quarta in cui non sono utili (per ora):

  • edit, ossia modifica; identificatore e
  • submit, ossia anteprima; identificatore s
  • view, ossia visualizzazione; identificatore v
  • history, ossia cronologia, identificatore h

Dal punto di vista pratico, le due azioni edit e preview coincidono: in entrambi i casi le azioni più comuni sono quelle della modifica del testo.

Il terzo parametro della funzione newButton() permette di scegliere in quale azione devono essere visualizzati i bottoni; naturalmente quelli per l'edit servono quando si edita, quelli per la visualizzazione quando si visualizza; in qualche caso possono servire in entrambe le azioni.

In questo parametro basta passare, in qualsiasi ordine, le lettere che identificano ciascuna azione in cui il bottone deve essere visualizzato:

  • "es" per far comparire il bottone in edit e in submit (in modifica e in anteprima)
  • "v" per far comparire il bottone in view (visualizzazione)
  • "esv" per farlo comparire sempre, tranne che in history (cronologia).

Il secondo parametro: il caso difficile modifica

L'unico parametro difficile della funzione di creazione di un bottone personalizzato è il secondo, che collega il click sul bottone con una funzione javascript.

Vi sono tre casi:

  1. si può chiamare una funzione esistente fra le miriadi di funzioni che pullulano nelle pagine mediawiki (comprese tutte quelle dei vari gadget);
  2. si può chiamare una funzione "nuova", scritta apposta per essere richiamata da un bottone; ovvio che non tutti gli utenti devono conoscere javascript al punto da scrivere da sè la propria funzione, ma tutti sono invitati a immaginare una funzione utile, e chiederne la realizzazione;
  3. per creare bottoni che eseguono semplici aggiunte al testo, di tipo "incapsula", esiste una funzione specifica.

A proposito della terza possibilità, esiste una funzione incapsula(), generica che, con un adattamento abbastanza semplice, permette allo stesso utente di "programmarsi" un bottone a sua scelta. La funzione di "incapsulamento" è quella che agisce nei tasti di edit più comuni; "incapsula" il testo selezionato aggiungendo qualcosa prima e qualcosa dopo la selezione. Ad esempio, l'aggiunta del markup corsivo è una funzione incapsula che aggiunge due apostrofi prima, e due apostrofi dopo, il testo selezionato; il pulsante per aggiungere il template Centrato aggiunge {{Centrato| prima, e }} dopo, la selezione; eccetera.

Alcuni caratteri speciali sono difficili da inserire e si devono usare accorgimenti particolari.

  1. doppie virgolette ": inserire al loro posto &quote;
  2. virgolette semplici - apostrofo : inserire al loro posto '
  3. a capo : inserire ad ogni acapo necessario #n

Esempi di incapsula() modifica

.....