Как работают цвета и как их изменить?

Извините за широкий вопрос, но я уже давно ломаю голову над этим и не могу найти ни подходящего руководства, ни даже объяснения.

Всякий раз, когда мне нужно изменить цвет где-либо в Discourse, я следую этому пути:

  • Управляется ли цвет компонентом темы? Если нет,
  • Похоже ли, что он управляется через /admin/customize/colors? Если нет,
  • Откройте инструменты разработчика и попробуйте найти соответствующий CSS.

Но затем я теряюсь, потому что нахожу такие вещи, как var(--primary-low), и не имею ни малейшего представления, где они определены, хотя они выглядят связанными с понятием основного цвета в /admin/customize/colors. Так что:

  • Как определяются эти элементы var()?
  • Какой рекомендуемый способ их последовательного изменения?

Цвета (вычисляются) здесь:

CSS-переменные определены здесь:

Если вы хотите переопределить, скажем, --primary-medium, добавьте это в вашу тему:

:root {
    --primary-high: red;
}

Однако я не знаю, как использовать функции преобразования цвета, которые требуют переменных SCSS.

Я вижу, что @import "common/foundation/variables"; не требуется, так как “базовые переменные и переменные темы теперь внедряются до компиляции любого SCSS-файла”, но мне всё равно не удалось заставить это работать. Передаю микрофон более опытным пользователям :microphone:

Вы можете ознакомиться со справочником стилей.

Также вы можете проверить раздел /styleguide/atoms/colors для получения информации о цветах. Для этого необходимо включить его в настройках вашего сайта, выполнив поиск по запросу ‘styleguide’.

Например: https://meta.discourse.org/styleguide/atoms/colors

Вау, впервые слышу о гайде по стилям, спасибо.
Правильно ли я понимаю, что, как сказал @Canapin, кастомный CSS — это единственный способ изменить эти стили? (:heart: для подтверждения, если хотите)

Этот метод, вероятно, самый простой — он подойдёт для любых автоматически сгенерированных цветов.

Однако вы также можете переопределить цвета в файле about.json темы, как описано здесь: Override values for auto-generated color variables