NicolaD'Agostino.net

GRAFICA & WEB / ARTICOLI / TRADUZIONI   -   (INFO / )

nome

--> Archivio articoli : Hacker Journal : "Testo e HTML oggi sposi"


TESTO E HTML OGGI SPOSI

La potenza di Perl al servizio di un progetto semplice, e perciò rivoluzionario, per poter scrivere in HTML con la facilità del testo normale.

di Nicola D'Agostino


Dimenticate editor visuali e programmi pieni di pulsanti e funzioni preconfezionate: il metodo più essenziale ed al tempo stesso logico di scrivere testi e di averli pronti per la pubblicazione sul web è un programmino-filtro in Perl chiamato Markdown. Ideato da John Gruber, Markdown è rilasciato come free software ed è un sistema semplice quanto ambizioso che permette di stilare documenti di solo testo convertiti magicamente in html secondo tutti i crismi del W3C.

L'idea di Markdown è questa: non preoccupiamoci di infarcire i documenti di tag HTML o XHTML ma concentriamoci sulla scrittura di normali file di testo in ASCII. L'unica cosa che dobbiamo fare è di usare alcune convenzioni per segnalare titoli, link o corsivi, convenzioni spesso già diffuse e usate da tempo online.
Per avere il file html finale basta dare una "passata" al testo originale tramite lo script in Perl che interpreta le convenzioni e le trasforma in markup (da cui il gioco di parole del programma).
Il risultato è che ci basta un qualsiasi programma editor, e abbiamo documenti master sempre "puliti": leggibili e fruibili anche prima della conversione.

La sintassi

Markdown non è il primo sistema che cerca di sposare leggibilità e formattazione del testo delegando il lavoro sporco ad un meccanismo di conversione di segni di demarcazione. A differenza di altri sistemi venuti prima come Setext o Textile il punto di forza di Markdown è però una sintassi il più possibile comprensibile e amichevole.

Per segnalare (ed ottenere nel file convertito) il corsivo si usano *asterischi* o _underscore_. Per il grassetto gli **stessi simboli** ma __raddoppiati__.
Per i titoli si possono usare segni di cancelletto (# Titolo) oppure una serie di trattini dopo una riga di testo. Il risultato è un tag <H1>.
Per le liste basta preporre un trattino, segno di addizione o asterisco prima di ogni elemento; per avere la formattazione tipo codice un semplice segno di tabulazione. I link? Racchiudere il testo tra parentesi quadre e l'url a seguire in una tonda oppure solo i simboli di < e > attorno all'indirizzo.

Si tratta di scelte che puntano alla semplicità ed alla facilità d'uso e che non appesantiscano la lettura del testo come è, anche a costo di essere limitata e non esaustiva di tutti i tag esistenti nell'html.
Per l'elenco di regole e convenzioni l'url è http://daringfireball.net/projects/markdown/syntax

Il successo di Markdown

Una dimostrazione di popolarità di markdown sono i numerosi porting realizzati nel giro di poco tempo del rilascio. abbiamo una versione in PHP, un modulo in Python, una libreria per Ruby e un'implementazione anche in Javascript.
Markdown è stato incluso nella lista dei pacchetti di Debian Linux e esistono infine ben due plug-in: uno è un "servizio"specifico per Mac OS X mentre l'altro è un'estensione per Firefox, a cui aggiunge una voce nel menù contestuale, invocabile su qualsiasi testo selezionato premendo il tasto destro del mouse.


conversione da shell di un file testuale


L'uso di Markdown

Markdown è pensato per funzionare come script a sè stante in Perl -e quindi usato per le conversioni da linea di comando o richiamato da programmi che supportano questo linguaggio.
Per usarlo la sintassi da shell Unix è la seguente:
% perl Markdown.pl --html4tags file.txt Per non far apparire il testo convertito a video ma salvarlo in un file possiamo usare la ridirezione dell'output:
% perl Markdown.pl --html4tags file.txt > file.html
Markdown è usabile anche come plug-in per alcune piattaforme di blogging come Movable Type, e Blosxom con cui si integra offrendo un utilizzo ancora più sofisticato agli utenti.
Le richieste di sistema sono semplici: Perl 5.6.0 o superiore e il modulo libreria Digest::MD5. Per l'uso con Movable Type bisogna avere almeno la 2.6 di quest'ultimo. Per chi volesse provare "senza impegno" la facilità ed efficacia della conversione da testo a HTML c'è anche una versione funzionante online all'url http://daringfireball.net/projects/markdown/dingus


versione online di Markdown



Il percorso inverso

Per chi volesse prendere un testo online e ripulirlo (ma non troppo) per continuare l'editing e poi ripassarlo a Markdown è disponibile un foglio di stile XSLT. Questo, realizzato da un appassionato, è disponibile all'url http://www.lowerelement.com/Geekery/XML/XHTML-to-Markdown.html ed è in grado di trasformare un file XHTML in un testo formattato secondo la sintassi di Markdown, rendendolo fruibile e editabile anche se non si dispone del file di partenza testuale.


Aaron Swartz

Tra gli sviluppatori coinvolti coinvolti più da vicino in Markdown c'è Aaron Swartz, ragazzo prodigio, Swartz coautore a 14 anni delle specifiche dell'RSS 1.0, membro del gruppo di lavoro del W3C per l'RDF e collaboratore del guru del neocopyright Lawrence Lessig e di Creative Commons. Seppure ancora adolescente Swartz è un geek prolifico e tra i programmi realizzati ci sono numerose utility per la conversione di formati e gestione dell'HTML.


Una versione di questo articolo è stata pubblicata su "Hacker Journal" n. 85 del 06/10/2005


--> Archivio articoli : Hacker Journal : "Testo e HTML oggi sposi"


GRAFICA & WEB / ARTICOLI / TRADUZIONI   -   (INFO / )


Il sito non ha carattere di periodicità e non rappresenta "prodotto editoriale". Il materiale è riprodotto a scopo puramente informativo e illustrativo e resta di proprietà dei legittimi titolari.