2012-01-29

Syntax Highlights con Objective-C

È partito da poco il mio blog focalizzato al Cocoa, il framework di Apple (per i curiosi, si trova qui).
Naturalmente, la prima necessità, a parte scegliere un titolo ed un modello, è stata di trovare un metodo per far apparire i listati come compaiono in una qualunque IDE, pur non avendo accesso completo all'interno del blog.
Una ricerca su Google mi ha fatto sapere dell'esistenza di molti plugin, ma spesso legati a WordPress o ad altri CMS simili; dovevo trovare qualcosa di generale, che potesse funzionare su Blogger.
Alla fine sono atterrato su Syntax Highlighter, mantenuto da Alex Gorbatchev!
All'inizio era sviluppato e ospitato su Google Code: ora la versione più recente si trova su questo sito ed è quella da usare. Si tratta di un sistema free, attivamente sviluppato, che prevede molti linguaggi e la cui installazione è molto semplice: interamente costruito in javascript, è sufficiente fare l'upload del codice sul proprio sito, posizionarlo in una cartella accessibile e... voila, pronto. Dettagli sono sul sito di Alex.
Per ogni pagina in cui avremo bisogno della gestione del codice, basterà inserire il tag pre con l'indicazione del linguaggio da usare per la colorazione; esempio, se inseriamo codice della shell bash di unix, possiamo scrivere:

<pre class="brush: bash">linee di codice<pre>

Bene! Tutto qui? Per niente!
Il fatto è che l'Objective-C, linguaggio pur comune grazie alla schiera di sviluppatori per iPhone (ma ricordiamo che è partito tutto da NextStep, poi portato sul Mac), è piuttosto dimenticato, per cui il codice javascript non solo non è inserito nel bundle di partenza di Syntax Highlighter, ma non c'è nemmeno una versione ufficiale!
Allora, a caccia con Google! Alla fine ho trovato questi ottimi codici, sviluppati separatamente da Andras Hatvani e da Scott Densmore.
Per quel che mi riguarda, ho adottato il secondo, che mi pare più completo, avendo tutte le parole chiave del Cocoa, mentre il primo ha solo quelle più importanti, che tuttavia sono maggiormente usate.

Ancora un paio di altri problemi da superare prima di poter scrivere codice sul blog:
1) se usiamo Blogger (cioè lo spazio di Google), bisogna impostare un parametro di Syntax Highlighter a true, per poter gestire meglio le caratteristiche peculiari di Blogger. Quindi all'interno del tag si deve inserire il comando

SyntaxHighlighter.config.bloggerMode = true;

2) se siamo su un server non mantenuto da noi (come nel caso di Blogger), dobbiamo entrare in qualche modo nel codice, per aggiungere gli script. Gorbatchev mette a disposizione una serie di link al proprio codice (chiedendo in cambio una donazione, visto che ogni volta che il nostro sito si aprirà, farà un accesso a quei link e genererà traffico). Però questi, come visto, non contengono l'Objective-C, per cui questa parte dovrà comunque essere caricata nel sito: apriamo il codice HTML e all'interno del tag head andiamo ad inserire un blocco script, che conterrà il codice scaricato da uno dei due siti precedenti.

Ora è tutto a posto e possiamo cominciare ad inserire codice come testo del post. Per un esempio di come appare alla fine, provate questo post dove è stato inserito codice per la shell bash.

Nessun commento: