Эмодзи и HTML
Я думаю, что проблема, с которой вы сталкиваетесь при использовании коротких кодов эмодзи, обернутых в теги HTML, является ожидаемым поведением. Это можно воспроизвести в сообщении, созданном в редакторе постов Discourse. Например, :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?