Markdown, BBCode e Emoji não renderizando em postagens da API

Emojis e HTML

Eu acho que o problema que você está enfrentando com shortcodes de emoji que estão envolvidos em tags HTML é o comportamento esperado. Ele pode ser reproduzido em uma postagem criada dentro do editor de postagens do Discourse. Por exemplo, :face_with_symbols_over_mouth: será renderizado como :face_with_symbols_over_mouth: dentro deste parágrafo.

Se eu usar tags p para criar um parágrafo em vez de depender do mecanismo de markdown para fazer isso, o shortcode não será renderizado. Por exemplo:

<p>Esta frase contém um shortcode de emoji :face_with_symbols_over_mouth:</p>

Esta frase contém um shortcode de emoji :face_with_symbols_over_mouth:

Markdown

O problema com a postagem de markdown via API parece solucionável, mas talvez complicado de trabalhar. Usando curl do terminal, algo como isto deve funcionar:

m="### este é um título
                                                                                                                                                           
Este é um parágrafo muito curto com alguma _ênfase_ em uma palavra.

Este é outro parágrafo com um emoji :slight_smile:

- este
- é
- uma
- lista
- não ordenada

Seguido por outro parágrafo.

1) e
2) uma
3) lista
4) ordenada"

curl -X POST "http://localhost:4200/posts.json" -H "Api-Key: $api_key" -H "Api-Username: simon" -F "title=Teste de Markdown um" -F "category=6" -F "skip_validations=true" -F "raw=$m"

O parâmetro skip_validations na solicitação acima está lá apenas para evitar erros como “corpo muito curto” ou “título duplicado” durante os testes. Ele ignora várias configurações do site (comprimento mínimo da postagem, entropia mínima do corpo, comprimento mínimo do título do tópico, etc.)

Não tenho certeza sobre o problema do BBCode. As tags BBCode que você está tentando renderizar funcionam quando adicionadas ao editor de postagens do seu site Discourse?