Trucchi Markdown: soluzioni per le funzioni mancanti
I trucchi Markdown sono frammenti HTML e astuzie di sintassi che aggiungono le funzioni escluse dalla specifica base di Markdown, dal testo sottolineato alle miniature video cliccabili. Quasi ogni trucco dipende da una sola condizione: il renderer deve accettare HTML inline. CommonMark lascia passare l'HTML grezzo per impostazione predefinita, quindi VS Code, Obsidian, Typora e l'editor di questo sito mostrano correttamente queste soluzioni. Le piattaforme con sanitizzazione si comportano in modo diverso. GitHub filtra l'output attraverso una allowlist fissa di tag ed elimina ogni attributo style, mentre Reddit e Discord ignorano completamente l'HTML. Ogni sezione qui sotto mostra la sintassi ed elenca i renderer che la mantengono o la rimuovono.
Sottolineare il testo
Markdown non prevede una sintassi per la sottolineatura, quindi per sottolineare in Markdown racchiudi il testo in un tag HTML <ins> o <u>. Il tag <ins> indica testo inserito e viene mostrato sottolineato in tutti i principali browser. Il sanitizer di GitHub mantiene <ins> ed elimina <u>, quindi <ins> è la scelta più portabile per i README.
Submit the form <ins>before 30 June</ins> to qualify.
Obsidian e Typora rendono entrambi i tag. Bear e Simplenote evitano la via dell'HTML e offrono scorciatoie proprie per la sottolineatura. Su Reddit i tag compaiono come testo letterale, perché il suo parser scarta l'HTML.
Rientrare i paragrafi
Markdown comprime gli spazi iniziali e trasforma i rientri di 4 spazi in blocchi di codice, quindi rientra un paragrafo con l'entità , lo spazio unificatore. Ogni entità sopravvive come uno spazio visibile nell'output. Quattro di seguito simulano una classica tabulazione.
The opening line of this paragraph sits four spaces in.
Le entità passano attraverso quasi tutti i renderer, GitHub incluso, perché sono riferimenti a caratteri e non tag. Il limite emerge su larga scala. Un documento con decine di paragrafi rientrati diventa difficile da leggere nel sorgente, e un editor con controllo dei template, come iA Writer, gestisce i rientri in modo più pulito.
Centrare il testo
Per centrare testo Markdown usa il tag <center>, oppure <p style="text-align:center"> dove il CSS inline sopravvive. HTML 4.01 ha deprecato <center> già nel 1999, ma i browser lo rispettano ancora e la maggior parte dei renderer Markdown lo lascia passare intatto.
<center>Chapter 7</center>
<p style="text-align:center">Chapter 7</p>
GitHub elimina gli attributi style, quindi la seconda forma lì non funziona. Chi scrive README centra loghi e badge con <div align="center">, perché l'attributo align supera il sanitizer di GitHub. Typora e l'anteprima di VS Code rendono entrambi la versione CSS così com'è scritta.
Colorare il testo
Markdown non offre alcun controllo sul colore del testo; per dare colore al testo in Markdown usa <span style="color:#0969da"> dove il CSS è permesso, oppure il vecchio tag <font color="red"> nei renderer che ancora lo accettano.
<span style="color:#0969da">This sentence renders in blue.</span>
<font color="red">This sentence renders in red.</font>
Il tag <font> è stato deprecato nel 1999 e i sanitizer moderni lo trattano senza pietà. GitHub elimina sia l'attributo style sia l'attributo color, quindi nessuna delle due forme produce testo colorato in un README. Un sostituto comune in quel contesto è un blocco di codice recintato con diff come linguaggio, che colora di verde le righe che iniziano con + e di rosso quelle che iniziano con -. Obsidian e Typora rispettano la versione con <span>, come anche i siti Hugo e Jekyll che lasciano passare l'HTML grezzo.
Nascondere i commenti
Nascondi una nota ai lettori con il trucco del riferimento di link [comment]: # oppure con un commento HTML standard. Entrambi mantengono il testo nel file sorgente e fuori dalla pagina renderizzata.
[everything in this line disappears from the output]: #
<!-- This note also stays hidden. -->
Il trucco delle parentesi quadre sfrutta le definizioni di riferimento dei link, una funzione base di Markdown, quindi funziona anche dove l'HTML è bloccato. Metti una riga vuota sopra e sotto, altrimenti un paragrafo adiacente può fondersi con la definizione. Il commento HTML è più leggibile ma resta nel sorgente della pagina generata, dove chiunque può vederlo. GitHub rispetta entrambi i metodi.
Admonition e box di avviso
Crea un box di avviso con un'emoji e un'etichetta in grassetto dentro un blockquote, oppure usa la sintassi degli alert di GitHub, introdotta nel 2023.
> [!WARNING]
> This command overwrites all 14 archived backups.
> 💡 **Tip:** Blockquote callouts work in any renderer.
GitHub supporta 5 tipi di alert: NOTE, TIP, IMPORTANT, WARNING e CAUTION. Ognuno viene mostrato con la propria icona e il proprio colore su github.com, ma la sintassi degrada a semplice blockquote ovunque altro. Obsidian ha un formato di callout separato, > [!note], aggiunto nella versione 0.14 nel 2022, e MkDocs con il tema Material usa righe !!! note. Il blockquote con emoji è l'unica variante che ha un aspetto accettabile su tutte le piattaforme.
Ridimensionare le immagini
Sostituisci la sintassi immagine di Markdown con un tag <img> e imposta gli attributi width e height in pixel.
<img src="diagram.png" alt="Deployment diagram" width="480" height="270">
GitHub mantiene gli attributi width e height anche se elimina style="width:50%", quindi i valori in pixel sono la via affidabile per i README. Le dimensioni fisse prevengono anche gli spostamenti di layout durante il caricamento della pagina. I renderer senza supporto HTML mostrano il tag grezzo come testo, quindi mantieni la forma semplice  su piattaforme come Reddit.
Didascalie delle immagini
Aggiungi una didascalia con i tag <figure> e <figcaption>, oppure inserisci una riga in corsivo subito sotto l'immagine.
<figure>
<img src="harbor.jpg" alt="Fishing boats at dawn">
<figcaption>Hobart's harbor, photographed in March 2025.</figcaption>
</figure>

