Passa ai contenuti principali

Blogger + SyntaxHighligther + Bootstrap

Premessa
Come avrete notato da qualche settimana ho aggiornato il layout del blog. Questo nuovo layout è dinamico e basato sul classico Bootstrap. Da anni uso il plugin Javascript di Alex Gorbatche, SyntaxHighlighter per poter renderizzare il codice sorgente. E' un ottimo strumento che si adatta bene anche alla piattaforma Blogger di Google. Peccato che il mix dei tre componenti: Blogger + SyntaxHighlighter + Bootstrap non vadano molto d'accordo. Sembra infatti che il contenuto del post sia caricato successivamente al Javascript.

Workaround parziale
L'idea di fondo per garantire il funzionamento dei vari componenti è quello di ritardare il rendering del codice sorgente contenuto nei post. La soluzione non è certo delle più eleganti visto che si introduce un ritardo programmatico e cementato nel codice ma per adesso è la soluzione più indolore e facile che abbia trovato.

1. Aggiungere i CSS di SyntaxHighlighter nell'head del documento:

< link href='http://alexgorbatchev.com/pub/sh/2.1.382/styles/shCore.css' rel='stylesheet' type='text/css'/ > 
< link href='http://alexgorbatchev.com/pub/sh/2.1.382/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/ >

2. Aggiungere i Javascript per i brashes disponibili in fondo alla pagina, appena prima la chiusura del tag body
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shCore.js' type='text/javascript'/>
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushJava.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushSql.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushXml.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushXml.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushBash.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushJScript.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushPerl.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushPlain.js' type='text/javascript'/ >
< script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushScala.js' type='text/javascript'/ >
 
< script language='javascript' type='text/javascript' >
  SyntaxHighlighter.config.bloggerMode = true;
         
  // set timeout and iterate through the appropriate html items
  window.setTimeout(function() {
    jQuery( "pre" ).each(function( index ) {
    SyntaxHighlighter.highlight(undefined, jQuery( this ).get(0));
   });
  }, 3000);
  < /script >

Osservazioni finali
Il timeout dovrebbe essere funzione del broswer e della connessione, cosa che evidentemente non va bene per essere una soluzione stabile nel tempo.
La funzione jQuery analizza tutti i tag pre, dando per scontato che i tag pre vengano utilizzati solo per SyntaxHighlighter, cosa che non è necessariemente vera. Questa limitazione potrebbe corrompere alcuni layout.

Call to action
Se avete delle soluzioni migliori vi prego di condividerle.
Fonte
Ulises Fasoli

Post popolari in questo blog

Se excel non aggiorna le formule

Oggi in ufficio è capitata una richiesta particolare. In un documento excel dopo aver eseguito un copia-incolla di una formula non si aggiornavano i risultati nelle celle interessate. Dopo attimi di perplessità dal fondo dell'ufficio il capo ci illumina con una funzione ai più sconosciuta e che ha risolto il problema: il tasto F9. Scusate la mia ignoranza in excel ma questo blog è pensato proprio per appuntare esperienze di vita informatica. Tutto sta nel fatto che i "calcolatori d'un tempo" non disponevano di una adeguata potenza di calcolo e nelle operazioni di copia-incolla si verificavano lunghe attese per l'aggiornamento. La soluzione adottata da MS è stata quella di inserire un'opzione per impedire l'aggiornamento automatico e forzarlo con una combinazione di tasti... il tasto F9!
Combinazioni utili per il calcolo delle formule F9 = calcola le formule modificate dall'ultimo calcolo in tutte le cartelle e fogli di lavoro aperte. MAIUSC + F9 = c…

Dove si trova il mio ISP?

Il link di oggi è My IP Address Lookup. Questo servizio spagnolo mostra dove si trova fisicamente il vostro ISP. Quando vi collegate ad internet in realtà prima fate una richiesta (il vostro modem o router) ad una macchina del vostro ISP e poi vi viene assegnato un indirizzo IP. Se volete sapere dove si trova la macchina che vi permette di accedere alla rete visitate pure
http://www.ip-adress.com/

Potrete inoltre conoscere il vostro IP e il provider che ve lo offre

RaspberryPi: Controllare il desktop da remoto con VNC

Premessa
A volte può essere utile avere l'accesso da remoto ad un desktop grafico sul nostro raspberrypi. Il metodo più diffuso è quello di installare un server VNC e collegarsi poi con un client da un altro computer. Per il raspberrypi possiamo scegliere tra due strade a seconda dell'utilizzo che se ne vuole fare:

Installare TightVNC Server: crea una sessione diversa per ogni connessione non cifrataInstallare x11vnc: permette di comandare il desktop dell'utente corrente sul raspberrypi
Tra i due metodi ho preferito il secondo visto che il mio raspi è collegato direttamente ad un televisore CRT. In questo modo posso navigare in internet su schermo grande direttamente dal tablet comodamente seduto sul divano. Unica nota negativa è che questo meccanismo non funziona per pilotare XBMC, per il quale è meglio utilizzare il client per android per esempio.

Installare TightVNC Server
1. Da linea di comando eseguire
sudo apt-get install tightvncserver
2. Avviare il server con il coman…