Archivio per il tag bookmarklet

A quick keyword bookmarklet per Wordpress

Visto che mi ero rotto le scatole di avere una decina di segnalibri per la gestione del blog li ho unificati in uno unico, lo posto così magari può servire anche a qualcun’altro. (anche se non credo, ma nella vita non si sa mai :-) ).

Basta aggiungerlo ai segnalibri e associargli una keyword, io ad esempio ho scelto blog. Una volta associata la keyword, basterà digitare la keyword seguita da uno dei seguenti commandi per andare alla pagina desiderata.

Esempi:

  • blog scrivi - va alla pagina per la scrittura di un nuovo articolo;
  • blog bacheca - fa il login e si porta sulla pagina principale (Bacheca);
  • blog plugin - va alla gestione dei plugin;
  • blog gestione - va alla pagina per la gestione del blog;
  • blog opzioni - va alla pagina delle opzioni generali di Wordpress;
  • blog - senza parametri o con un parametro diverso da quelli qui indicati, manda alla home del blog.

Questi invece sono attivi solo se si usa K2 (il primo) e il plugin Wp-backup (il secondo):

  • blog k2 - porta alla pagina di gestione della barra laterale di K2;
  • blog backup - porta alla pagina per effettuare un backup del database (via wp-backup);

Si possono, con un minimo di conoscenza di Javascript, aggiungerne anche altri, a me per ora questi bastano visto che sono quelli che visito più spesso :-),.

Per farlo funzionare su un blog diverso dal mio, sostituire:

javascript:var s='%s';url='http://www.gialloporpora.org';

con l’indirizzo della home del proprio blog. Fine. Ecco il bookmarklet:

<–Quick bookmarklet to wordpress blog–>

Trascinarlo nella barra degli indirizzi e poi indicizzarlo con una keyword. Io l’ho provato solo con Firefox 3, però credo possa funzionare anche con Opera, casomai domani verifico :-) .

EDIT: Funziona egregiamente anche con Opera :-D , la procedura per aggiungerlo è un po’ diversa da quella da eseguire con Firefox, il link va infatti aggiunto come motore di ricerca invece che come segnalibro. Per sapere come fare, leggere: Engelium.

Ne ho anche uno per i forum SMF ottimizzato per due o tre sezioni del forum di MozillaItalia, quando ho voglia (cioè forse mai visto che a me va bene anche così :-P) di aggiungerci tutte le sezioni magari lo posto. Ovvio che se qualcuno lo vuole così com’è glielo passo :-) .

Technorati Tags: , , ,

The art of social bookmarking

Non so se qualcuno stia usando o abbia usato qualche sito di social bookmarking per condividere i propri segnalibri con il resto del mondo, comunque se qualcuno fosse iscritto a del.icio.us e volesse aggiungermi al network questo è l’indirizzo (per un po’ lo lascio anche nella sidebar).

Ho visto che in molti blog lo sparano nel feed RSS ma non ho capito come si fa quindi apro un post apposito :-). Ci sono veramente un sacco di siti di social bookmarking io per il momento ho scelto del.icio.us non fosse altro perché è il più usato. Vorrei utilizzare de.lirio.us che è il del.icio.us opensource ma

  • appaiono spesso e volentieri errori del server;
  • non capisco come cercare nei segnalibri (secondo me la feature è proprio assente);
  • una volta importati poi non si può più esportare la lista dei segnalibri

Quindi non mi sento di consigliarlo a nessuno, anche se, spero che il progetto continui e abbia sviluppi positivi :-).

Un mese fa avevo riscontrato problemi con il feed RSS di due account su del.icio.us ma ora sembra funzionare tutto alla perfezione in entrambi gli account che ho registrato. Per del.icio.us esiste anche un’estensione apposita per sincronizzare i segnalibri con quelli di Firefox, anche se, io preferisco un metodo più manuale che si basa sulla sottoscrizione dei feed RSS (vedi qui).

Questo è il segnalibro intelligente che uso per aggiungere i segnalibri già taggati:

javascript:user='gialloporpora';q=encodeURIComponent(document.getSelection());url='http://del.icio.us/'+user+'?url='+encodeURIComponent(location.href)+'&tags='+encodeURIComponent('%s')+'&notes='+q+'&title='+encodeURIComponent(document.title);location.replace(url);

Il funzionamento è semplice: lo si aggiunge ai segnalibri, gli si assegna una keyword (funziona solo con Firefox :-)) e per inserire una pagina si digita la keyword (io ho scelto add) seguita dai tag che si vogliono assegnare. Se si seleziona del testo nella pagina verrà usato come descrizione del segnalibro. Naturalmente dovete cambiare gialloporpora con il vostro nome utente su del.icio.us.

Ho usato anche Blogmarks (e continuo ad usarlo) però non l’ho usato come sito di social bookmarking ma più come tracciatore dei post fatti sul blog. Differenze fra del.icio.us e blogmarks:

  • blogmarks permette di usare molti più caratteri per descrivere il segnalibro cosa che lo rende ideale per tracciare i post di un blog;
  • di contro del.icio.us fornisce più widget da utilizzare nel blog.

Traduttore in linea

AGGIORNAMENTO: purtroppo SPB fa delle conversioni assurde e i bookmarklet non funzionavano, ora ho fatto l'escape manuale dei caratteri e spero il problema si sistemi :-(.

Visto che un solo %s da usare come parametro nelle keyword di Firefox non bastava, quelli di Lifehacker si sono inventati il modo di utilizzare parametri multipli :-D. Qui trovate il post su Lifehacker con alcuni esempi di utilizzo delle keyword multiparametriche. Io mi ero posto una domanda simile ma non conoscendo così bene Javascript non ero riuscito nel mio scopo. Ora che ho visto come si fa però, ho modificato il bookmarklet per le traduzioni utilizzando questa nuova funzione segnalata su Lifehacker. Se leggete il post originale su Lifehacker troverete il bookmarklet prototipo che può essere utilizzato, ad esempio, per cercare del testo nei messaggi di particolari utenti nei Forum o affinare le ricerche con un parametro in più a vostra scelta.

Se qualcuno conosce bene Javascript si accorgerà sicuramente che il bookmarklet è migliorabile diciamo che lo scopo è quello che funzioni, ma, non è buon codice. Probabilmente ad un vero programmatore gli si rizzeranno i capelli :-P. Se qualcuno vuole migliorarlo è benvenuto :-).

Il bookmarklet necessita che vengano passati sempre almeno due parametri che rappresentano, rispettivamente, la sigla della lingua di partenza e di quella di arrivo e va usato da barra degli indirizzi richiamandolo tramite keyword, motivo per cui funziona solamente con Firefox. Con qualche if in più si potrebbe farlo andare anche con altri browser ma perderebbe di utilità e diventerebbe pressoché uguale a quelli proposti nei siti di traduzione. I bookmarklet sono due: il primo usa come servizio di traduzione Google Translate, mentre il secondo utilizza BabelFish.

Supponiamo di associare al bookmarklet che usa Google Translate la keyword: trans (tranquilli non è l'amico di Lapo ma solo l'abbreviazione di translate :-)) e trans2 a quello di BabelFish, ecco come vengono richiamati:

trans sigla_lingua_pagina sigla_lingua_in_cui_tradurre (opzionalmente altro testo)
trans2 sigla_lingua_pagina sigla_lingua_in_cui_tradurre (opzionalmente altro testo)

I primi due parametri devono sempre essere passati mentre il terzo è opzionale. Le sigle da passare sono quelle canoniche: it (italiano), en (inglese), fr (francese), de (tedesco) e così via.

Purtroppo, non si possono usare lettere accentate come testo opzionale e non ne so la ragione, anzi se qualcuno ne conosce il motivo, mi farebbe un grosso piacere a spiegarmelo commentando o contattandomi via email. Ecco come funziona:

  • se viene selezionato del testo nella pagina verrà tradotto il testo selezionato;
  • se non viene selezionato del testo e vengono passati solo due parametri viene tradotta la pagina;
  • se viene passato del testo senza selezionare nulla viene tradotto il testo digitato come “terzo parametro.

Ma bando alle ciance e facciamo qualche esempio pratico :-).

Esempi

trans it en
senza selezionare alcun testo traduce la pagina dall'italiano all'inglese
transen it
selezionando del testo, tradurrà il testo dall'inglese all'italiano,
trans it en oggi il sole splende
traduce dall'italiano all'inglese "oggi il sole splende".

Naturalmente la coppia di lingue deve essere supportata dal servizio di traduzione utilizzato, purtroppo per quanto riguarda Google Translate l'italiano può essere usato solo in coppia con l'inglese dunque non si possono usare combinazioni del genere (o meglio si possono usare ma non producono alcun risultato):
transit fr
Naturalmente se in futuro Google migliora il servizio offerto può darsi che tali comandi acquistino un senso compiuto. Se vi accontentate dell'inglese invece potete tradurre da/in quasi tutte le lingue del mondo, per esempio:

transen es
traduce dall'inglese allo spagnolo, oppure:
trans de en
traduce dal tedesco all'inglese e così via.

Se passate la stessa lingua, come ad esempio:
trans it it

