La storia dietro l'editor Markdown

Markdown è un modo di scrivere testo formattato che resta naturale da leggere anche come testo semplice. Asterischi per l'enfasi, cancelletti per i titoli e trattini per gli elenchi vengono dal modo in cui si scrivevano già le email. Questa pagina racconta come quell'idea semplice sia diventata la lingua dei file README, degli appunti e della documentazione.

Un quaderno aperto e uno schermo diviso luminoso con testo semplice da un lato e testo formattato dall'altro su una scrivania scura
Un quaderno aperto e uno schermo diviso luminoso con testo semplice da un lato e testo formattato dall'altro su una scrivania scura

Nato dalle email

Nel 2004 John Gruber pubblicò Markdown sul suo sito Daring Fireball, con l'aiuto di Aaron Swartz. L'obiettivo era un testo facile da leggere e scrivere così com'è, ma convertibile in HTML in modo pulito. Molte convenzioni venivano dalle email e da vecchi formati di testo come Setext: sottolineare una riga con segni di uguale per un titolo, circondare una parola di asterischi per enfatizzarla e iniziare le righe con un trattino per un elenco. Il primo convertitore era un unico script Perl.

Troppi dialetti

La descrizione originale lasciava aperti molti casi limite, come quanto rientrare un elenco annidato o quando una riga vuota chiude un blocco. Ogni nuova implementazione decise a modo suo, così lo stesso testo poteva apparire diverso su siti diversi. Nel 2014 John MacFarlane, Jeff Atwood e altri pubblicarono una specifica precisa con centinaia di esempi. Si chiamò prima Standard Markdown e, dopo le obiezioni di Gruber, fu rinominata CommonMark.

GitHub Flavored Markdown

GitHub ha reso Markdown parte del lavoro quotidiano dei programmatori con file README, issue e commenti. Nel 2017 ha pubblicato una specifica formale di GitHub Flavored Markdown come superinsieme rigoroso di CommonMark. Aggiunge tabelle con allineamento delle colonne, elenchi di attività con caselle di controllo, barrato con due tilde e link riconosciuti automaticamente. I blocchi di codice delimitati con il nome del linguaggio, già diffusi, hanno reso possibile l'evidenziazione della sintassi.

Perché le anteprime vengono ripulite

Markdown consente HTML grezzo, comodo ma rischioso. Se una pagina mostra Markdown di qualcun altro, un tag script nascosto, un attributo onerror su un'immagine o un link javascript potrebbero eseguire codice nel browser di chi legge, un attacco chiamato cross site scripting. Per questo l'editor mostra l'HTML grezzo come testo, rimuove gli schemi di link non sicuri e filtra il risultato con un elenco di elementi e attributi consentiti prima della visualizzazione.

Domande frequenti

Chi ha inventato Markdown?

John Gruber ha creato Markdown nel 2004, con Aaron Swartz come importante collaboratore e tester fin dall'inizio.

Qual è la differenza tra CommonMark e GFM?

CommonMark è una specifica precisa del nucleo di Markdown. GitHub Flavored Markdown si basa su di essa e aggiunge tabelle, elenchi di attività, barrato e link automatici.

Perché il mio HTML appare come testo?

Per sicurezza. L'HTML grezzo potrebbe contenere script, quindi l'editor lo mostra come testo e produce solo elementi che sa essere innocui.

Pronto a provarlo?

Apri PictorX nel tuo browser: nessuna installazione, nessuna carta di credito richiesta per iniziare.

Apri l'editor Markdown