Bookmarklet per fare citazioni convertito in un Ubiquity command

Non so se qualcun altro al di fuori del sottoscritto lo abbia mai usato, però il bookmarklet che avevo creato per generare il BBCode (o il codice HTML) per effettuare una citazione, io lo trovavo davvero comodo. Il bookmarklet presente nel vecchio post, non dovrebbe funzionare con Firefox 3 (viene bloccato il popup), non è difficile modificarlo, e anzi mi devo ricordare di aggiornare il codice, perchè, che qualcuno lo usi o meno, ci tengo a tenere aggiornati i vecchi post, è una questione personale, non mi piace ci siano (anche se ce ne saranno sicuramente), cose che non funzionano.

In realtà, avevo già una mezza idea di fare una versione 4.0 del bookmarklet che invece di aprire quel brutto popup, inestasse il box col codice direttamente nella pagina, ma visto che è un mese che ho la bozza in locale e che non mi decido ad ultimarlo, propongo direttamente la versione Ubiquity del bookmarklet. Il motivo è presto detto, Ubiquity usa JQuery ed ha già una funzione bella e pronta per innestare il codice sostituendo addirittura quello selezionato 😀 (setTextSelection).

Anzi se qualcuno che conosce il framework JQuery, mi dà una mano a convertire la funzione in normale Javascript mi farebbe davvero piacere (sto leggendo a riguardo, ma se qualcuno mi dà una mano è pure meglio 😀 ).

Sperando che abbia fatto correttamente l'escaping di tutti i caratteri, il codice seguente dovrebbe funzionare:

 
function quotehtml(expr) {
    var document = context.focusedWindow.document;
    expr='<textarea style="background-color: #272727; color: #777">&lt;a  href="'+document.location+'" title="'+document.title+'"&gt;'+document.title+'&lt;/a&gt;&lt;br/&gt;\n&lt;blockquote  cite="'+document.location+'"&gt;'+expr+'&lt;/blockquote&gt;</textarea>';
    setTextSelection(expr);
}

function cmd_quotehtml() {
  useSelectionOrPrompt("Enter expression:", quotehtml);
}

 
function quotebb(expr) {
    var document = context.focusedWindow.document;
    expr='<textarea style="background-color: #272727; color: #777">[url='+document.location+']'+document.title+'[/url]\n[quote]'+expr+'[/quote]';
    setTextSelection(expr);
}

function cmd_quotebb() {
  useSelectionOrPrompt("Enter expression:", quotebb);
}

E' sufficiente copiarlo nell'editor di Ubiquity, andare nella pagina da cui si desidera fare una citazione, selezionare il testo da citare e dare uno dei seguenti comandi: quotehtml o quotebb.

Credo che il nome dei comandi dica tutto, il primo genera il codice HTML, il secondo il BBCode.

L’ho caricato anche qui:
quote.txt su Box.net

Il codice di WordPress – dopo una ventina di modifiche ed insulti sparsi – dovrebbe essere OK 😀 . L’ho pure proposto sul gruppo di discussione di Ubiquity, magari – se lo trovano utile – lo inseriscono direttamente fra i comandi supportati .

Esempio del funzionamento dei comandi quotehtml and quotebb

AGGIORNAMENTO: grazie ad Abi che mi ha risposto sul gruppo di discussione e ha uploadato il mio file su Google gruppi, ho scoperto che esiste un modo più semplice di aggiungere un comando, senza dover far copiare/incollare il codice qui sopra nell’editor.
Non ho provato personalmente, ma dovrebbe essere sufficiente aggiungere questo link nei segnalibri e taggarlo con ubiquity, wow 😀 . A saperlo prima mi risparmiavo due tazze di caffè 😛

Technorati Tags: , , , ,

0 Responses to “Bookmarklet per fare citazioni convertito in un Ubiquity command”


  • No Comments

Leave a Reply