Изначально меня устраивала одна светлая и одна тёмная цветовая схема, определённые в рамках моей единой темы. Однако есть CSS-стили, которые я хотел бы изменить конкретно при использовании тёмной цветовой схемы.
Существует ли способ настроить тёмную тему как своего рода дочернюю тему, чтобы она наследовала все стили родительской (светлой) темы, но при этом имела собственную цветовую схему и состояла исключительно из переопределений родительских?
Можете ли вы поделиться, какой именно CSS вы хотели бы изменить только для тёмной цветовой схемы? В теории, если речь идёт только о цветах, это можно сделать с помощью определений цветов. Если же требуется больше, вам понадобятся отдельные темы (и в этом случае вам придётся отказаться от автоматического переключения тёмного режима).
Я обратился к посту @pmusarajздесь и после некоторых экспериментов сделал следующее:
В файле common/color_definitions.scss определил переменные для представления background-color и цвета шрифта для .nav-pills. В моей тёмной теме не указан цвет шрифта, а в светлой — цвет фона, но для работы функции dark-light-choose() нужно указать что-то, поэтому я использовал базовые переменные Discourse ($primary и $quaternary-low соответственно):
А, понял. Я слишком быстро просмотрел этот пост и предположил, что всегда включать значение по умолчанию — это лучшая практика. Я осознал, что это нужно только для обратной совместимости, которая мне не требуется. Спасибо за уточнение. Я обновил код в своём посте выше, чтобы это отразить.