Wikipedia:Monobook.js
Il codice MediaWiki permette l'esecuzione di uno script (monobook.js) che facilita l'utilizzo di Wikipedia attraverso semplici tool. Il linguaggio usato per la sua codifica è JavaScript e chiunque può crearsene uno personalizzato. Lo script consiste, di fatto, in una sottopagina utente: la tua è questa. Ogni modifica apportata al suo codice, per essere applicata, richiede una pulizia della cache, per farlo premi Ctrl+F5 oppure Ctrl+⇧ Maiusc+R dopo aver salvato la pagina.
Per facilitare la vita di tutti quelli che non hanno familiarità con queste cose è stata creata una versione standard e molto completa, che può essere facilmente installata e configurata.
In ogni caso ricordati che:
Installazione
//<pre> // Elenco dei tool da caricare. var toLoad="purg led ns0 lks orol tabs nav stru unw tbar avan cwtch popup nms chat cmd wed since goo rch edt ver vpop vfol bot linkcomplete qdel lrc dels"; //Monobook Modulare //Lancia il vero monobook // Vedi [[Wikipedia:Monobook.js/MonobookCompleto.js]] // importScript("Wikipedia:Monobook.js/MonobookCompleto.js"); //</pre>
A questo codice si possono aggiungere altri script a scelta dell'utente aggiungendo il relativo codice dopo questo.
Attenzione: per un corretto funzionamento del monobook.js, è assolutamente necessario installare anche il monobook.css copiandolo nel proprio css. Invece di copiare tutto il css nel proprio, si può anche aggiungere nel proprio monobook.css la riga:
@import "//it.wikipedia.org/w/index.php?title=Wikipedia:Monobook.js/monobook.css&usemsgcache=yes&action=raw&ctype=text/css&smaxage=2678400";
Configurazione
Nella versione 4.x il monobook.js è modulare, ovvero potete scegliere cosa installare (per default viene installato tutto).
Per modificare la lista dei tool installati è disponibile uno strumento grafico accessibile dal portlet "strumenti" e intitolato "Setup", che consente di modificare la lista dei moduli (elencati sotto).
Se non volete usare il tool grafico, è sufficiente aprire il vostro monobook in modifica ed editare la linea che inizia con "var toLoad=".
Questa riga contiene una serie di sigle, una per ogni tool da importare.
Le sigle devono essere separate da spazi e quella che segue è la lista dei tool disponibili (altri potrebbero essere aggiunti in futuro, per cui consiglio di mettere questa pagina tra gli Osservati Speciali, vedi il paragrafo Aggiornamenti).
Sigla | Tool inserito | Note |
---|---|---|
purg | Aggiunge tab "purge" | |
led | Aggiunge tab "ultima modifica" | |
ns0 | Aggiunge tab "0" | Apre in modifica la sezione 0 della pagina |
lks | Personalizza i link nella barra in alto | Pagina utente, discussione, preferenze, ... |
orol | Aggiunge l'orologio in alto a destra | |
tabs | Aggiunge i tab "Messaggi talk" e "strumenti vari" | |
chat | Aggiunge un link diretto alla chat di wikipedia | Il link verrà aggiunto nella barra superiore |
nav | Aggiunge tutti i link nel portlet "navigazione" | |
newp | Aggiunge "Pagine nuove" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
mjs | Aggiunge 'monobook.js' nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
mcss | Aggiunge 'monobook.css' nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
sand | Aggiunge "Sandbox" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
blk | Aggiunge "Block Log" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
csu | Aggiunge "Cancella subito" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
pca | Aggiunge "Pagine da cancellare" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
stub | Aggiunge "Stub" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
admin | Aggiunge "Strumenti Admin" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
prob | Aggiunge "Utenti problematici" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
aut | Aggiunge "Autorizzazione ottenute" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
vand | Aggiunge "Vandalismi in corso" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
rich | Aggiunge "Richieste agli amministratori" nel menù "navigazione" | Non è necessario se avete già specificato "nav" |
bot | Aggiunge il link alla pagina dei contributi del proprio bot nel menù "navigazione" | Non è necessario se avete già specificato "nav", per specificare il nome del proprio bot è necessario scrivere var nomeBot="MioBot"; nel proprio monobook.js. |
requi | Aggiunge la "Verifica dei requisiti di voto" nel menù "navigazione" | |
stru | Aggiunge tutti i link nel portlet nel menù "strumenti" | |
uec | Aggiunge "user edit count" nel menù "strumenti" | Non è necessario se avete già specificato "stru" |
log | Aggiunge "Log" nel menù "strumenti" | Non è necessario se avete già specificato "stru" |
whois | Aggiunge "Whois" nel menù "strumenti" | Non è necessario se avete già specificato "stru" |
newp | Aggiunge "Pagine nuove" nel menù "strumenti" | Non è necessario se avete già specificato "stru" |
unw | Aggiunge "non seguire" nella pagina degli Osservati Speciali | |
allp | Aggiunge il pulsante "AllPages" nel box di ricerca | |
tbar | Aggiunge tutti i pulsanti alla Toolbar | |
aiu | "A"iutare | Non è necessario se avete già specificato "tbar" |
con | "C"ontrollare | Non è necessario se avete già specificato "tbar" |
pov | "P"OV | Non è necessario se avete già specificato "tbar" |
wiki | "W"ikificare | Non è necessario se avete già specificato "tbar" |
stu | "S"tub | Non è necessario se avete già specificato "tbar" |
enc | "E"nciclopedicità dubbia | Non è necessario se avete già specificato "tbar" |
tra | Da tradurre | Non è necessario se avete già specificato "tbar" |
voto | Votazioni: +1/0/-1 | Non è necessario se avete già specificato "tbar" |
cocp | Controlcopy | Non è necessario se avete già specificato "tbar" |
cacp | Cancelcopy | Non è necessario se avete già specificato "tbar" |
cat | Categorizzare | Non è necessario se avete già specificato "tbar" |
test | Test | Non è necessario se avete già specificato "tbar" |
prom | Promozionale | Non è necessario se avete già specificato "tbar" |
benv | Benvenuto | Non è necessario se avete già specificato "tbar" |
canc | Da cancellare | Non è necessario se avete già specificato "tbar" |
caut | Avvisocancellautente | Non è necessario se avete già specificato "tbar" |
cimm | Cancella subito | Non è necessario se avete già specificato "tbar" |
cviol | ViolazioneCopyright | Non è necessario se avete già specificato "tbar" |
sviol | Segnala copyviol | Non è necessario se avete già specificato "tbar" |
aviol | Avvisocopyviol | Non è necessario se avete già specificato "tbar" |
avand | Vandalismo | Non è necessario se avete già specificato "tbar" |
avv | Avvisoavvisi | Non è necessario se avete già specificato "tbar" |
yc | Cartellino giallo | Non è necessario se avete già specificato "tbar" |
rc | Cartellino rosso | Non è necessario se avete già specificato "tbar" |
spam | Avviso spam | Non è necessario se avete già specificato "tbar" |
uni | Da unire | Non è necessario se avete già specificato "tbar" |
inv | Inversione | Non è necessario se avete già specificato "tbar" |
bpar | Avvisobloccoparziale | Non è necessario se avete già specificato "tbar" |
edw | Avvisoeditwar | Non è necessario se avete già specificato "tbar" |
bnpov | AvvisobloccoNPOV | Non è necessario se avete già specificato "tbar" |
tras | Trasferimento | Non è necessario se avete già specificato "tbar" |
orf | Orfana | Non è necessario se avete già specificato "tbar" |
iorf | Immagine orfana | Non è necessario se avete già specificato "tbar" |
wip | WIP | Non è necessario se avete già specificato "tbar" |
cgr | Da correggere | Non è necessario se avete già specificato "tbar" |
aimm | Avvisoimmagine | Non è necessario se avete già specificato "tbar" |
unv | Unverified | Non è necessario se avete già specificato "tbar" |
date | Date personali | Non è necessario se avete già specificato "tbar" |
grz | Grazie | Non è necessario se avete già specificato "tbar" |
ndis | Nota disambigua | Non è necessario se avete già specificato "tbar" |
dis | Disambigua | Non è necessario se avete già specificato "tbar" |
vedan | Vedi anche | Non è necessario se avete già specificato "tbar" |
mon | Monitoraggio | Non è necessario se avete già specificato "tbar" |
gall | Gallery | Non è necessario se avete già specificato "tbar" |
ref | References | Non è necessario se avete già specificato "tbar" |
ipro | Interprogetto | Non è necessario se avete già specificato "tbar" |
sbo | Scroll box | Non è necessario se avete già specificato "tbar" |
sot | Testo sottolineato | Non è necessario se avete già specificato "tbar" |
small | Testo piccolo | Non è necessario se avete già specificato "tbar" |
bar | Testo barrato | Non è necessario se avete già specificato "tbar" |
case | Trasforma maiuscolo in minuscolo e viceversa | Non è necessario se avete già specificato "tbar" |
br | Tasto "a capo" | Non è necessario se avete già specificato "tbar" |
cate | Aggiunge [[Categoria:]] | Non è necessario se avete già specificato "tbar" |
sef | Aggiunge {{F}} | Non è necessario se avete già specificato "tbar" |
cne | Aggiunge {{citazione necessaria}} | Non è necessario se avete già specificato "tbar" |
dmo | Aggiunge {{dmoz}} | Non è necessario se avete già specificato "tbar" |
noinc | Aggiunge <noinclude> | Non è necessario se avete già specificato "tbar" |
incor | Aggiunge {{Incorso}} | Non è necessario se avete già specificato "tbar" |
agg | Aggiunge {{Da aggiornare}} | Non è necessario se avete già specificato "tbar" |
prob | Aggiunge {{Problematico}} | Non è necessario se avete già specificato "tbar" |
van | Aggiunge {{Vandalo}} | Non è necessario se avete già specificato "tbar" |
fat | Aggiunge {{Fatto}} | Non è necessario se avete già specificato "tbar" |
nfat | Aggiunge {{Non fatto}} | Non è necessario se avete già specificato "tbar" |
port | Aggiunge {{Portale}} | Non è necessario se avete già specificato "tbar" |
ssen | Aggiunge {{Senza senso}} | Non è necessario se avete già specificato "tbar" |
scorp | Aggiunge {{ScorporoUnione}} | Non è necessario se avete già specificato "tbar" |
aw | Aggiunge {{AiutoW}} | Non è necessario se avete già specificato "tbar" |
avfir | Aggiunge {{Avvisofirma}} | Non è necessario se avete già specificato "tbar" |
puli | Aggiunge {{RichiestaPulizia}} | Non è necessario se avete già specificato "tbar" |
avan | Anti-vandal tool | |
cwtch | Category watch | |
popup | Popup di navigazione | |
nms | Ricerca in un namespace | |
cmd | Aggiunge la command line | per l'attivazione premere alt+z |
qed | QuickEdit. Permette la modifica veloce di una sezione | Si può, opzionalmente, configurare come descritto in QuickEdit.js Non è compatibile col VisualEditor |
wed | wikEd. Nuova casella di editing con nuove funzionalità | Il manuale d'uso si trova in Wikipedia:Monobook.js/WikEd/Manuale |
since | Novità. Si accede alla pagina degli Osservati Speciali ma vengono mostrate solo le modifiche apportate dopo l'ultima visita | Fa uso di cookie (Come abilitarli) |
goo | Ricerca con Google e Yahoo. Permette la ricerca in Wikipedia sfruttando i motori Google e Yahoo | |
rch | crea un piccolo tasto sulla sinistra della pagina che consente di visualizzare le modifiche più recenti della voce sulla quale si è (Descrizione e immagini d'esempio) | |
edt | permette di editare i titoli delle pagine | |
ver | potenzia la funzione di verifica delle versioni - (tool disattivato) Salvatore Ingala (conversami) 23:54, 17 feb 2011 (CET) | |
vpop | patrolling retroattivo (VPopSpeed) | |
vfol | Vandal Fighter on Line | Funziona solo con Firefox e, forse, con Mozilla e Netscape |
linkcomplete | Link Complete | Non funziona con IE |
qdel | Patrolling immagini. Inserisce vari link nel menù "strumenti" (es: Immagine senza licenza) che aggiunge un template (es: {{unverdata}}) all'immagine, ed un avviso (es: {{Avvisoimmagine}}) a chi l'aveva caricata | Non funziona con Konqueror |
lrc | LiveRC: Patrolling | Funziona con Firefox 1.5.x >+, Epiphany (Gecko) e SeaMonkey |
elrc | E-LiveRC: Patrolling | Funziona con Firefox 1.5.x >+, Epiphany (Gecko) e SeaMonkey |
dels | Aggiunge il link "cancella" da parte ad ogni sezione. Svuota l'intera sezione. | Non usarlo sull'ultima sezione, perché elimina anche i portali, le categorie e gli interwiki. |
clink | Rende cliccabili i link ai siti esterni nel campo oggetto della cronologia |
Alcune di queste sigle sono cumulative. Ad esempio, se aggiungete tbar, installerete tutti i bottoni della toolbar, senza che sia necessario aggiungerli singolarmente.
L'ordine con cui inserite i codici non è importante.
Aggiornamenti
Per permettere di capire velocemente cosa è stato aggiunto o tolto, verranno elencate qui le modifiche.
20 novembre 2006
- Aggiunto tab "Ultimo edit" (codice "led")
- Aggiunto tab "0", modifica della sezione 0 (codice "ns0")
- Aggiunto bottone "Cartellino rosso" (codice "rc")
- Aggiunto richieste agli amministratori (codice "rich")
- Aggiunto chat Wikipedia (codice "chat")
- Eliminato "Strumenti monobook" (era stato aggiunto per errore)
- Fixato bug menù di sinistra
- Fixato bug su link alla chat
26 novembre 2006
- Aggiunto tasto con template scroll box
- Aggiunto tasto con template "Promozionale"
9 dicembre 2006
- Corretto problema che bloccava il funzionamento del Category Watch.
- Aggiunto "Tatoo" al nuovo paragrafo Personalizzazioni avanzate.
20 dicembre 2006
- Aggiunta la command line, per l'attivazione è necessario aggiungere la variabile cmd nel proprio monobook.
5 gennaio 2007
- Aggiunto il template {{O}} alla toolbar.--Ş€ņpãİ-27 - せんぱい scrivimi 15:49, 5 gen 2007 (CET)
14 gennaio 2007
- Aggiunto "Aggiungi un pulsante alla toolbar" alle personalizzazioni avanzate
15 gennaio 2007
- Aggiunto QuickEdit (codice qed)
26 gennaio 2007
- Aggiunti nuovi pulsanti alla toolbar.
31 gennaio 2007
- Aggiunti 2 nuovi pulsanti
14 febbraio 2007
- Aggiunto wikEd (codice wed)
- Aggiunto Novità (codice since)
- Aggiunta ricerca con Google e Yahoo (codice goo)
- Aggiunto tasto di visualizzazione ultime modifiche (codice rch)
22 febbraio 2007
- Aggiunta la trasfomazione del testo da maiuscolo in minuscolo e viceversa (codice case)
- Aggiunti i titoli editabili. Si può editare il titolo della pagina utilizzandolo per spostarsi velocemente su un'altra voce
24 febbraio 2007
- Fix titoli editabili e aggiunta "notiziario di aggiornamento monobook"
27 febbraio 2007
- Potenziamento funzione di verifica.
2 marzo 2007
- Aggiunto tasto dmoz (codice dmo o tbar)
- Aggiunto VPopSpeed (codice vpop)
6 marzo 2007
- Aggiunto il Setup grafico nel portlet "strumenti".
15 marzo 2007
- Aggiunto link ai contributi del proprio bot (codice bot)
- Aggiunto VFonLine (codice vfol)
10 aprile 2007
- Aggiunti vari tasti alla toolbar.
11 aprile 2007
- Aggiunto tasto "Problematico" (codice prob)
16 aprile 2007
- Aggiunti tasti "Fatto/Non fatto" (codici fat e nfat)
27 aprile 2007
- Aggiunta la creazione automatica dei pulsanti personali
19 giugno 2007
- Aggiunta la creazione automatica dei collegamenti personali
15 settembre 2007
- Aggiunto il Quick-Delete per il patrolling delle immagini (codice qdel)
24 dicembre 2007
- Aggiunto il LiveRC, tool per il patrolling (codice lrc)
2 febbraio 2008
- Aggiunti gli hotkeys ai pulsanti della toolbar.
27 maggio 2008
- Aggiunto il tool per la pulizia delle cronologie (Wikipedia:Monobook.js/Ripristina).
28 maggio 2008
- Aggiunta la cancellazione di una sezione di voce (codice dels).
20 ottobre 2008
- Aggiunta "Verifica dei requisiti di voto" (codice "requi")
25 dicembre 2008
- Aggiunto "E-LiveRC" (codice "elrc")
Evoluzioni delle versioni
ver. 4.2.ver. 4.2.5. fix a bug menùver. 4.2.6. fix di alcuni bugver. 4.3.1. nuove funzionalitàver. 4.5. aggiunta la command linever. 4.5.2. sistemato template benvenuto ed aggiunte variabiliver. 4.6.5. implementato il template {{O}} ed eliminato il vecchio template {{orfana}}ver. 4.7.0. fix variver. 4.7.5. fixxata la posizione dei templatever 4.7.1 aggiunto il quick editver. 4.8.3. vari fix ed aggiunta della firma al quick editver. 5.0.0. fix vari e aggiunta di nuovi tasti alla toolbar.ver. 5.1.1. fix per I.E. e miglioramento funzioni toolbar.ver. 5.3.0. aggiunti due nuovi pulsantiver. 6.0.1. aggiunta del wikied e fix variver. 6.1.1. aggiunta visualizzazione rapida delle ultime modifiche della paginaver. 6.3.0. aggiunta dei titoli editabili e del notiziario.ver. 6.4.0. vari fix + potenziamento verificaver. 6.5.1. aggiunto tasto "dmoz" e funzione di retropatrollingver. 6.7.0. Aggiunta interfaccia grafica ("Setup") per la configurazione del monobook.ver. 6.7.1. Aggiunto link ai contributi del proprio bot (codice bot).ver. 6.8.1. Aggiunto il virtual fighter online.ver. 6.8.9. aggiunti vari pulsanti alla tool barver. 6.8.10. aggiunta la creazione automatica dei pulsanti personali- ver. 6.9.0. aggiunta la creazione automatica dei collegamenti personali
Personalizzazioni avanzate
Ovvero, cose da fare se siete abbastanza esperti. Se non lo siete, e lo volete fare lo stesso, basta chiederlo.
Tatoo
Girovagando su alcune pagine utente ho trovato un'utile applicazione del codice usato per il template {{Immagine con scorrimento}}. In pratica viene creata un'icona, sempre visibile nell'angolo in basso a destra del browser, utile per raggiungere velocemente un determinato Progetto. Se vi interessa potete inserire nel vostro vector o monobook il codice
//
//PROGETTO TOLKIEN
var Tolkien="<div style=\"position:fixed;background-color:transparent;bottom:10px;right:10px;z-index:1000;display:block\"><A HREF=\"http://it.wikipedia.org/wiki/Progetto:Tolkien\"><IMG SRC=\"http://upload.wikimedia.org/wikipedia/commons/b/b7/Unico_Anello.png\" WIDTH=\"40\" HEIGHT=\"40\" ALT=\"Progetto Tolkien\"></IMG></A></div>";
document.getElementById("content").innerHTML += Tolkien;
//
Aggiustandolo con le dovute modifiche. L'esempio sopra crea un collegamento al progetto Tolkien.
Tatoo Personalizzabili
Visualizza un tatoo in basso a destra il cui link è settabile da una comoda finestrella. Si ottiene così un comodo collegamento alla pagina a cui state lavorando sempre sullo schermo.
Per installarli è sufficiente scrivere nella barra del titolo
javascript:setpagecontent('Utente:'+wgUserName+'/Tatoo','Pagina_principale','Installazione');
e dare invio, poi aggiungere
document.writeln('');
Nota: document.write non è più supportato e rischia di rendere il proprio js inutilizzabile.
in fondo al proprio monobook.
Ricordatevi di ricaricare (ctrl-r) dopo ogni cambiamento di link, funziona solo con Firefox.
Aggiungi un pulsante alla toolbar
Questo paragrafo si riferisce ai pulsanti che servono solo a voi. Se pensate che un pulsante sia utile anche per gli altri parlatene qui.
Creazione automatica
È possibile aggiungere un pulsante alla propria toolbar utilizzando una semplice interfaccia grafica. La spiegazione completa si trova in "Pulsanti personali". I nuovi pulsanti verranno aggiunti ad un menù a tendina sopra alla toolbar.
Creazione manuale
Se la creazione spiegata nel paragrafo sopra non funziona, o se preferite un pulsante rispetto al menù a tendina, potete seguire queste istruzioni.
Per poter inserire un nuovo pulsante nella vostra toolbar basta inserire in fondo al proprio monobook il seguente codice:
function personalButtons() { AGGIUNGERE QUI UNA RIGA PER PULSANTE SECONDO I CRITERI SPIEGATI SOTTO } addLoadEvent(personalButtons);
Se il testo va inserito in cima o in fondo alla pagina
La riga da aggiungere e':
addToolbarButton('tb-xxx', 'javascript:aggiungiTesto("Testo da inserire", "Oggetto della modifica", Dove inserirlo, Offset)', 'Indirizzo URL dell'immagine', 'Testo alternativo', 'Titolo immagine');
Dove:
- Testo da inserire: È il testo da aggiungere alla pagina (va racchiuso tra doppi apici ")
- Oggetto della modifica: È il contenuto del campo oggetto (va racchiuso tra doppi apici ")
- Dove inserirlo: È un numero. 0 significa "in cima", 1 significa "in fondo" (non servono gli apici)
- Offset: È un numero che dice di quanto va spostato il cursore rispetto all'inizio del testo inserito (e' opzionale, e non viene usato quasi mai)
- Indirizzo URL dell'immagine: Non è il nome dell'immagine, bensì il suo indirizzo sul server (ovvero il link che, nella pagina dell'immagine, sta subito sotto a lei); il link va racchiuso tra apici semplici ( ' ). L'immagine non viene ridimensionata, per cui deve già essere delle dimensioni giuste (22 pixel). Una scelta di immagini per toolbar si trova nella Categoria:Icone per toolbar, e anche su Commons.
- Testo alternativo: Testo da visualizzare se l'immagine non può essere caricata (va racchiuso tra apici semplici ' )
- Titolo immagine: Scritta che viene mostrata fermandosi sul pulsante col cursore (va racchiuso tra apici semplici ' )
Se il testo va inserito nella posizione del cursore
La riga da aggiungere e':
addToolbarButton('tb-xxx', 'javascript:addTextAtCursor("Prima","Oggetto","Dopo",offset)', 'Indirizzo URL dell'immagine', 'Testo alternativo', 'Titolo immagine');
Dove:
- Prima: È il testo da aggiungere prima della selezione (se è stato selezionato del testo)
- Oggetto: È l'oggetto della modifica
- Dopo: È il testo da aggiungere dopo la selezione (se non c'e' la selezione viene accodato al precedente)
- Offset: È un numero che dice di quanto va spostato il cursore rispetto al posizionamento standard (e' opzionale, e non viene usato quasi mai). Nel 90% dei casi deve essere "0" (senza le virgolette)
- Indirizzo URL dell'immagine: Non è il nome dell'immagine, bensì il suo indirizzo sul server (ovvero il link che, nella pagina dell'immagine, sta subito sotto a lei). L'immagine non viene ridimensionata, per cui deve già essere delle dimensioni giuste (22 pixel). (va racchiuso tra apici semplici ' ). Ha un formato tipo "http://upload.wikimedia.org/wikipedia/..."
- Testo alternativo: Testo da visualizzare se l'immagine non può essere caricata (va racchiuso tra apici semplici ' )
- Titolo immagine: Scritta che viene mostrata fermandosi sul pulsante col cursore (va racchiuso tra apici semplici ' )
In questo modo il comportamento dei tasti e':
- Se c'e' del testo selezionato: aggiunge davanti alla selezione "Prima", aggiunge dietro "Dopo" e mantiene selezionato il testo originale
- Se non c'e' del testo selezionato: aggiunge "PrimaDopo" al posto del cursore e piazza il cursore tra Prima e Dopo.
Togli pulsanti dalla toolbar
Lo potete fare facilmente se usate Firefox e Adblock, basta pigiare sui pulsanti che si vuole togliere col tasto destro del mouse e bloccare l'immagine.
WikiMiniAtlas
Il template {{coord}} permette di inserire coordinate geografiche in una voce che, a questo punto, darà accesso ad una mappa interattiva del luogo. Le mappe sono attive per default, ma possono essere disattivate o configurate tramite il proprio monobook. Spiegazioni più dettagliate si trovano su Meta.
Tools per Traduttori
Questi tool vanno copiati nel proprio monobook della wikipedia estera, da cui si vuole tradurre. Tutti hanno bisogno anche della presenza di questo codice:
//Funzioni per fare le query al DB con api.php
var wpajax = {
http: function(bundle) {
// mandatory: bundle.url
// optional: bundle.async
// optional: bundle.method
// optional: bundle.headers
// optional: bundle.data
// optional: bundle.onSuccess (xmlhttprequest, bundle)
// optional: bundle.onFailure (xmlhttprequest, bundle)
// optional: bundle.otherStuff OK too, passed to onSuccess and onFailure
var xmlhttp;
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
xmlhttp = false
}
}
}
if (xmlhttp) {
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4)
wpajax.httpComplete(xmlhttp,bundle);
};
xmlhttp.open(bundle.method ? bundle.method : "GET",bundle.url,bundle.async == false ? false : true);
if (bundle.headers) {
for (var field in bundle.headers)
xmlhttp.setRequestHeader(field,bundle.headers[field]);
}
xmlhttp.send(bundle.data ? bundle.data : null);
}
return xmlhttp;
},
httpComplete: function(xmlhttp,bundle) {
if (xmlhttp.status == 200 || xmlhttp.status == 302) {
if (bundle.onSuccess)
bundle.onSuccess(xmlhttp,bundle);
} else if (bundle.onFailure) {
bundle.onFailure(xmlhttp,bundle);
} else {
// A activer en debug mode ?
// alert(xmlhttp.statusText);
}
}
};
// Parser
if (document.implementation.createDocument) {
var gml_xmlparser = new DOMParser();
}
function gml_XMLParse(string) {
if (document.implementation.createDocument) {
return gml_xmlparser.parseFromString(string, "text/xml");
} else if (window.ActiveXObject) {
var gml_xmldoc = new ActiveXObject("Microsoft.XMLDOM");
gml_xmldoc.async = "false";
ret = gml_xmldoc.loadXML(string);
if (!ret)
return null;
return gml_xmldoc.documentElement;
}
return null;
}
// HTMLize
String.prototype.htmlize = function() {
var chars = new Array('&','<','>','"');
var entities = new Array('amp','lt','gt','quot');
var regex = new RegExp();
var string = this;
for (var i=0; i<chars.length; i++) {
regex.compile(chars[i], "g");
string = string.replace(regex, '&' + entities[i] + ';');
}
return string;
}
//Alias di document.getElementById
$ = function(id){
return document.getElementById(id);
};
//
Traduzione interwiki
NB: Per funzionare ha bisogno anche di questo codice
// Elenco dei [[ ]]
var elencoLink = new Array();
function tradToIT()
{
// Recupera l'area di testo
text = $("wpTextbox1").value;
elencoLink.length=0;
result = "";
inseriti = "|";
while (text.indexOf("[[") != -1)
{
text = text.substring(text.indexOf("[[")+2);
to1 = text.indexOf("]]");
if (to1 == -1)
to1 = 10000000;
to2 = text.indexOf("|");
if (to2 == -1)
to2 = 10000000;
to3 = text.indexOf(":");
if (to3 == -1)
to3 = 10000000;
if (to3<to2 && to3<to1) // si tratta di un interwiki o di un link a namespace!=0. Va saltato
{
text = text.substring(2);
continue;
}
link = text.charAt(0).toUpperCase(); // prima lettera maiuscola
link += text.substring(1, (to1<to2)?to1:to2);
if (inseriti.indexOf("|"+link+"|") == -1)
elencoLink[elencoLink.length] = link; // così non mette i doppioni
inseriti += link+"|";
}
// Per ogni [[ ]]
for (x in elencoLink)
{
// Ricava l'elenco degli interwiki della voce in oggetto
wpajax.http({url: wgServer + wgScriptPath + '/api.php?action=query&prop=langlinks&titles='+escape(elencoLink[x])+'&redirects&format=xml&lllimit=5000',
onSuccess: addRow, en: elencoLink[x] });
}
}
// Crea la lista dei risultati
var result = "";
var total=0;
function addRow(xmlreq, data) {
var api = xmlreq.responseXML;
var en = data.en;
// Cerca se c'è "it.wiki"
interwikis = api.getElementsByTagName('ll');
trovato = "";
for (i=0; i<interwikis.length; i++)
if (interwikis[i].getAttribute('lang')=="it")
{
trovato = interwikis[i].textContent;
break;
}
// Aggiungi al totale la riga: [[en.wiki]] => [[it.wiki]] / No link
if (trovato != "")
result += "<a href='"+wgServer+"/wiki/"+escape(en)+"'>" + en + "</a> => <a href='//it.wikipedia.org/wiki/"+escape(trovato)+"'>" + trovato + "</a><br/>";
else
result += "<a href='"+wgServer+"/wiki/"+escape(en)+"'>" + en + "</a> => No link<br/>";
if (++total == elencoLink.length)
{
// splitto su <br/>
list = result.split("<br/>");
// ordina la lista
list.sort();
// ricrea la stringa
result = list.join("<br/>");
result = result.substring(5); // elimino il <br/> iniziale
// Mostra tutta la lista calcolata
total=0;
myRef = window.open('about:blank','mywin', 'left=20,top=20,width=300,height=300,toolbar=yes,resizable=yes');
myRef.document.write("<div style='width: 100%; height: 100%; overflow: auto'> "+result+"</div>");
}
}
addOnloadHook(function () {
if (wgAction=="edit")
{
addPortletLink('p-tb', 'javascript:tradToIT()', 'Traduci i wikilink', 'tradIT');
$('tradIT').firstChild.accessKey = 'T';
$('tradIT').title = 'Alt-Shift-T';
}
})
Visto che da qualche tempo il tool di escaladix non funziona più, ho creato un tool del monobook che fa la stessa cosa. In pratica scorre i wikilink di una voce straniera che vogliamo tradurre, e propone per ogni wikilink la traduzione in italiano, basandosi sugli interwiki presenti nella voce straniera.
Per usarlo bisogna usare questo codice copiandolo nel proprio monobook (ma dovrebbe andare anche per vector ecc.) nella wiki straniera da cui vogliamo tradurre. A quel punto, aprendo una loro voce in modifica, apparirà nella colonna di sinistra (sotto a "Strumenti", "Tools" o come lo chiamano loro) un link chiamato "Traduci i wikilink". Cliccandoci sopra, e con un po' di pazienza, vi verrà proposta una lista simile a questa qui accanto. La prima volta che lo usate il vostro browser potrebbe arrabbiarsi per il tentativo di aprire un popup, in questo caso confermate che è ok. Voci lunghe necessitano, ovviamente, di più tempo. Cliccare continuamente sul link non aiuta, anzi... Jalo 12:35, 26 lug 2010 (CEST)
Ricerca di voci da tradurre
NB: Per funzionare ha bisogno anche di questo codice
/****** INIZIO TOOL DI RICERCA VOCI DA TRADURRE ******/
// controlla se l'array "array" contiene il valore "stringa"
function contiene(array, stringa) {
for (var i = 0; i < array.length; i++) {
if (array[i] == stringa) {
return true;
}
}
return false;
}
var vociInglesi = new Array();
var vociDaTrad = new Array();
var interwikisCount = new Array();
var noCategory = new Array();
var countVociDaTrad = 0;
// cicla sull'elenco delle categorie chieste dall'utente
function analisiVoci() {
for (i = 0; i < vociInglesi.length; ++i)
{
// Ricava l'elenco degli interwiki della voce in oggetto
myXmlReq = wpajax.http({url: wgServer + wgScriptPath + '/api.php?action=query&prop=langlinks&titles='+escape(vociInglesi[i])+'&redirects&format=xml&lllimit=500', onSuccess: addToVociDaTrad, en: vociInglesi[i]});
}
}
function addToVociDaTrad(xmlreq, data) {
var api = xmlreq.responseXML;
var en = data.en;
if (api == null)
{
++countVociDaTrad;
return;
}
// Cerca se c'è "it.wiki"
interwikis = api.getElementsByTagName('ll');
trovato = "";
for (j=0; j<interwikis.length; j++)
if (interwikis[j].getAttribute('lang')=="it")
{
trovato = interwikis[j].textContent;
break;
}
// Aggiungi al totale la riga: [[en.wiki]] => [[it.wiki]] / No link
if (trovato == "")
{
vociDaTrad.push(en);
interwikisCount.push(interwikis.length);
}
if (++countVociDaTrad == vociInglesi.length)
{
// ordina la lista
vociDaTrad.sort()
// crea contenuto da salvare
contenuto = "";
for (i = 0; i < vociDaTrad.length; ++i)
{
contenuto += "<li><a href='"+wgServer+"/wiki/"+escape(vociDaTrad[i])+"'>" + vociDaTrad[i] + "</a> (" + interwikisCount[i] + ")</li>";
}
// crea lista categorie inesistenti
nocat = "";
if (noCategory.length > 0)
{
nocat += "Le seguenti categorie non esistono su "+wgContentLanguage+".wiki: ";
for (i = 0; i < noCategory.length; ++i)
{
nocat += noCategory[i] + ", ";
}
nocat = nocat.substr(0, nocat.length-2) + "<br/><br/>";
}
// finito di creare la lista la mostro in una nuova finestra
myRef = window.open('about:blank','mywin', 'left=20,top=20,width=500,height=300,toolbar=yes,resizable=yes');
myRef.document.write("<div style='width: 100%; height: 100%; overflow: auto'> ");
myRef.document.write("<big><big><big>Voci di "+wgContentLanguage+".wiki mancanti su it.wiki</big></big></big><br/><br/>");
myRef.document.write("Tra parentesi il numero di interlink presenti su "+wgContentLanguage+".wiki<br/><br/>");
myRef.document.write(nocat);
myRef.document.write("<ol>"+contenuto+"</ol>");
myRef.document.write("</div>");
}
}
var totaleCategorie = 0;
var countCategorie = 0;
// cicla sull'elenco delle categorie chieste dall'utente
function scansioneCategorie() {
categorie = $("Lista").value.split("\n");
totaleCategorie = categorie.length;
for (i = 0; i < categorie.length; ++i)
{
myXmlReq = wpajax.http({url: wgServer + wgScriptPath + '/api.php?action=query&list=categorymembers&cmprop=title&cmnamespace=0&cmlimit=500&format=xml&cmtitle=Category:'+categorie[i], onSuccess: addToVociInglesi, cat: categorie[i]});
}
// nascondo la finestra
node=$('categorie');
node.parentNode.removeChild(node);
}
function addToVociInglesi(xmlreq, data) {
var api = xmlreq.responseXML;
var cat = data.cat;
if (api.getElementsByTagName("categorymembers")[0].childNodes.length == 0) // categoria non esistente
noCategory.push(cat);
if (api)
{
cm = api.getElementsByTagName('cm');
var voce="";
for(j=cm.length-1; j >= 0 ; j--) {
voce = cm[j].attributes[1].nodeValue;
if (voce == "") continue;
if (!contiene(vociInglesi, voce)) // se non è già in lista
vociInglesi.push(voce);
}
}
if (++countCategorie == totaleCategorie)
analisiVoci();
}
// mostra finestra in cui si chiede quali categorie tradurre
function categorieDaTradurre() {
var msWndSetup = document.createElement('div');
msWndSetup.id = 'categorie';
msWndSetup.style.position = 'fixed';
msWndSetup.style.zIndex = 1000;
msWndSetup.style.left = '0px';
msWndSetup.style.top = '0px';
msWndSetup.style.backgroundColor = '#FFFFFF';
msWndSetup.style.borderStyle = 'solid';
msWndSetup.style.borderWidth = ' medium';
msWndSetup.style.borderColor = '#000000';
msWndSetup.style.width = '300px';
msWndSetup.align = 'center';
var top = document.createElement('div');
top.id = 'categorieTop';
top.style.textAlign = 'right';
top.style.margin = '8px';
top.style.backgroundColor = '#DDDDDD';
msWndSetup.appendChild(top);
var body = msWndSetup;
var intro = document.createElement('p');
intro.innerHTML = "<span style=\"font-size: medium; font-weight: bold;\">Elenco delle categorie da tradurre<br /><span style=\"font-size: small;\">(una per riga e senza \"Category:\")</span></span><br/><br/>";
body.appendChild(intro);
var Lista = document.createElement('textarea');
Lista.rows = 10;
Lista.width = "90%";
Lista.wrap = 'off';
Lista.name = 'Lista';
Lista.id = 'Lista';
Lista.style.marginLeft = "10px";
Lista.style.marginRight = "10px";
Lista.style.width = "90%";
body.appendChild(Lista);
// crea il bottone "Ok"
var buttonOk = document.createElement('input');
buttonOk.value = 'Ok';
buttonOk.type = 'button';
buttonOk.style.margin = '8px';
buttonOk.setAttribute('onclick', 'scansioneCategorie()');
// crea il bottone "Annulla"
var buttonCancel = document.createElement('input');
buttonCancel.value = 'Annulla';
buttonCancel.type = 'button';
buttonCancel.style.margin = '8px';
buttonCancel.setAttribute('onclick', "javascript:node=$('categorie');node.parentNode.removeChild(node);");
body.innerHTML += "\n";
body.appendChild(buttonOk);
body.appendChild(buttonCancel);
// e lo mostra a video
document.body.appendChild(msWndSetup);
Lista.focus();
}
addOnloadHook(function () {
addPortletLink('p-tb', 'javascript:categorieDaTradurre()', 'Voci da tradurre', 'daTradIT');
$('daTradIT').firstChild.accessKey = 'V';
$('daTradIT').title = 'Voci da tradurre (Alt-Shift-V)';
})
/****** FINE TOOL DI RICERCA VOCI DA TRADURRE ******/
//
Questo tool serve per cercare le voci presenti in una categoria di una wikipedia estera che mancano da noi. Il codice va copiato nel proprio monobook della wikipedia straniera da cui si vuole tradurre.
Dopo aver pulito la cache apparirà nella colonna di sinistra (sotto a "Strumenti", "Tools" o come lo chiamano loro) un link chiamato "Voci da tradurre". Cliccandoci sopra si aprirà una finestra in cui vanno elencate le categorie da controllare. Vanno inseriti i nomi delle categorie straniere, non quelle italiane, una per riga e senza il "Category:" davanti. Cliccando su ok verranno elencate le voci presenti in quelle categorie che non hanno interwiki verso it.wiki, oltre al numero di interwiki presenti in quelle voci (per capirne l'importanza). Evidenzia anche le categorie non esistenti, per segnalare eventuali errori di battitura.
La ricerca non è ricorsiva. Controlla solo le categorie che elencate, non le sottocategorie. Se la lista di categorie è lunga, o se le voci contenute sono molte, potrebbe richiedere qualche secondo in più Jalo 12:53, 26 lug 2010 (CEST)
-
La finestra in cui inserire le categorie
-
La finestra con il risultato della ricerca
- Questa è una lista delle domande più comuni con le relative risposte
- Ho salvato il codice nel mio monobook ma non è cambiato niente. Cosa devo fare?
- Ricordati di svuotare la cache (CTRL-F5 o CTRL-R).
- Ancora niente...
- Hai abilitato i Javascript sul tuo browser? (come abilitarli). Già che ci sei, controlla che siano abilitati anche sul firewall.
- Niente da fare. Altri suggerimenti?
- Ricordati di copiare anche questo monobook.css nel tuo e ri-svuota la cache.
- Alcuni tool o collegamenti mi compaiono due volte. Perché?
- Probabilmente non hai cancellato il vecchio codice del tuo monobook. Alcuni dei tool più usati in passato sono stati inclusi in questo, per cui il codice appare duplicato. Oppure stai usando monobook e Accessori contemporaneamente. In questo caso ti basta disabilitare da una delle due parti i tool doppi.
- L'ordine delle icone nella Toolbar non mi piace. Si può cambiare?
- Al momento no. Ma se otterrò troppe proteste per questo mi impegnerò a prepararlo per la prossima versione.
- E l'ordine dei collegamenti nel menù a sinistra?
- Idem come sopra.
- È normale che alcuni collegamenti appaiano e scompaiano a seconda della pagina aperta?
- Sì. Per limitare l'ingombro dei tool, la loro presenza è stata limitata alle pagine per cui servono.
- Ho un'idea riguardo ad una cosa da aggiungere al monobook. A chi lo dico?
- Prova a fare un fischio in Wikipedia:Monobook.js/Richieste e ne parliamo!
- Avevo uno script che non è stato incluso in questo monobook. Posso continuare ad usarlo? E come faccio?
- Sì, puoi usarlo. Basta che tu inserisca il codice di questo monobook prima del tuo tool all'interno del monobook.js. Già che ci sei, spiega il tuo tool in Wikipedia:Monobook.js/Richieste, se lo troviamo utile anche per altri utenti potremmo aggiungerlo nelle versioni future.
- Ho fatto come hai detto nella risposta precedente, ma è venuto fuori un gran casino. Che faccio?
- Per pura sfortuna il tuo tool non è compatibile (ma non disperare). Chiedi aiuto in Wikipedia:Monobook.js/Aiuto. Qualche anima pia ti aiuterà.
- Come al solito il mio problema non è elencato nelle FAQ o queste non mi hanno aiutato a risolverlo. E adesso?
- Esiste sempre una misera assistenza in Wikipedia:Monobook.js/Aiuto. Spiegaci il problema e proviamo a trovare una soluzione.
Pagine correlate
- Wikipedia:Monobook.js/MonobookCompleto.js - Contiene il vero monobook.js
- Wikipedia:Monobook.js/monobook.css - Va installato anche questo per funzionare
- Wikipedia:Monobook.css - L'altro monobook
- JavaScript - Il linguaggio usato per la codifica
- MediaWiki:Monobook.js - Il monobook.js di default di Mediawiki