La Storia di Markdown
Cos'è Markdown?
Markdown è un linguaggio di markup leggero con una semplice sintassi di formattazione del testo. Il suo obiettivo principale è essere "leggibile dall'uomo" nella sua forma originale (codice sorgente) e facilmente convertibile in HTML valido. Dalla sua pubblicazione nel 2004, è diventato lo standard de facto per scrittori, sviluppatori e creatori di contenuti sul web.
Markdown è due cose: (1) una semplice sintassi di formattazione del testo; e (2) uno strumento software, originariamente scritto in Perl, che converte questa formattazione in HTML.
Origini e Motivazione (Pre-2004)
Prima di Markdown, scrivere per il web richiedeva la conoscenza di HTML (HyperText Markup Language) o l'uso di editor WYSIWYG ("What You See Is What You Get"), che spesso generavano codice pesante e difficile da mantenere.
Esistevano altri linguaggi di markup leggeri, come Textile e reStructuredText, ma molti sembravano ancora codice informatico o richiedevano tag complessi. L'ispirazione per Markdown è venuta da una fonte semplice: la formattazione usata nelle email in testo semplice.
Nei primi giorni di Internet, gli utenti usavano già convenzioni intuitive per formattare le email: *asterischi* per l'enfasi, segni > per le citazioni e trattini per gli elenchi. Queste convenzioni naturali sono diventate la base della sintassi di Markdown.
La Creazione (2004)
Markdown è stato creato da John Gruber (nato nel 1973), blogger tecnologico, designer UI di Philadelphia, Pennsylvania, e creatore del popolare blog Daring Fireball, con contributi significativi di Aaron Swartz (1986-2013), il brillante programmatore prodigio e attivista di Internet.
Gruber ha avuto l'idea originale e ha scritto lo script Perl iniziale che convertiva il testo marcato in HTML. La sua filosofia era chiara: il documento marcato doveva essere pubblicabile così com'è, come testo semplice, senza sembrare riempito di tag o istruzioni di formattazione.
Aaron Swartz ha lavorato sulla sintassi insieme a Gruber. Swartz aveva già creato atx (un altro linguaggio di markup) e ha influenzato la creazione delle sintassi degli heading usando #, oltre ad aiutare a perfezionare le regole di traduzione da HTML a testo.
La versione 1.0.1 è stata rilasciata pubblicamente il 17 dicembre 2004, sotto una licenza open source BSD.
"L'obiettivo di design principale della sintassi di formattazione di Markdown è renderla il più leggibile possibile. L'idea è che un documento formattato in Markdown dovrebbe essere pubblicabile così com'è, come testo semplice, senza sembrare marcato con tag o istruzioni di formattazione."
— John Gruber, Daring Fireball
I Creatori
John Gruber
Creatore di Markdown
Blogger tecnologico e designer UI nato nel 1973 a Philadelphia. Creatore di Daring Fireball, uno dei blog tecnologici più influenti focalizzato sui prodotti Apple. Conduce anche il podcast The Talk Show. Gruber ha conseguito la laurea in Informatica alla Drexel University.
Foto di Randy Stewart • Wikimedia Commons • CC BY-SA 3.0
Foto: Wikimedia Commons • CC BY-SA 3.0
"Aaron Swartz merita un'enorme quantità di credito per il suo feedback sul design della sintassi di formattazione di Markdown. Markdown è molto migliore grazie alle idee, al feedback e ai test di Aaron."
— John Gruber
Frammentazione: L'Era del Far West (2005-2012)
Poiché lo script Perl originale di Gruber aveva alcune ambiguità e non copriva tutti i casi d'uso (come tabelle o definizioni matematiche), la comunità ha iniziato a creare le proprie implementazioni in altri linguaggi come Python, Ruby, PHP e JavaScript.
Questo ha portato alla frammentazione. Gli sviluppatori hanno aggiunto funzionalità extra che non esistevano nella specifica originale. Sono emersi i cosiddetti "Flavors" di Markdown:
MultiMarkdown (2005) — Creato da Fletcher Penney, ha aggiunto supporto per tabelle, note a piè di pagina, metadati ed esportazione LaTeX.
PHP Markdown Extra — Una versione popolare per CMS basati su PHP (come WordPress e Drupal), creata da Michel Fortin.
GitHub Flavored Markdown (GFM) — Forse la variante più influente. GitHub ha adottato Markdown per i suoi file README.md, commenti e issue, aggiungendo evidenziazione della sintassi per blocchi di codice, liste di attività e tabelle. La popolarità di GitHub ha consolidato Markdown come strumento essenziale per gli sviluppatori.
Timeline
2004
PHP Markdown
Michel Fortin porta Markdown in PHP, creando una delle prime implementazioni alternative. Successivamente aggiunge estensioni come tabelle e note a piè di pagina in PHP Markdown Extra.
2008
GitHub Adotta Markdown
GitHub inizia a usare Markdown per README e documentazione, popularizzando massivamente la sintassi tra gli sviluppatori di tutto il mondo.
2012
GitHub Flavored Markdown (GFM)
GitHub crea la propria estensione basata sul parser Sundown, aggiungendo tabelle, evidenziazione della sintassi, liste di attività e autolink.
2012
Inizio della Standardizzazione
Con così tanti "flavors" diversi, un documento Markdown poteva essere renderizzato diversamente a seconda del sito o dell'app utilizzata. Questo frustrava aziende come Stack Exchange e GitHub. Jeff Atwood (co-fondatore di Stack Overflow) e John MacFarlane iniziano gli sforzi per creare una specifica standard rigorosa.
2014
CommonMark
Inizialmente chiamato "Standard Markdown", il progetto ha affrontato l'opposizione di John Gruber, che sosteneva che il suo Markdown era lo standard e non voleva che terze parti si appropriassero del nome. Dopo la disputa, è stato rinominato CommonMark. La specifica fornisce suite di test per garantire che Markdown si comporti allo stesso modo su qualsiasi sistema.
2016
Registrazione IETF
L'IETF pubblica RFC 7763 e RFC 7764, registrando ufficialmente il tipo di media text/markdown.
2017
GFM Basato su CommonMark
GitHub depreca Sundown e rilascia la specifica formale di GitHub Flavored Markdown basata su CommonMark, usando la libreria cmark.
Lo Stato Attuale
Oggi, Markdown ha trasceso il mondo della programmazione ed è onnipresente nella cultura digitale. Le sue principali aree di utilizzo includono:
Documentazione Tecnica — È lo standard del settore. Siti come Microsoft Learn, Google Cloud Docs e la documentazione di GitHub sono scritti in Markdown.
Generatori di Siti Statici (SSG) — Strumenti come Jekyll, Hugo e Gatsby usano file Markdown per generare interi siti.
Note e Produttività — Una nuova ondata di app "secondo cervello" come Obsidian, Notion, Roam Research e Logseq usa Markdown per la memorizzazione dei dati, garantendo che gli utenti non siano bloccati in formati proprietari.
Data Science — I Jupyter Notebooks, strumento essenziale per i data scientist (Python/R), usano celle Markdown per spiegare il codice e presentare i risultati.
Messaggistica — Slack, Discord, WhatsApp e Telegram supportano sottoinsiemi di Markdown per la formattazione dei messaggi.
Futuro e Eredità
Markdown si è dimostrato una tecnologia resiliente. A differenza dei formati proprietari (come .doc) che cambiano e si rompono nel tempo, un file Markdown scritto nel 2004 è ancora perfettamente leggibile oggi da qualsiasi essere umano o computer.
La tendenza attuale punta verso il "Markdown Esteso", come MDX, che permette di usare componenti React all'interno di Markdown, fondendo la semplicità della scrittura con l'interattività del web moderno.
"Markdown ha democratizzato la pubblicazione web, permettendo agli scrittori di concentrarsi sul contenuto senza preoccuparsi del design, e permettendo agli sviluppatori di creare documentazione bella e funzionale senza il peso di elaboratori di testo complessi."
L'Eredità Continua
Più di due decenni dopo la sua creazione, Markdown è onnipresente. La semplicità che Gruber e Swartz cercavano è diventata realtà: milioni di persone scrivono in Markdown ogni giorno, spesso senza nemmeno sapere che stanno usando un linguaggio di markup.
La visione di Aaron Swartz di un Internet aperto e accessibile continua a vivere nello spirito di Markdown: uno strumento gratuito e semplice che democratizza la creazione di contenuti per il web. Il suo impegno per la giustizia sociale e l'accesso libero all'informazione ha profondamente influenzato il modo in cui condividiamo la conoscenza online.
Lo script originale Markdown.pl non viene aggiornato dal 2004, ma la sua eredità vive in centinaia di implementazioni in praticamente tutti i linguaggi di programmazione, da C) a JavaScript, da Python a Go.
Riferimenti e Link Ufficiali