# Composer 细微 Bug：BBCode 解析

**URL:** https://meta.discourse.org/t/minor-composer-bug-bbcode-interpretation/376607
**Category:** Bug
**Tags:** composer
**Created:** [2025年七月30日 18:44 UTC](https://meta.discourse.org/t/minor-composer-bug-bbcode-interpretation/376607 "2025-07-30T18:44:23Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![phoenix1](https://avatars.discourse-cdn.com/v4/letter/p/bbce88/32.png) [@phoenix1](https://meta.discourse.org/u/phoenix1)
#### Post date: [2025年七月30日 18:44 UTC](https://meta.discourse.org/t/minor-composer-bug-bbcode-interpretation/376607/1 "2025-07-30T18:44:23Z")

</div>

你好，我注意到现在无法仅启用 Markdown 编辑器了。当然，你可以将其默认设置为其中一个，这很不错。不过，我仍然注意到我的网站（以及这里）在解释 BBCode 方面存在一些不一致的行为。我知道新的编辑器不应该解释 BBCode，严格来说确实如此。尝试输入 `[i]` 或 `[b]`，或者任何熟悉的 BBCode 标签，在编辑器中都无法正常工作（正如预期的那样）。但是，有一种情况并非如此。如果你输入：

`[u]`

我将其放在代码块中，因为如果你不这样做，编辑器会切换到下划线模式，你无法将其关闭。

当然，一旦你进入新的一行就没问题了，但我_认为_这是编辑器的一种意外行为……它似乎只解释这一个 BBCode，而不解释其他任何 BBCode，但我明白它_不应该_在这个阶段解释 BBCode！我认为这不是一个非常严重的错误，但为了保持一致性和易于重现，我还是报告了它，在这里和我的网站上似乎都很容易实现 🙂

非常感谢！

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [2025年七月30日 18:48 UTC](https://meta.discourse.org/t/minor-composer-bug-bbcode-interpretation/376607/2 "2025-07-30T18:48:44Z")

</div>

感谢你提出这个问题——只是快速检查一下：你确定你的实例中启用了 BBCode 支持吗？

值得仔细检查你的 `app.yml`——在最近一批插件移入核心的过程中，一些管理员不小心保留了插件行或注释掉了其他行，认为它们不再需要了。虽然 BBCode 本身受核心支持，不需要插件行，但如果你依赖于扩展的 BBCode 行为（如下划线或对齐），则很容易误诊问题。

另外请注意：BBCode 仅在 Markdown 模式下有效。如果你使用的是新的富文本编辑器，它将无法解释 `[b]粗体[/b]` 等 BBCode 标签——它们只会转义。切换回纯文本编辑器应能恢复预期行为。

---

<div class="post-metadata">

### Author: ![phoenix1](https://avatars.discourse-cdn.com/v4/letter/p/bbce88/32.png) [@phoenix1](https://meta.discourse.org/u/phoenix1)
#### Post date: [2025年七月30日 18:55 UTC](https://meta.discourse.org/t/minor-composer-bug-bbcode-interpretation/376607/3 "2025-07-30T18:55:16Z")

</div>

没问题，希望这有帮助！我检查了我的 app.yml，但没有看到任何引用或环境变量设置了与 BBCode 相关的任何内容……不过，它似乎在我自己的实例（以及这里）上运行正常。我目前在 Markdown 编辑器中，如果我改用 BBCode 而不是 Markdown 进行格式化，它似乎按预期工作。 新的编辑器似乎不按预期工作的唯一地方是 [u] 的情况，它显然会像预期的那样忽略所有其他 BBCode。🙂

这有点奇怪，也不是太严重，但如果我能提供任何其他信息，请告诉我！

---

<div class="post-metadata">

### Author: ![renato](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renato/32/383632_2.png) [@renato](https://meta.discourse.org/u/renato)
#### Post date: [2025年七月30日 19:24 UTC](https://meta.discourse.org/t/minor-composer-bug-bbcode-interpretation/376607/4 "2025-07-30T19:24:52Z")

</div>

> [@phoenix1](#):
>
> 尝试输入 `[i]` 或 `[b]`，或者任何熟悉的 BBCode 标签，在编辑器中（如预期）不起作用。

确实不应该起作用，因为我们更倾向于使用 Markdown。

后续可以做的是自动将输入的 `[b]` 转换为粗体，将 `[i]` 转换为斜体，它们将分别序列化回 Markdown 的 ` **粗体** ` 和 `*斜体*`。我们已经为 `<b>` 和 `<i>` 这样做了，同样我们不希望在有 Markdown 语法可用时鼓励使用 HTML。

> [@phoenix1](#):
>
> 我把它放在了一个代码块里，因为如果你不这样做，编辑器会切换到一种你无法关闭的下划线模式。

`[u]` 是唯一可以格式化下划线的方式，并且得到 Discourse 核心的支持，因此按原样支持。

“无法关闭”的问题是我们打算为下划线、删除线以及其他类型的内容进行改进。/cc @lindsey
