Arial 标题字体在 2.7.0.beta5 中显示为 Times

我刚更新到 2.7.0.beta5 8fcad73b36,之后我的网站字体开始显示为 Times(我推测这是配置出现问题时的默认行为)。

如果我将“标题字体”更改为其他字体(例如 Roboto),网站会恢复显示 Arial(标题除外)。我最初以为问题出在“基础字体”设置上,但该设置似乎工作正常。然而,将“标题字体”设置为默认值(Arial)会导致某些功能异常,基础字体也开始显示为 Times。

我没有安装任何奇怪的主题,也没有在任何自定义样式表中设置 --font-family 变量。以下是我安装的组件(均为最新版本):

  • Custom Header Links
  • DiscoTOC
  • Mobile Category List Adjustments
  • Topic Thumbnails
2 个赞

我这边也把所有内容都设为了 Times,不过我使用的是 Montserrat 字体。

检查页面上几乎任何文本时,我在“元素”面板中直接看到 font-family: var(--font-family);。我完全不是 CSS 专家,但这是否意味着它尚未被编译?

1 个赞

我们昨天在社区论坛上也注意到了这个问题,更新后出现。重建网站似乎解决了我们的问题。

3 个赞

@Nacho_Caballero 你是通过 UI 还是 CLI 进行的更新?再次更新能否解决问题?如果可以的话,也请贴出网站的 URL。

2 个赞

通过 UI。@pmusaraj 我刚刚通过 CLI 重新构建,可以确认问题已解决。

我会在我的标准操作程序(SOP)中添加一条:如果通过 API 更新后出现问题,务必先尝试通过 CLI 重新构建。:sweat_smile:

1 个赞

我最近升级到了 2.7.0.beta5(36ec09a07b),现在除了 Dark 和 Light 之外的主题似乎不再为 font-familyheading-font-family 设置根 CSS 变量。

我在设置中将字体和标题字体都设为“Arial”。

在我的自定义主题中,可以通过在主题的 CSS 中添加以下代码来绕过此问题:

:root {
    --heading-font-family: Arial, sans-serif;
    --font-family: Arial, sans-serif;
}

这似乎也是 Graceful 主题存在的问题,但我无法覆盖该主题。

Dark 和 Light 主题似乎未受影响(它们会设置根 CSS 变量)。

这是否应被视为 Discourse 的 bug,还是现在要求自定义主题自行设置这些变量?

DEV: Refactor font and category background importers (#12312) · discourse/discourse@4071af1 · GitHub 可能与此相关,cc @pmusaraj

@ryantm,我把这个问题移到这里,因为本质上是一样的问题。

我在 meta 上使用 Graceful 主题无法复现此问题。我在你的网站上似乎也无法复现。你能提供复现步骤吗?

另外,字体定义应该放在核心 CSS 文件中,而不是主题的 CSS 中。就像这个例子:

你上面链接的我的提交可能是罪魁祸首,但也可能是缓存样式表的问题。你尝试过强制刷新吗?

2 个赞

感谢合并。

是的,Graceful 主题通过硬刷新已自行修复。

我导入的另一个自定义主题(仅自定义配色方案)即使硬刷新后仍无法正常工作。我尝试在另一个 Discourse 实例上通过导出并导入该主题来复现问题,结果在那里运行正常。于是我又在出问题的服务器上尝试了导出和导入操作,现在一切正常了!

1 个赞