Namespace B.BMarkdown
Scopo
B.BMarkdown legge contenuti Markdown, li rappresenta mediante un albero di nodi B-Arts e li converte in HTML senza dipendenze di terze parti.
Il namespace separa tre responsabilità:
parsing del testo Markdown;
rappresentazione strutturata del documento;
rendering HTML personalizzabile tramite classi CSS.
Tipi pubblici
BMarkdownParser— converte una stringa Markdown inBMarkdownDocument.BMarkdownDocument— contiene la radice del documento, gli errori e la conversione HTML.BMarkdownNode— rappresenta un nodo dell'albero Markdown.BMarkdownHtmlRenderer— genera HTML e permette di personalizzare i nomi delle classi CSS.BMarkdownFile— carica un file medianteBFile, esegue il parsing e produce HTML.
Funzionalità Markdown supportate
Il parser riconosce:
titoli ATX da
#a######e titoli Setext;paragrafi e interruzioni di riga forzate con due spazi finali;
grassetto, corsivo, testo barrato e codice inline;
blocchi di codice delimitati da backtick o tilde, con linguaggio opzionale;
link, immagini e titolo opzionale;
citazioni;
elenchi puntati e numerati, anche annidati;
tabelle con allineamento delle colonne;
separatori orizzontali;
HTML inline e blocchi HTML semplici;
escape tramite barra inversa.
Flusso consigliato
Usare
BMarkdownFilequando il contenuto proviene da un file.Usare
BMarkdownParserquando il Markdown è già disponibile come stringa.Ispezionare
BMarkdownDocument.Rootquando serve lavorare sull'albero.Usare
BMarkdownDocument.ToHTML()per il rendering standard oppure passare unBMarkdownHtmlRendererconfigurato.Applicare
BMarkdown.csso definire regole equivalenti per le classi prodotte dal renderer.
Sicurezza HTML
Il renderer codifica testo, URL, titoli e attributi, ma i nodi Html vengono emessi senza sanitizzazione. Il parser crea nodi Html quando incontra markup HTML inline o blocchi che iniziano con un tag. Non renderizzare come HTML contenuti non affidabili senza una sanitizzazione applicativa adeguata.
