О стандартизированных рекомендациях для компонентов темы

Я никогда не думал, что буду этим заниматься, но вот я здесь: редактирую CSS и JavaScript, создаю свой первый простой набор компонентов для темы и плагина.

Как я уже читал ранее (хотя я ещё не был готов — для начала нужен определённый фундамент), процесс добавления функций и/или изменения существующих в Discourse на самом деле очень прост, и я за это очень благодарен.

Из моего скромного и краткого опыта работы с этим я заметил отсутствие стандартизированных руководств, особенно что касается компонентов тем. Я понимаю, что плагины следуют более строгому и чётко определённому пути.

При проектировании или написании кода для Horizon необходимо учитывать ядро Discourse, которое одинаково применяется ко всем темам, изменения, внесённые Horizon, Foundation (модернизированный), реализации из Topic Cards, а также любые другие компоненты, которые могут произвольно изменять переменные.

Существует ли сейчас руководство, которому я мог бы следовать с самого начала, чтобы упростить этот процесс и перестать сталкиваться с px, em, rem или переменными, которые перекрываются и перестают работать после последующих обновлений?

Я что-то упускаю, или это упрощение могло бы быть очень полезным для всех нас?

Вот ссылка на каркас темы

Я начинаю свой с него и загружаю его в экземпляр для разработки с помощью

а затем вставляю ссылку на мой репозиторий git

Спасибо, Эндрю, но, боюсь, это всё ещё опирается на те различные темы/компоненты, о которых я упоминал ранее.

Посмотрите на это:

Спасибо, я это почитаю! Но я всё равно боюсь, что это не поможет избежать проблем из-за смешения единиц px, em и px повсюду, а также переопределений между компонентами темы, карточками тем, модернизацией, значениями по умолчанию в Foundation и Horizon.

Я замечаю отсутствие интеграции в части того, на какой основе следует опираться или что реализовывать, а также необходимость улучшения коммуникации. Есть переменные, и есть рекомендации о том, как и что делать в конкретных случаях. Хорошо бы, чтобы мы все знали о них и придерживались их, тогда работа у всех стала бы проще.

Возможно, кто-то из вас, более опытных, поймёт, что я пытаюсь донести, и объяснит это более понятным языком. Я не такой технически подкованный, как вы, и всё это для меня пока в новинку.

Спасибо за то, что прочитали и поделились ссылками. Я также открыт к обсуждению и готов выслушать ваши мнения по этому поводу.