Markdown, BBCode 和 Emoji 在 API Post 中未渲染

表情符号和 HTML

我认为您在使用包装在 HTML 标签中的表情符号短代码时遇到的问题是预期行为。在 Discourse 的帖子编辑器中创建的帖子中可以重现此问题。例如,:face_with_symbols_over_mouth: 将在此段落中渲染为 :face_with_symbols_over_mouth:。

如果我使用 p 标签创建段落,而不是依赖 Markdown 引擎来完成,则短代码将不会被渲染。例如:

<p>This sentence contains an emoji shortcode :face_with_symbols_over_mouth:</p>

This sentence contains an emoji shortcode :face_with_symbols_over_mouth:

Markdown

通过 API 发布 Markdown 的问题似乎是可行的,但可能有点棘手。使用终端中的 curl,类似以下内容应该可以工作:

m="### this is a heading
                                                                                                                                                           
This is a very short paragraph with some _emphasis_ on a word.

This is another paragraph with a  :slight_smile: emoji

- this
- is
- an
- unordered
- list

Followed by another paragraph.

1) and
2) an
3) ordered
4) list"

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 站点的帖子编辑器时是否有效?