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.