Discourse supporta ora gli endpoint Markdown nativi, rendendo più semplice per gli strumenti di AI e altri client leggere i contenuti del forum senza dover analizzare intere pagine HTML.
Questa funzionalità sarà abilitata per impostazione predefinita su tutti i siti ospitati tramite il sistema Upcoming Changes. Gli amministratori che desiderano non attivarla possono farlo disabilitando l’impostazione di sito enable_markdown_endpoints.
Molti ringraziamenti a @benword per aver creato il plugin originale Discourse to Markdown, che è stato il precursore di questa funzionalità nel core di Discourse.
L’output Markdown viene generato dall’HTML renderizzato (“cotto”) dei post, preservando i contenuti visualizzati dai lettori, inclusi i link espansi e la formattazione elaborata. Gli elementi specifici di Discourse, come citazioni, onebox, blocchi di codice, sondaggi e sezioni comprimibili, vengono convertiti nuovamente in Markdown. Le risposte ai topic includono metadati e link di paginazione, e i corpi dei post convertiti vengono memorizzati nella cache utilizzando un digest del contenuto, in modo che le modifiche producano un output aggiornato.
I client possono richiedere esplicitamente il Markdown tramite URL .md oppure inviando un header Accept: text/markdown. La negoziazione rispetta i valori di qualità e seleziona il Markdown quando è preferito rispetto a HTML e JSON; le richieste esplicite .md mantengono i loro formati. Le pagine HTML supportate pubblicizzano il loro equivalente Markdown tramite un header HTTP Link e un elemento <link rel="alternate">.