您好,
我们运营基于 Discourse 的新托管论坛已有一个月,效果非常出色。目前已有 2000 名用户。
我们正尝试将旧 phpBB 论坛中的彩色文本迁移到新论坛,但无法在新论坛中生效:[color=#BFBFBF]灰色 – “准备更新”[/color]、[color=#FF8000]橙色 – 旧编号[/color] 或 [color=#00BF00]绿色 – 当前编号[/color]。
欢迎提供任何建议,非常感谢。
您好,
我们运营基于 Discourse 的新托管论坛已有一个月,效果非常出色。目前已有 2000 名用户。
我们正尝试将旧 phpBB 论坛中的彩色文本迁移到新论坛,但无法在新论坛中生效:[color=#BFBFBF]灰色 – “准备更新”[/color]、[color=#FF8000]橙色 – 旧编号[/color] 或 [color=#00BF00]绿色 – 当前编号[/color]。
欢迎提供任何建议,非常感谢。
您考虑过使用 BBCode 插件吗?
这可以用于托管论坛吗?
当我们从 vB 导入近一百万篇帖子到 Discourse 时,在迁移过程中我们移除了所有颜色 BBCODE。
我们的问题是,当 BBCODE 嵌套(BBCODE 在 BBCODE 内)时,BBCODE 插件无法按预期工作。因此,在对此进行了大量分析后,我们决定在迁移过程中移除所有颜色 BBCODE 标签(递归地)。
显然,嵌套的 BBCODE 导入起来非常混乱!虽然“可行”,但我们认为不值得为此耗费精力(而且增加的价值很小,因为使用命名颜色字体而非类会使主题设置变得困难)。
希望这能有所帮助。
我的代码是嵌套的吗(BBCode 嵌套在 BBCode 中)?
有没有其他方法可以实现彩色文本?
不,你需要使用 BBCode。你可以嵌套使用,但前提是这合乎逻辑(与 HTML 类似)。可能存在一些尚未实现的代码。
我的 Discourse Frotz 插件 成功利用嵌套功能组合了字体、颜色和背景色。请注意截图中罗盘上红色的字母“N”。
你需要咨询你的托管服务商,看他们是否可以安装该官方插件。
嘿 @ianm
你提供的代码示例并不是嵌套的。
根据我们对官方 BBCODE 插件的经验,它并不“兼容”嵌套的 BBCODE。不过,如果你没有嵌套的 BBCODE,那么这“极有可能”不会成为你迁移过程中的问题。
我们的网站迁移涉及数十年的嵌套 BBCODE(数十万条),这是一个巨大的问题(即使使用我们至今仍采用的官方 BBCODE 插件也是如此)。因此,我们直接移除了所有颜色标签(以及我们不需要的一些其他代码标签)。没有任何一位用户抱怨过 5 年前的帖子缺少文字颜色,未来也不会有。
让迁移后的 BBCODE 正常工作,并不是简单地“使用官方 BBCODE 插件”就能解决的。如果将多年积累的、各种组合的嵌套 BBCODE 进行大规模迁移真的那么简单,我们的完整迁移时间应该是几周,而不是几个月。这是需要亲身体验的事情,并非“理论”,事实就是这样。官方 BBCODE 插件确实不错,我们也在用,但前提是先移除了大量嵌套的 BBCODE。
我们还决定完全移除所有颜色 BBCODE 标签。因为当颜色被硬编码到文本中时,它在一个主题下(例如浅色主题)可能看起来还行,但在另一个主题下(例如深色主题),同样的颜色可能就不协调,甚至会成为干扰。因此,我们决定移除所有颜色 BBCODE 标签,对此我们非常满意。
当然,每个网站在迁移过程中都必须根据自己的情况做出权衡取舍。我可以告诉你,我们有一些“非常精通正则表达式(REGEX)的专家”花了数月时间,只为让我们的迁移达到“完美”状态,而大部分时间都花在了处理 BBCODE 上。相关的官方插件和工具包只是一个不错的“初步近似方案”,但在最终迁移中仍有诸多不足,所以我们编写了大量的 Ruby gsub() 正则表达式来进行清理。
祝你好运!希望这份来自“迁移战场”的实战经验能对你有所帮助。毫无疑问,如果你追求的是“美观”的迁移效果,而非“潦草”的迁移,那么从一种旧论坛迁移到另一种论坛可能会非常“棘手”。
您的代码在 BBCode 插件中按原样运行正常:
![]()
这里,我增加了一层嵌套:
![]()
两层怎么样?
![]()
三层,以及稍微复杂一点的集合呢?
![]()
感谢您确认该插件中此功能可用。我会看看能否将其添加到我们托管的论坛中:thinking:
很抱歉,BBCode 插件在标准版和商业版计划中均不可用。各计划支持的插件列表请参见:https://www.discourse.org/plugins。
不过,BBCode 插件及其他任何官方 Discourse 插件均可在我们的企业版计划中安装。