超越浅色/深色配色方案的颜色定义

您好,我想知道如何为多种配色方案(例如浅色、深色、暗淡色)设置颜色定义,类似于 Twitter 的工作方式。

我目前的问题:
我目前能够为自定义主题组件中未列出的默认浅色和深色(例如 primary-low)设置样式,但不知道如何将此自定义颜色模式添加到不同的配色方案中。

$dark-theme-ins: #1e2732;
$light-theme-ins: #e9e9e9;
$dim-theme-ins: #337733;

$ins: dark-light-choose($light-theme-ins, $dark-theme-ins);
:root {
    --primary-100:#{$ins};
    --primary-low:#{$ins};

}

你好 :wave:

Discourse 可以处理浅色和深色两种配色方案。因此,当您将设备切换到深色模式时,它将默认使用 default dark mode color scheme id 站点设置。
您还可以为 Discourse 设置更多自定义调色板。
您可以在 /admin/customize/colors 页面设置新的调色板。
或者
例如,如果您使用自定义主题,则可以在 about.json 文件中设置这些。
就像我们在 FKB Pro 主题示例中使用的那样。

在这种情况下,它会将这些调色板添加到 /admin/customize/colors


添加这些调色板后,用户可以在用户首选项界面页面中进行选择。如果您启用它。


dark-light-choose()
dark-light-choose() 只能处理浅色/深色两种配色方案,而不是调色板。我建议仅将其用于创建自定义颜色变量,而不是覆盖默认值。要覆盖默认颜色变量,您可以按照我上面展示的方法进行操作。
如果用户在用户首选项界面页面中设置了与站点默认的浅色/深色不同的调色板,那么它将为所有浅色或深色配色方案使用您通过 dark-light-choose() 创建的颜色变量。
这也是我创建以下 Theme component 的原因之一。

在此主题组件中,您可以单独定位 color-scheme="id"

所以你可以这样做 :arrow_down_small:

创建调色板(浅色、暗淡、深色)

使用上面的组件修改暗淡 color-scheme="id" 颜色或其他内容(如果需要)。

2 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.