Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Markdown: guida al linguaggio di mark up

Guida a Markdown, linguaggio di markup estremamente semplice ed altamente leggibile, molto utilizzato in vari contesti, dai forum alla documentazione.
Guida a Markdown, linguaggio di markup estremamente semplice ed altamente leggibile, molto utilizzato in vari contesti, dai forum alla documentazione.
Link copiato negli appunti

Markdown è un linguaggio di markup leggero e versatile, che si differenzia rispetto ad altri per la sua elevata leggibilità. Esso si basa su costrutti sintattici semplici, che non alterano significativamente la struttura del testo annotato. Grazie a questa caratteristica, i documenti markdown possono essere creati, letti e visualizzati con un semplice editor di testo, senza che questo richieda la comprensione di complessi tag come avviene nel caso di altri linguaggi di markup.

Storia

Markdown nasce nel 2004 dalla collaborazione tra Jonh Gruber e Aaron Swartz. Lo scopo che si prefiggono gli autori è quello di consentire a chi scrive contenuti di creare pagine web focalizzandosi sul testo piuttosto che sulla struttura di un documento HTML, dei tag e della relativa sintassi.

Oltre a definire la sintassi del linguaggio, Gruber pubblicò uno script in Perl, Markdown.pl, che permetteva di convertire un documento di testo formattato in markdown in un documento XHTML perfettamente valido. Successivamente, Markdown è stato reimplementato in un modulo Perl (Text::Markdown), garantendone così una maggiore diffusione.

Sebbene sia sempre stato caratterizzato da una specifica informale, nel 2016 è stato ufficialmente standardizzato nella RFC7763, con tanto di tipo MIME text/markdown.

Diffusione

Oggi, Markdown è largamente utilizzato sul web come alternativa agli editor WYSIWYG. Piattaforme quali GitHub, Gitlab, Reddit, StackExchange e molte altre consentono agli utenti di utilizzare markdown per formattare i propri commenti, messaggi, ecc.

Pratica comune prevede che i documenti di README nei repository di progetti open source siano scritti in markdown. Ciò permette di arricchire il documento con una formattazione più chiara qualora esso possa essere visualizzato con uno strumento che interpreta la sintassi markdown, pur mantenendo un'ottima leggibilità nel caso in cui si apra con un semplice editor di testo.

Diversi generatori di siti statici, come ad esempio Jekyll, accettano in input documenti markdown, che vengono poi convertiti dal generatore in pagine web statiche.

Sintassi di Markdown

La sintassi di base è molto semplice, e consente di effettuare alcune semplici operazioni di formattazione, sia sul testo che sulla struttura del documento.

Testo

In markdown, i paragrafi sono separati da una riga vuota. Ad esempio:

Codice Markdown Codice HTML corrispondente
Testo del primo paragrafo.Testo del secondo paragrafo.
<p>Testo del primo paragrafo.</p><p>Testo del secondo paragrafo.</p>

Si possono specificare attributi di formattazione quali grassetto, corsivo o specificare che si vuole usare un carattere a spaziatura fissa (molto utile, ad esempio, per inserire snippet di codice), semplicemente aggiungendo i caratteri ** (doppio asterisco), _ (underscore) e ` (apice inverso). Ad esempio:

Codice Markdown Codice HTML corrispondente
Una parola in **grassetto**,
un'altra in _corsivo_ ed infine
del `testo a spaziatura fissa`.
<p>Una parola in <strong>grassetto</strong>,
un'altra in <em>corsivo</em>
ed infine del <code>testo a spaziatura
fissa<code></p>

Come si può notare, il codice markdown risulta molto più leggibile di quello HTML, e permette di leggere il documento direttamente.

Intestazioni

Markdown supporta due livelli di intestazioni. Il primo si effettua "sottolineando" il testo con una serie di caratteri =. Il secondo livello si effettua invece con il suffisso ##. Ad esempio:

Codice Markdown Codice HTML corrispondente
Titolo del documento
====================## Sottotitolo
<h1>Titolo del documento</h1><h2>sottotitolo</h2>

Inoltre è possibile specificare una riga orizzontale con 3 o più trattini. Ad esempio:

Codice Markdown Codice HTML corrispondente
Testo prima della riga.---
Testo dopo la riga.
<p>Testo prima della riga.</p>
<hr/>
<p>Testo dopo la riga.</p>

Liste

Markdown supporta sia le liste puntate che le liste numerate. Per le prime, basta usare il carattere *. Le liste numerate invece possono essere specificate con il numero seguito ad un punto. Ad esempio:

Codice Markdown Codice HTML corrispondente
Lista della spesa:* Latte
* Uova
* Burro
Ricetta:
1. Sbatti le uova
2. Unisci il burro
3. Incorpora il latte
<p>Lista della spesa:</p><ul>
<li>Latte</li>
<li>Uova</li>
<li>Burro</li>
</ul><p>Ricetta:</p><ol>
<li>Sbatti le uova</li>
<li>Unisci il burro</li>
<li>Incorpora il latte</li>
</ol>

Immagini

Markdown permette di inserire immagini all'interno del documento. Ovviamente, queste non saranno visualizzate se si apre il documento con un semplice editor di testo.

Codice Markdown Codice HTML corrispondente
![Mia Immagine](immagine.png "logo")
<p><img src="immagine.png" alt="Mia Immagine" title="logo" /></p>

Collegamenti

Analogamente, è possibile inserire dei collegamenti ad altri documenti semplicemente indicandone l'URL:

Codice Markdown Codice HTML corrispondente
Clicca [qui](http://www.miosito.com/faq) per saperne di più
<p>Clicca <a href="http://www.miosito.com/faq">qui</a>
per saperne di più</p>

Estensioni

La sintassi standard di Markdown è stata arricchita nel corso del tempo per permettere di descrivere documenti dalla struttura più complessa con la semplicità offerta da questo linguaggio di markup. La specifica più nota è forse la Github Flavored Markdown (in breve GFM), sviluppata in casa GitHub. Essa aggiunge alcuni elementi interessanti, quali ad esempio tabelle, link automatici, task list, ed altre.

Ad esempio, in GFM è possibile creare una tabella come segue:

Codice Markdown Codice HTML corrispondente
| Descrizione | Prezzo |
| ----------- | ------ |
| Mio oggetto | 22,00 |
<table>
<thead>
<tr>
<th>Descrizione</th>
<th>Prezzo</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mio oggetto</td>
<td>22,00</td>
</tr>
</tbody>
</table>

Rimanendo nell'ambito delle estensioni, è bene citare KaTeX, una potente libreria che permette di inserire, in un documento HTML, formule matematiche utilizzando la sintassi LaTeX. Utilizzando il sistema delle estensioni, è possibile includere codice KaTex in un documento Markdown, qualora lo strumento di conversione da Markdown a HTML lo supporti.

Come provarlo

Un ottimo modo per imparare ad utilizzare efficacemente la sintassi Markdown è di utilizzare un editor WYSIWYG. Vi consigliamo StackEdit, un editor Markdown completamente online che accetta testo Markdown nel pannello di sinistra e mostra un'anteprima della formattazione risultante nel pannello di destra.

Conclusioni

Markdown è sicuramente uno strumento molto potente, pensato soprattutto per chi scrive. Con Markdown, l'autore è libero di concentrarsi sul testo senza distrazioni sintattiche, pur mantenendo la possibilità di specificare la formattazione del proprio documento in modo semplice e veloce.

Ti consigliamo anche