potete bypassare l'eventuale proxy che vi blocca la pagina come spiegato da O'Reilly.

Con BabelFish si può inoltre tradurre dall'italiano al francese e viceversa, sono validi dunque i comandi:
trans2fr it
trans2it fr

bene ora che sapete come si usano, se volete potete aggiungere i due bookmarklet :-D.

Google Translate

javascript:var quote=document.getSelection();var s='%s'; if ((quote=='' && s.length>5)) {testo=encodeURIComponent(s.substring(5,s.length));url='http://translate.google.com/translate_t?langpair=%s|%s&text='+testo;} else{if (quote=='') url='http://www.google.com/translate?langpair=%s|%s&u='+encodeURIComponent(location.href); else url='http://translate.google.com/translate_t?text='+quote+'&langpair=%s|%s'};t=''; qc=0; chunks=url.split('%s'); for(i=0; i<5; i++){if(s.charAt(i)=='%22')qc=qc^1; t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i)); }args=t.split(/\s/); nurl=''; for(i=0; i<chunks.length; i++){nurl+=chunks[i]; if(args[i]!=undefined) {args[i]=args[i].replace(/\^/g,' '); nurl+=args[i]; }}location.replace(nurl,'');

BabelFish

javascript:var quote=document.getSelection();var s='%s'; if ((quote=='' && s.length>5)) {testo=s.substring(5,s.length);url='http://babelfish.altavista.com/tr?doit=done&intl=1&tt=urltext&lp=%s_%s&trtext='+encodeURIComponent(testo)+'&btnTrTxt=Traduci';} else{if (quote=='') url='http://babelfish.altavista.com/babelfish/tr?trurl='+encodeURIComponent(location.href)+'&lp=%s_%s&btnTrUrl=Traduci'; else url='http://babelfish.altavista.com/tr?doit=done&intl=1&tt=urltext&trtext='+encodeURIComponent(quote)+'&lp=%s_%s&btnTrTxt=Traduci'};t=''; qc=0; chunks=url.split('%s'); for(i=0; i<5; i++){if(s.charAt(i)=='%22')qc=qc^1; t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i)); }args=t.split(/\s/); nurl=''; for(i=0; i<chunks.length; i++){nurl+=chunks[i]; if(args[i]!=undefined) {args[i]=args[i].replace(/\^/g,' '); nurl+=args[i]; }}location.replace(nurl,'');javascript:var quote=document.getSelection();var s='%s'; if ((quote=='' && s.length>5)) {testo=encodeURIComponent(s.substring(5,s.length));url='http://babelfish.altavista.com/tr?doit=done&intl=1&tt=urltext&lp=%s_%s&trtext='+encodeURIComponent(testo)+'&btnTrTxt=Traduci';} else{if (quote=='') url='http://babelfish.altavista.com/babelfish/tr?trurl='+encodeURIComponent(location.href)+'&lp=%s_%s&btnTrUrl=Traduci'; else url='http://babelfish.altavista.com/tr?doit=done&intl=1&tt=urltext&trtext='+encodeURIComponent(quote)+'&lp=%s_%s&btnTrTxt=Traduci'};t=''; qc=0; chunks=url.split('%s'); for(i=0; i<5; i++){if(s.charAt(i)=='%22')qc=qc^1; t+=((s.charAt(i)==' '&&qc)?'^':s.charAt(i)); }args=t.split(/\s/); nurl=''; for(i=0; i<chunks.length; i++){nurl+=chunks[i]; if(args[i]!=undefined) {args[i]=args[i].replace(/\^/g,' '); nurl+=args[i]; }}location.replace(nurl,'');

Suggerimenti e opinioni sono gradite :-).

Altre letture::
Firefox Tip: How to set up multi-parameter keyword searches - Lifehacker,
Il blog che non c'è - Tradurre pagine Web al volo,
O'Reilly Network — Using Google to View MySpace or Any Restricted Site,
JavaScript Strings
ìì+JavaScript Strings.

Ti è piaciuto l'articolo? Vota Ok oppure No. Grazie Mille!

Puoi votare l'articolo anche qui, gli articoli precedenti qui.

Bookmarklet per fare citazioni al volo