*Hobart's harbor, photographed in March 2025.*
Sia <figure> sia <figcaption> sono nella allowlist di GitHub, quindi la versione semantica funziona nei README. La riga in corsivo è il ripiego per i renderer senza HTML. Gli screen reader la annunciano come testo normale e non come didascalia, ed è questo il compromesso della sua portabilità.
Link che si aprono in una nuova scheda
I link Markdown non possono aprirsi in una nuova scheda; scrivi invece l'ancora in HTML grezzo con target="_blank".
<a href="https://example.com/report" target="_blank" rel="noopener">2026 annual report</a>
Aggiungi rel="noopener" così la nuova pagina non può eseguire script contro la finestra che l'ha aperta. Questo trucco ha una portata limitata. GitHub rimuove l'attributo target durante la sanitizzazione, e ogni link di un README si apre comunque nella stessa scheda. Il trucco funziona nei generatori di siti statici come Hugo e Jekyll, che lasciano passare l'HTML intatto, ed è proprio lì che l'apertura in nuova scheda conta di più.
Simboli e caratteri speciali
Digita i simboli direttamente, dato che i file Markdown sono semplice testo Unicode, oppure usa le entità HTML quando un simbolo è difficile da raggiungere dalla tastiera. Copia © o → da una qualsiasi pagina di riferimento dei caratteri e incollalo nel file; viene mostrato senza modifiche.
| Simbolo | Entità HTML |
|---|---|
| © copyright | © |
| ® marchio registrato | ® |
| ™ trademark | ™ |
| → freccia a destra | → |
| ° grado | ° |
| € euro | € |
Le entità vengono convertite in quasi tutti i renderer, GitHub incluso. L'unica trappola sono i blocchi di codice, dove © viene stampato letteralmente perché il codice recintato disattiva la decodifica delle entità.
Indice dei contenuti
Costruisci un indice come elenco puntato di link che puntano agli ID àncora delle intestazioni. GitHub, GitLab e la maggior parte degli altri renderer generano un ID per ogni intestazione: il testo viene messo in minuscolo, gli spazi diventano trattini e quasi tutta la punteggiatura viene rimossa.
- [Underline Text](#underline-text)
- [Resize Images](#resize-images)
- [Embed Videos](#embed-videos)
Un'intestazione chiamata "Resize Images" riceve l'àncora #resize-images. Dal 2021 GitHub mostra anche un pulsante di indice automatico sulle intestazioni dei README, quindi un elenco manuale resta utile nei documenti lunghi sulle altre piattaforme. Ricontrolla le àncore dopo ogni modifica alle intestazioni, perché un'intestazione rinominata rompe i suoi link in silenzio.
Incorporare video
Markdown non può incorporare un player video, quindi collega al video una miniatura cliccabile. YouTube pubblica una miniatura per ogni video a un URL prevedibile, e questo rende il pattern semplice.
[](https://www.youtube.com/watch?v=VIDEO-ID)
Sostituisci VIDEO-ID con il codice di 11 caratteri preso dall'URL del video. La miniatura viene mostrata ovunque funzioni il Markdown standard, e un clic apre il video su YouTube. Esistono due upgrade dove la piattaforma li consente. GitHub accetta il caricamento diretto di file .mp4 e .mov in issue, pull request, discussioni e file Markdown da maggio 2021, e i renderer con pieno supporto HTML accettano un embed <iframe> di YouTube incollato.
Domande frequenti
I trucchi Markdown funzionano su GitHub?
Alcuni sì. GitHub mantiene <ins>, gli attributi width di <img>, <figure>, i commenti HTML, le entità e la propria sintassi degli alert, ma elimina ogni attributo style e l'attributo target. Prova ogni trucco in un gist di bozza prima di farci affidamento, perché la allowlist del sanitizer può cambiare senza preavviso.
Perché il mio HTML è sparito dalla pagina renderizzata?
Il renderer blocca del tutto l'HTML inline, come fanno Reddit e Discord, oppure ha rimosso durante la sanitizzazione il tag o l'attributo specifico che hai usato. Controlla la documentazione della piattaforma alla ricerca di una allowlist, poi sostituisci l'elemento eliminato con uno permesso, ad esempio <div align="center"> al posto di un attributo style.
Quale stile di commento è migliore, [comment]: # o <!-- -->?
Usa [comment]: # quando la nota deve sparire del tutto, e <!-- --> quando conta di più la leggibilità del sorgente. La forma con parentesi quadre viene consumata dal parser Markdown e non raggiunge mai l'output, mentre un commento HTML standard resta visibile a chiunque apra il sorgente della pagina.
