Большое спасибо. Это, безусловно, помогает.
В качестве примера: у меня установлены темы Graceful. Graceful Theme — я теперь понимаю, что вы опубликовали их как продолжение предыдущего стиля.
В моём универсальном компоненте темы я делал такие вещи, как загрузка фоновых ассетов, изменение кнопки «Нравится» и ещё несколько других вещей. Однако я осознал, что хочу изменить цвет фона в версии с тёмной палитрой на любой другой, не затрагивая версию со светлой палитрой.
Если быть точным, вот это:
background-color: $primary-very-low;
Теперь я хочу сделать как можно больше в рамках одного компонента темы, поскольку технически это один и тот же стиль, пока не начали появляться такие мелочи, как эта, которые не являются универсальными изменениями. Я не хочу, если возможно, создавать отдельный компонент «Тёмный» и отдельный компонент «Светлый».
Цель здесь — оставить Graceful в покое, за исключением изменений палитры, и всё остальное делать в нашем собственном компоненте, чтобы при обновлении со стороны вас или кого-то ещё нам не приходилось постоянно заново применять наши правки.
Я заметил, что в Discourse активно используются переменные, что мне очень нравится; чтение руководств по темизации было настоящим удовольствием. Я увидел, что существуют конструкции вроде [data-topic-id=“117”], так что, возможно, стоит предложить что-то вроде [data-theme-id]?