Ho creato (in risposta ad un'idea che ha avuto @episodico su it-alt.comp.software.mozilla) un piccolo bookmarklet per rendere più semplici le citazioni. Questo è il codice:

javascript:var q=document.getSelection();if (q!='') q='[blockquote]'+q+'[/blockquote]';var testo=prompt('copia e incolla il bbcode', '[url='+location.href+']questo[/url]]'+q);

(testato solo con Firefox e Seamonkey)

Per usarlo ci sono due metodi: inserirlo nella barra degli strumenti come bookmarklet vero e proprio oppure assegnargli una parola chiave e richiamarlo da barra degli indirizzi.

Una volta eseguito, viene mostrata una finestrella di dialogo da cui è possibile copiare il BBCode per inserire la citazione alla pagina. Se inoltre si seleziona del testo questo verrà quotato col tag BBCode blockquote.
Inutile dire che si può modificare a piacimento.

L'unico problema è che non viene inserito un carattere di line break fra il link e la citazione, se qualcuno sa come si aggiungono linee alla finestrella chiamata col comando prompt mi farebbe un gran favore a spiegarmelo nei commenti così miglioro lo script :-D.

AGGIORNAMENTO: ho modificato il bookmarklet in modo che il BBCode venga visualizzato in una textarea di una popup e non nella finestrella del prompt. In questo modo il BBCode apparirà su più linee e anche se il testo quotato è molto lungo viene inserito correttamente. Ecco il nuovo bookmarklet:

javascript:var q=document.getSelection();if (q!='') q='[blockquote]'+q+'[/blockquote]';var u='[url='+location.href+']questo[/url]';finestra=window.open('','BBCode','location=no,toolbar=no,scrollbars=yes,width=350,height=450,status=no');finestra.document.write('<html><title>BBCode</title><body style="background-color:#456;color:#ffffff"><h3>Fare copia e poi incolla del BBCode:</h3><textarea cols="30" rows="20">'+u+'\n'+q+'</textarea></body></html>');

AGGIORNAMENTO2: questa è un'altra versione che al posto di inserire il link come "questo" mette l'esatto titolo della finestra da cui state citando (nei blog per avere il titolo alla notizia dovete accertarvi di leggere la notizia da permalink)

javascript:var q=document.getSelection();if (q!='') q='[blockquote]'+q+'[/blockquote]';var u='[url='+location.href+']'+document.title+'[/url]';finestra=window.open('','BBCode','location=no,toolbar=no,scrollbars=yes,width=350,height=450,status=no');finestra.document.write('<html><title>BBCode</title><body style=%22background-color:#456;color:#ffffff%22><h3>Fare copia e poi incolla del BBCode:</h3><textarea cols=%2230%22 rows=%2220%22>'+u+'\n'+q+'</textarea></body></html>');
Ti è piaciuto l'articolo? Vota Ok oppure No. Grazie Mille!

Puoi votare l'articolo anche qui, gli articoli precedenti qui.

Bookmarklet per commentare nei blog

Ringrazio Andrea Micheloni che ha creato questo interessante bookmarklet per commentare nei blog. Dopo averlo aggiunto alla barra dei segnalibri basterà cliccarlo e completerà automaticamente i campi richiesti per commentare in un blog (nome, email, indirizzo sito web). Funziona con le principali piattaforme di blogging.

Per utilizzarlo è necessario modificare il codice sostituendo i valori tuo_nome, tua_email e tuo_url con i vostri dati personali che desiderate utilizzare quando commentate su un blog. Il codice è questo:

javascript: (function(){var a="tuo_nome" ,m="tua_email" ,u="tuo_url"; function f(f,r){if(document.getElementById(f)) document.getElementById(f).value=r;} f("author",a); f("name",a); f("uname",a); f("edit-name",a); f("email",m); f("mail",m); f("edit-mail",m); f("url",u); f("website",u); f("edit-homepage",u);f("comment_name",a); f("comment_email",m);f("comment_url",u); if(document.getElementById( "iden-other")) document.getElementById( "iden-other").click(); })()

Dopo aver apportato le opportune modifiche al codice basterà aggiungerlo ai segnalibri (CTRL-D) e copiarlo nel campo indirizzo. Per un facile accesso vi consiglio di metterlo nella cartella "Barra dei segnalibr"i :-).

Non credo sia difficile trasformarlo in un userscript per Greasemonkey ma ci sarebbero due problemi:
1) se si scegliesse di eseguirlo su ogni pagina web potrebbe completare anche dei form indesiderati, alla peggio si potrebbe anche creare pagine web per fregarvi le emai;
2) se invece si sceglie di aggiungere manualmente i blog in cui eseguirlo perderebbe la sua immediatezza.

Fra l'altro se volete commentare su questo blog vi può tornare utile perché mi sembra che SPB non gestisca i cookie per ricordarsi del vostro passaggio, come invece fanno quasi tutti gli altri blog :-(.

Il codice originale lo trovate sul blog di Andrea Micheloni che è l'autore di questo simpatico bookmarklet. Se Vi consiglio inoltre di abbonarvi al feed RSS del suo blog in modo da essere informati dei suoi nuovi post :-D.