File Markdown: testo semplice con delle convenzioni, e ce n’è più d’una
Cos’è un file .md, perché due renderer non vanno mai d’accordo e come titoli ed elenchi si ricostruiscono da un PDF che non li registra. Converti nel browser.
In sintesi
- Tipo
- Documenti
- Estensioni
- .md, .markdown
- Tipo MIME
- text/markdown
- Noto anche come
- MD
Un file .md è un file di testo. Non c’è contenitore, non c’è compressione e non c’è niente di binario — aprine uno nel Blocco note e vedi esattamente ciò che contiene. La formattazione è una convenzione più che un linguaggio di marcatura: un # all’inizio di una riga indica un titolo, un trattino indica una voce di elenco, e un renderer che capisce la convenzione li trasforma in HTML. È tutta qui l’idea, ed è il motivo per cui il formato è sopravvissuto a ogni editor di testo formattato della sua generazione: il file è leggibile prima che qualcosa lo renda, e resterà leggibile quando ciò in cui l’hai scritto non ci sarà più.
Leggi di più
La complicazione è che non esiste un solo Markdown. L’implementazione originale del 2004 lasciava indefiniti moltissimi casi, quindi ogni renderer li ha risolti a modo suo; CommonMark esiste per fissare quelle ambiguità, e il GitHub Flavored Markdown ci costruisce sopra tabelle, elenchi di attività e testo barrato. La situazione è riconosciuta ufficialmente: quando text/markdown è stato registrato come tipo di contenuto nella RFC 7763 nel marzo 2016, la registrazione includeva un parametro variant, proprio perché dire che un file è Markdown non dice quale Markdown sia. Ciò che produce questo sito è text/markdown in UTF-8, e usa solo i costrutti su cui ogni dialetto concorda — titoli con il cancelletto, paragrafi separati da righe vuote, elenchi con il trattino e linee orizzontali.
Convertire un PDF in Markdown significa fabbricare una struttura che il PDF non ha mai avuto. Un PDF registra dimensioni dei caratteri, non titoli, quindi le dimensioni sulla pagina vengono ordinate e le sei più grandi diventano i sei livelli di titolo; una riga che è semplicemente più grande del corpo del testo diventa un titolo, che l’autore la considerasse tale o no. Per gli elenchi va peggio: il PDF non ha alcun costrutto di elenco, e il punto che vedi è letteralmente un carattere nel testo, quindi l’unico modo perché un elenco sopravviva è riconoscere quel carattere e riscriverlo come trattino. Le voci numerate non hanno bisogno di questo aiuto — "1. " e "1) " sono già Markdown, e sono già pensati come elenco.
Due dettagli meritano di essere conosciuti perché cambiano il testo stesso. Una riga che termina con un trattino viene trattata come una parola spezzata dall’a capo e ricongiunta senza trattino; e righe consecutive di cinese o giapponese vengono unite senza spazio, perché quelle scritture non ne mettono. Le pagine sono separate da una linea orizzontale, quindi un documento di tredici pagine arriva con dodici linee. Se il PDF è una scansione senza livello di testo, lo stesso modello di riconoscimento usato da PDF a Word legge prima i caratteri dalle immagini delle pagine, sul tuo computer.
Converti altri formati in Markdown
Domande frequenti su Markdown
Un file .md è solo un file di testo?
Sì. Niente contenitore, niente compressione, niente di binario. Qualsiasi editor di testo lo apre, e i marcatori — #, -, ** — sono caratteri normali che puoi leggere così come sono.
Che variante di Markdown ottengo?
Solo le parti su cui ogni dialetto concorda: titoli con il cancelletto, paragrafi separati da righe vuote, elenchi con il trattino e linee orizzontali. Niente qui dipende da un’estensione di GitHub o di CommonMark, quindi viene reso allo stesso modo ovunque lo incolli.
Perché ci sono righe di trattini nel mio documento?
Sono le interruzioni di pagina. Ognuna è una linea orizzontale che segna dove finiva una pagina del PDF e cominciava la successiva, quindi un documento di tredici pagine torna con dodici linee.
Un titolo è uscito al livello sbagliato. Perché?
I livelli sono ordinati in base alla dimensione del carattere, perché un PDF memorizza dimensioni e non titoli. Quando un documento usa la dimensione per dare enfasi più che gerarchia — una citazione in evidenza, una prima riga grande — l’ordinamento segue la dimensione e sbaglia il livello.
Le tabelle si conservano?
Le tabelle disegnate con linee sì — escono come tabelle Markdown, con la prima riga come intestazione. Le tabelle di una pagina scansionata escono come righe normali, dato che una scansione non ha linee da leggere. Se le tabelle sono l’unico motivo per cui converti, da PDF a Excel mette ognuna in righe e colonne con cui lavorare.
Funziona con i PDF scansionati?
Sì. Quando non c’è un livello di testo, un modello di riconoscimento con IA gira nel tuo browser e legge i caratteri dalle immagini delle pagine. I titoli vengono allora ordinati in base all’altezza misurata delle righe invece che alla dimensione del carattere, e non viene caricato nulla.