我刚更新到 2.7.0.beta5 8fcad73b36,之后我的网站字体开始显示为 Times(我推测这是配置出现问题时的默认行为)。
如果我将“标题字体”更改为其他字体(例如 Roboto),网站会恢复显示 Arial(标题除外)。我最初以为问题出在“基础字体”设置上,但该设置似乎工作正常。然而,将“标题字体”设置为默认值(Arial)会导致某些功能异常,基础字体也开始显示为 Times。
我没有安装任何奇怪的主题,也没有在任何自定义样式表中设置 --font-family 变量。以下是我安装的组件(均为最新版本):
- Custom Header Links
- DiscoTOC
- Mobile Category List Adjustments
- Topic Thumbnails
2 个赞
Lorthirk
(Claudio Mezzasalma)
2
我这边也把所有内容都设为了 Times,不过我使用的是 Montserrat 字体。
检查页面上几乎任何文本时,我在“元素”面板中直接看到 font-family: var(--font-family);。我完全不是 CSS 专家,但这是否意味着它尚未被编译?
1 个赞
我们昨天在社区论坛上也注意到了这个问题,更新后出现。重建网站似乎解决了我们的问题。
3 个赞
pmusaraj
(Penar Musaraj)
4
@Nacho_Caballero 你是通过 UI 还是 CLI 进行的更新?再次更新能否解决问题?如果可以的话,也请贴出网站的 URL。
2 个赞
通过 UI。@pmusaraj 我刚刚通过 CLI 重新构建,可以确认问题已解决。
我会在我的标准操作程序(SOP)中添加一条:如果通过 API 更新后出现问题,务必先尝试通过 CLI 重新构建。
1 个赞
ryantm
(Ryan Mulligan)
6
我最近升级到了 2.7.0.beta5(36ec09a07b),现在除了 Dark 和 Light 之外的主题似乎不再为 font-family 和 heading-font-family 设置根 CSS 变量。
我在设置中将字体和标题字体都设为“Arial”。
在我的自定义主题中,可以通过在主题的 CSS 中添加以下代码来绕过此问题:
:root {
--heading-font-family: Arial, sans-serif;
--font-family: Arial, sans-serif;
}
这似乎也是 Graceful 主题存在的问题,但我无法覆盖该主题。
Dark 和 Light 主题似乎未受影响(它们会设置根 CSS 变量)。
这是否应被视为 Discourse 的 bug,还是现在要求自定义主题自行设置这些变量?
ryantm
(Ryan Mulligan)
7
pmusaraj
(Penar Musaraj)
8
嗨 @ryantm,我把这个问题移到这里,因为本质上是一样的问题。
我在 meta 上使用 Graceful 主题无法复现此问题。我在你的网站上似乎也无法复现。你能提供复现步骤吗?
另外,字体定义应该放在核心 CSS 文件中,而不是主题的 CSS 中。就像这个例子:
你上面链接的我的提交可能是罪魁祸首,但也可能是缓存样式表的问题。你尝试过强制刷新吗?
2 个赞
ryantm
(Ryan Mulligan)
9
感谢合并。
是的,Graceful 主题通过硬刷新已自行修复。
我导入的另一个自定义主题(仅自定义配色方案)即使硬刷新后仍无法正常工作。我尝试在另一个 Discourse 实例上通过导出并导入该主题来复现问题,结果在那里运行正常。于是我又在出问题的服务器上尝试了导出和导入操作,现在一切正常了!
1 个赞