O renderizador de Markdown transforma textos como os que um modelo escreve em elementos reais: títulos, listas e listas de tarefas, citações, tabelas, blocos de código com botão de copiar, e links. Ele converte o texto em uma árvore e a desenha com templates, então HTML bruto continua sendo texto e nada é inserido como HTML.
Com streaming, o texto escrito pela metade já aparece como ficará quando completo: um delimitador de código aberto já é um bloco de código, um ** sozinho espera o seu par, e um cursor acompanha a última palavra. Blocos que não mudaram mantêm o DOM.
Os links só funcionam para endereços web e de e-mail e números de telefone, e as imagens continuam sendo links até você ativar images.
Um documento
Os títulos começam em headingLevel, então se encaixam sob os da página. Tabelas largas e código rolam nas próprias regiões.
Streaming
O mesmo texto, alguns caracteres por vez. Nenhum símbolo aparece nem por um instante, e só o último bloco é renderizado de novo.
Destaque de código
nuiMarkdownCode desenha os blocos de código com um template seu, aqui com um highlighter minúsculo. Ele recebe o código e a linguagem.