Composer 细微 Bug:BBCode 解析

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

[u]

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

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

非常感谢!

2 个赞

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

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

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

2 个赞

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

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

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

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

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

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

4 个赞