创建自定义调色板的挑战

我在 GitHub 上尝试通过定义主题的 about.json 文件中的颜色来创建一个完全自定义的配色方案。

不幸的是,只有部分颜色定义在网站上生效。

例如,在我的 json 方案中,我定义了:“success_low”:“DDE2B2”

然而,我的样式指南显示 var(--success-low) 的颜色不同(计算得出)。

我已阅读了所有指南,似乎 json 调色板定义并非全部被使用,而是 Discourse 自动计算了其中一些值,并且不遵循我的定义。

我是否需要将颜色硬编码到 css 变量文件中?这些会覆盖计算出的值吗?我应该在哪里以及如何进行?我想在 Discourse 中定义浅色和深色模式的每一种颜色,我不喜欢任何计算出的值。

感谢任何帮助。我很难理解所有这些东西是如何工作的,以及最终的 CSS 中哪些具有优先权等等。

更新:这篇帖子似乎与我的故障排除相矛盾:

这让我对 Discourse 仍然自动生成颜色的原因更加困惑。

1 个赞

我看到第一个(success_low)有一个下划线,第二个(success-low)有一个连字符。

您可以随时将您的调色板粘贴在这里,就像它在 json 文件中显示的那样,供我们查看。

谢谢,我会仔细检查所有下划线和连字符。有没有什么参考 JSON 文件可以让我找到所有变量的参考,并且下划线和连字符都放在正确的位置?

我最初使用“solarized”主题作为参考

这实在令人费解。在风格指南中,标记的 CSS 变量使用连字符:

而在这个(以及其他)示例方案中,它们却使用了下划线:

我承认我不是最聪明的程序员,而且我确信长期从事这项工作的人会觉得它更明显和直观……但试图弄懂这些感觉让我有点抓狂。

真的很难直观地理解浅色和深色模式颜色是如何使用的所有逻辑。在众多的 scss 文件和转换、json、管理员 GUI、调色板(这些(在某种程度上?)独立于主题)之间……

抱歉我的胡言乱语,我在这里有点挣扎。

您还有另一个可能对您有帮助的旧主题

抱歉,该主题未能解决问题。

我仍然感到困惑——是否有关于如何设置每种颜色的明确指南?以及 JSON 与 CSS 变量中的正确语法/名称是什么?

你看了这个吗?

我没有在你的 about.json 文件中看到任何明显错误,所以可能是你的主题配置方式有问题。 :thinking:

具体来说,哪些变量有效,哪些无效?

你读过任何主题开发相关的主题吗?我认为你可能在你的仓库中缺少其他必需的主题文件。

2 个赞

是的,我已经阅读了它们,但我没有看到所有颜色变量的完整参考。我的 about.json 文件基于“solarized”主题,该主题似乎声明了所有变量。我将从头开始再次尝试并报告,并使用开发者工具查看可能存在的问题。

感谢您到目前为止的帮助。