Che cos'è il formato di file MD?
Un file con l'estensione .md contiene un documento in testo semplice creato utilizzando il linguaggio Markdown. Esistono molti dialetti di Markdown, ma tutti utilizzano lo stesso insieme di convenzioni e una sintassi simile. I tag Markdown definiscono elementi di formattazione del testo come:
- Attributi grassetto e corsivo
- Intestazioni
- Formato tabella
- Elenchi
- Citazioni (block quotes)
- Incorporamento di immagini e codice HTML
I file .md possono anche utilizzare il suffisso .MARKDOWN. I file .md possono essere facilmente convertiti in formato RTF o PDF, sebbene inizialmente Markdown fosse utilizzato principalmente per generare documenti HTML, tipicamente file di aiuto. Poiché .md è un file di testo semplice, può essere aperto e modificato con qualsiasi editor di testo per creare documenti formattati. Markdown utilizza una sintassi semplice e facile da leggere.
Markdown è stato sviluppato nel 2004 da John Gruber, con il contributo di Aaron Swartz. L'obiettivo principale dei progettisti di questo linguaggio era offrire agli utenti un sistema di markup semplice e intuitivo - a differenza di HTML, ad esempio - per la modifica e la creazione di documenti. L'interprete originale dei file .md, che convertiva i file .md in documenti HTML, era scritto in Perl. Da allora sono state sviluppate molte varianti del linguaggio Markdown. Nel 2016, la RFC 7763 ha registrato il tipo MIME text/markdown, e la RFC 7764 ha catalogato le principali varianti di Markdown, tra cui CommonMark, GFM, Markdown Extra e altre.
Sicurezza e incolumità
RISCHIO: LOWUn file .md è testo semplice e non può eseguire codice, quindi aprirne uno è sicuro. L'unica avvertenza: Markdown consente HTML grezzo, quindi un'anteprima renderizzata potrebbe contenere HTML/JavaScript o immagini che tracciano l'utente - i renderer affidabili (GitHub, VS Code) sanitizzano questi elementi. Come sempre, diffida dei link all'interno di un documento proveniente da una fonte sconosciuta prima di cliccare.
Dettagli del formato
in sintesiProgrammi che aprono file MD
Dettagli tecnici
specifiche approfondite| Tipo MIME | text/markdown (registrato da RFC 7763, 2016) |
| Codifica dei caratteri | Testo semplice UTF-8; nessun header binario o magic bytes - identificato dall'estensione .md e dalla sintassi convenzionale |
| Stile della sintassi | Markup leggero - il sorgente è leggibile dall'uomo senza un parser o un renderer |
| Target di output primario | HTML, prodotto da un processore Markdown; i target secondari includono PDF ed EPUB tramite strumenti come Pandoc |
| Dialetti comuni | CommonMark, GitHub Flavored Markdown (GFM), Markdown Extra, MultiMarkdown, R Markdown (.Rmd) |
| Supporto front matter | Il front matter YAML tra delimitatori --- è ampiamente utilizzato dai generatori di siti statici (Jekyll, Hugo, Eleventy) per memorizzare i metadati della pagina |
| Sintassi intestazioni | Lo stile ATX (# H1, ## H2) e lo stile Setext (sottolineatura con = o -) sono entrambi validi nelle specifiche di base |
| Sintassi collegamenti | In linea [testo](url), stile riferimento [testo][id] e auto-collegamento <url> - tutte e tre le forme fanno parte delle specifiche principali |
| Sintassi blocchi di codice | Delimitati (tripli backtick o tilde) o indentati di 4 spazi; un identificatore di linguaggio dopo il delimitatore di apertura abilita l'evidenziazione della sintassi |
| Supporto tabelle | Non presente nelle specifiche originali del 2004; introdotto come estensione GFM e successivamente come estensione opzionale di CommonMark |
| Sintassi immagini |  - memorizza solo un riferimento URL; le immagini non sono incorporate nel file .md stesso |
| Testo sbarrato | ~~testo~~ - un'estensione GFM; assente dalle specifiche Markdown di base |
| Supporto Math / LaTeX | Sintassi $inline$ e $$block$$ riconosciuta da Obsidian, Jupyter e estensioni VS Code ma al di fuori delle specifiche principali |
| Regole interruzione di riga | Una riga vuota separa gli elementi del blocco; le interruzioni di riga forzate richiedono due spazi finali o un \ prima di un a capo (CommonMark) |
| Conflitti di estensione | .md è occasionalmente rivendicato da strumenti di metadati o di descrizione macchina; il contenuto del file e il contesto distinguono l'uso di Markdown |
| Rilasciato | 2004 (Markdown by John Gruber); CommonMark spec 2014; GitHub Flavored Markdown 2017 |
| Standard aperto | Sì · royalty-free |
| Specifica | spec.commonmark.org |