# Стилизация Discourse с помощью переменных: аргумент в пользу более простой семантики

**URL:** https://meta.discourse.org/t/styling-discourse-with-variables-a-case-for-simpler-semantics/378001
**Category:** Development
**Created:** [09.Август.2025 18:31:28 UTC](https://meta.discourse.org/t/styling-discourse-with-variables-a-case-for-simpler-semantics/378001 "2025-08-09T18:31:28Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![jordan.vidrine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jordan.vidrine/32/515563_2.png) [@jordan.vidrine](https://meta.discourse.org/u/jordan.vidrine)
#### Post date: [11.Август.2025 20:17:42 UTC](https://meta.discourse.org/t/styling-discourse-with-variables-a-case-for-simpler-semantics/378001/4 "2025-08-11T20:17:42Z")

</div>

Подход, который мы выбрали, _кажется_ близким к тому, что вы описываете, поэтому мне трудно понять, как вы могли бы реализовать это иначе. Тем не менее, я открыт для обратной связи и ценю вашу точку зрения.

Например, для такого параметра, как `--space`, его изменение повлияет на все отступы в приложении. Также можно настроить его так, чтобы он влиял только на отступы в списке тем или боковой панели, используя подходы, аналогичные тем, что вы описали.

> [@manuel](#):
>
> Если я хочу внести системные изменения, мне нужно обновлять несколько конкретных переменных вместо изменения одного базового значения.

Это верно для некоторых элементов, но не для других. Буду рад увидеть любые другие примеры, которые вы могли бы привести!

> [@manuel](#):
>
> ### Когнитивная нагрузка и удобство обнаружения
> 
> Обширный список переменных фактически требует таблицы поиска. Это кажется оторванным от того, как обычно работают в компонентных фреймворках, где я бы ожидал стилизовать компоненты напрямую. Возможно, это только мое восприятие, но мне кажется, что это смещает ментальную модель с «я хочу стилизовать этот компонент» на «мне нужно найти правильное имя переменной».

Это действительно проблема. Один из подходов, который мы рассматриваем (пока экспериментально), — это редактор, похожий на то, что делает shadcn здесь:

 ![CleanShot 2025-08-11 at 15.14.09@2x](https://global.discourse-cdn.com/meta/original/4X/4/a/b/4ab269148cf83f9fa8c23d159e9a139e448154cc.jpeg)

Хотя это не идеальный подход, мне кажется, что он приблизит нас к тому, чтобы сделать инструмент более доступным для людей, которые не умеют пользоваться инспектором, не имеют доступа к мета-данным для документации или не работают с CSS.

Что касается более компонентного подхода, то это то, к чему мы в конечном итоге стремимся, но Discourse в текущем виде не был разработан с учетом компонентного дизайна, и ожидание этого этапа перед добавлением удобных переменных не рассматривалось.

> [@manuel](#):
>
> Такие вещи, как `.d-sidebar`, `.d-topic-list`, `.d-header`.
> 
> А затем дополнить это небольшим набором базовых переменных, которые действительно работают каскадом так, как задумано в CSS:

Добавление некоторых классов для упрощения реализации в определенных разделах звучит как хорошее направление для улучшения удобства использования.

* * *

> [@manuel](#):
>
> Мне бы очень хотелось увидеть ту же энергию модернизации, примененную к архитектуре CSS, потому что я убежден, что долгосрочные преимущества как для разработчиков, так и для пользователей будут трансформационными.

Я согласен с вами 👍

---

_[View the full topic](https://meta.discourse.org/t/styling-discourse-with-variables-a-case-for-simpler-semantics/378001)._
