Suporte a formatos de comentário
Você pode adicionar diferentes conteúdos aos comentários, incluindo sintaxe Markdown estendida e tags HTML.
Suporte a formatos
Suportamos o CommonMark completo (sintaxe padrão do Markdown), além das seguintes extensões:
- Tabelas no estilo GFM
- Riscado no estilo GFM
- Subscrito e sobrescrito
- Emoji
- Destaque de blocos de código
- Fórmula
GFM
Github Flavored Markdown
Além disso, você pode incorporar livremente qualquer conteúdo HTML sem acionar o mecanismo de proteção.
Suporte limitado à pré-visualização
Para controlar o tamanho do cliente, colocamos apenas um pequeno parser de Markdown no cliente oficial @waline/client, o que faz com que muitas sintaxes não sejam exibidas corretamente no painel de pré-visualização (elas são renderizadas corretamente na área de comentários).
Isso inclui as seguintes restrições:
A sintaxe padrão de emoji (por exemplo 🎉
:tada:) não é renderizada corretamenteSubscrito e sobrescrito (por exemplo:
H~2~O,x^2^) não podem ser renderizados corretamenteA sintaxe
, ou seja, fórmulas matemáticas (por exemplo:$a = 1$), não é renderizada por padrão.Ao usar o cliente oficial, você pode personalizar a renderização de
na pré-visualização definindo a opçãotexRenderer; veja Livro de receitas → Usar um renderizador personalizado.Com o highlighter padrão, os blocos de código são destacados com cores aleatórias e delimitadores específicos.
Ao usar o cliente oficial, você pode personalizar o destaque de código na pré-visualização definindo a opção
highlighter; veja Livro de receitas → Destaque de código personalizado.
Mais
Princípio
Considerando o tamanho do pacote, o cliente usa
markedpara renderizar e um highlighter de menos de 1 KB para destacar por padrão, e não inclui um renderizador , o que gera as limitações acima.Quando um usuário envia um comentário, o cliente incorpora as imagens de emoji personalizadas e envia o comentário original ao servidor.
O servidor recebe o texto original, usa
markdown-itpara renderizar o markdown corretamente com os plug-ins relevantes, usaprismjspara destacar os blocos de código conforme a linguagem e realiza a renderização de de acordo com as configurações do usuário, e por fim faz o tratamento anti-XSS.Após o processamento, o servidor armazena o conteúdo renderizado correto e o retorna ao cliente quando necessário, garantindo a exibição normal da área de comentários.
