Markdown, BBCode и эмодзи не отображаются в сообщении API

Эмодзи и HTML

Я думаю, что проблема, с которой вы сталкиваетесь при использовании коротких кодов эмодзи, обернутых в теги HTML, является ожидаемым поведением. Это можно воспроизвести в сообщении, созданном в редакторе постов Discourse. Например, :face_with_symbols_over_mouth: будет отображаться как :face_with_symbols_over_mouth: в пределах этого абзаца.

Если я использую теги p для создания абзаца вместо того, чтобы полагаться на движок Markdown, короткий код не будет отображаться. Например:

<p>Это предложение содержит короткий код эмодзи :face_with_symbols_over_mouth:</p>

Это предложение содержит короткий код эмодзи :face_with_symbols_over_mouth:

Markdown

Проблема с отправкой Markdown через API, похоже, решаема, но, возможно, будет сложно работать с ней. Используя curl из терминала, что-то вроде этого должно сработать:

m="### это заголовок
                                                                                                                                                           
Это очень короткий абзац с некоторым _акцентом_ на слове.

Это другой абзац с эмодзи :slight_smile:

- это
- список
- без
- порядка

Далее следует еще один абзац.

1) и
2) список
3) с
4) порядком"

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

Параметр skip_validations в приведенном выше запросе просто предотвращает ошибки типа «тело слишком короткое» или «дублирующийся заголовок» при тестировании. Он обходит множество настроек сайта (минимальная длина поста, минимальная энтропия тела, минимальная длина заголовка темы и т. д.).

Я не уверен насчет проблемы с BBCode. Работают ли теги BBCode, которые вы пытаетесь отобразить, когда добавляете их в редактор постов вашего сайта Discourse?