Come avevo preannunciato nel precedente post, questa è la versione (spero finale) del bookmarklet per fare citazioni. Essendo stato uno dei primi bookmarklet che ho creato (e all’inizio di Javascript ne sapevo poco o nulla) è stato modificato parecchie volte (pure troppe).
Prendendo spunto da una analoga funzione definita in Ubiquity (setTextSelection) che potete trovare qui, invece di aprire un fastidioso pop up ed inserirvi all’interno il codice generato, ora il codice viene innestato direttamente al posto del testo che era stato selezionato, se non si è selezionato alcun testo, verrà restituito il codice per inserire il solo collegamento alla pagina in un prompt. Pure l’utilizzo da barra dei segnalibri tramite keyword è stato migliorato sensibilmente.

Il bookmarklet sembra funzionare anche con Opera, con Safari non ho provato ma escludo funzioni (dovrei modificarlo un pochino), con IE credo proprio non funzioni.
Utilizzo
Ci sono due metodi per utilizzare il bookmarklet:
;
- cliccandolo dalla barra dei segnalibri< ;
- richiamandolo dalla barra degli indirizzi tramite keyword.
Nel primo caso, sarà sufficiente selezionare del testo e cliccare sul bookmarklet (opportunatamente posizionato nella barra dei segnalibri) . Il codice generato verrà inserito in una textarea al posto del testo selezionato.
Purtroppo, usando il bookmarklet in questo modo, non è possibile specificare nessun parametro opzionale. Di default, il codice generato è in formato BBCode. Se si vuole usare il bookmarklet in questa maniera e generare codice HTML, sarà necessario modificare manualmente il codice, nello specifico:
default_mode='b';
con:
default_mode='h';
Io comunque consiglio di utilizzare il bookmarklet via keyword.
Se al bookmarklet viene associata una keyword (o parola chiave che dir si voglia), sarà possibile utilizzarlo dalla barra degli indirizzi. In questa modalità sono disponibili dei parametri opzionali.. Supponiamo ad esempio di aver associato al bookmarklet la keyword cita, ecco un esempio generico di utilizzo:
cita [opzioni] "nuova descrizione del link"
dove opzioni possono essere: -testo, -html e -bbcode. Il testo racchiuso fra apici verrà usato come descrittore del link al posto del titolo della finestra.
Il bookmarklet non è schizzignoso e riconosce le opzioni anche se contratte (t, h e b).
Esempi
Ecco un esempio dell’output del codice (HTML) generato dal bookmarklet:
Bookmarklet – Wikipedia
Un bookmarklet è un piccolo programma JavaScript che può essere memorizzato come un normale URL all’interno dei segnalibri (bookmark in inglese) nei browser Web più popolari, o all’interno degli hyperlinks di una pagina Web. I bookmarklet sono anche detti favlets o favelets per via del fatto che Internet Explorer utilizza il termine “Favorites” (preferiti in italiano) per indicare appunto i segnalibri.
Supponendo di aver indicizzato il bookmarklet con la parola chiave cita ecco alcuni esempi di utilizzo:
Genera il codice HTML necessario per eseguire la citazione. Come descrizione del link verrà usato il titolo della scheda visualizzato nella finestra del browser.
cita t
Viene ritornato il link e il testo selezionato fra caporali («») per eseguire una citazione senza formattazione.
cita -h "questo link
Genera il codice HTML per fare la citazione. Come descrittore del link viene usato il codice fra virgolette (questo link).
cita "questo link"questo link.
Il bookmarklet
Il bookmarklet è questo:
<< Cita >>
trascinarlo nella barra dei segnalibri ed indicizzarlo con una parola chiave (clic destro -> Proprietà). Se si usa Opera, aggiungerlo come search plugin.
EDIT: Potete reperirlo anche su Foxmarks. Anzi, è possibile che la copia sincronizzata su Foxmarks sia più aggiornata.
Se c’è qualche errore potete segnalarlo nei commenti e lo correggo. Per provarlo, selezionare del testo e cliccarci sopra
.
Impostare una favicon per il bookmarklet
Per concludere, inserisco il codice necessario per associare un’iconcina al bookmarklet. Purtroppo, ai bookmarklet viene associata un’icona anonima e pure bruttina, che poco aiuta al suo riconoscimento e che essendo visibile nella barra degli strumenti rovina l’aspetto visivo di Firefox. Io non amo le favicon , e anzi dal menu segnalibri preferisco toglierle di mezzo, però nella barra dei segnalibri una loro utilità ce l’hanno, soprattutto se si decide come nel mio caso di rimuovere il testo del bookmarklet lasciando solo l’icona dello stesso.
Visto la funzione del bookmarklet, ho scelto la favicon di Wikiquote. Il codice va messo nel file userchrome.css o aggiunto come nuovo stile in Stylish. Se si cambia il nome del bookmarklet il codice potrebbe non funzionare, se non sapete come farlo funzionare lasciate un commento.
NOTA: il codice non associa una favicon al bookmarklet in via generale, ma soltanto quando questo si trova nella barra dei segnalibri., quindi se non lo si aggiunge alla barra dei segnalibri è assolutamente inutile !
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
/* Aggiunge la favicon di Wikiquote al bookmarklet per fare citazioni */
toolbarbutton.bookmark-item[label^="Cita"]
{
list-style-image: url("http://wikiquote.org/favicon.ico") !important;
}
/* questo codice aggiuntivo serve per rimuovere il testo e lasciare solo la favicon sulla barra dei segnalibri, ottimo per risparmiare spazio.
/* per eseguire il codice qui di seguito riportare la chiusura del commento su questa riga
toolbarbutton.bookmark-item[label$^"Cita"] > .toolbarbutton-text {
display: none !important;
Enjoy
Technorati Tags: bookmarklet, blog, forum, javascript