BlueCloth è l'implementazione Ruby del linguaggio di markup Markdown. Può essere installato con RubyGems
# gem install bluecloth
oppure scaricando il tarball dal sito ufficiale del progetto e seguendo le istruzioni.
Scopo di Markdown, e di BlueCloth, è quello di generare codice HTML a partire da un linguaggio di markup semplificato. Ecco ad esempio come vengono generati i tag per gli header <h1>
e <h2>
:
# Titolo del capitolo ## Titolo del paragrafo
In alternativa è possibile utilizzare una sintassi setext-like:
Titolo del capitolo =================== Titolo del paragrafo --------------------
convertito in HTML viene fuori lo stesso risultato
<h1>Titolo del capitolo</h1> <h2>Titolo del paragrafo</h2>
Le liste vengono rappresentate usando l'asterisco, il segno più e il meno:
* John * Paul * Ringo * George
per le liste ordinate si usano dei numeri seguiti da un punto:
1. Primo 2. Secondo 3. Terzo
I collegamenti sono rappresentati in questo modo:
Questo è un [esempio](http://example.com/ "Titolo di esempio") di collegamento.
che produce
<p>Questo è un <a href="http://example.com/" title="Titolo di esempio">esempio</a> di collegamento.</p>
Le immagini vengono inserite indicando l'attributo alt
, il percorso e opzionalmente il titolo:
![Alt text](/path/to/img.jpg "Optional title")
Una panoramica completa della sintassi è disponibile sul sito di Markdown.
Ecco un semplice esempio di utilizzo di BlueCloth:
str= <<FIN #Ruby Programming Language Interpreted, dynamically typed, _pure object-oriented_, scripting language for fast, easy programming, from [Japan](http://www.jnto.go.jp/eng/). __Simple__, straightforward, extensible. FIN bc = BlueCloth::new( str ) puts bc.to_html
il risultato è il seguente:
<h1>Ruby Programming Language</h1> <p>Interpreted, dynamically typed, <em>pure object-oriented</em>, scripting language for fast, easy programming, from <a href="http://www.jnto.go.jp/eng/">Japan</a>. <strong>Simple</strong>, straightforward, extensible.</p>
Nell'esempio abbiamo semplicemente creato un oggetto di tipo BlueCloth passando a new
la stringa da convertire e abbiamo poi creato il codice HTML con l'ovvio metodo to_html
.
Se anche il linguaggio di BlueCloth risulta poco intuitivo una buona alternativa è rappresentata da Markaby.