Лучший рабочий процесс для поддержки тем?

Всем привет,

Хотел спросить, какой метод считается рекомендуемым или лучшим для сохранения ваших правок/кастомизаций, например, в существующей теме?

В качестве примера, я бы хотел внести изменения в замечательную тему Material Design Stock от @rewphus. Интересно, будет ли хорошей идеей сделать форк, развивать его на его основе, а затем пытаться синхронизировать изменения с исходной версией?

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

Вы можете сделать практически то же самое: создайте собственный компонент темы и добавьте его как дочерний к вашей базовой теме (источник из Git). Тогда вы сможете обновлять Git-тему по мере необходимости, не затрагивая вашу кастомную работу в компоненте.

Это самый простой способ; возможно, вы будете дублировать некоторый CSS, но, вероятно, не в неуправляемых масштабах.

Подробнее о темах и компонентах: Beginner's guide to using Discourse Themes

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

Я думал об использовании компонента темы, но полагал, что он предназначен для более мелких задач на концептуальном уровне. Может ли компонент темы как-либо изменять цветовую схему? Эта функция, кажется, доступна только для тем.

Я перечитаю этот документ, так как вчера читал его поздно вечером, и начну делать это в виде компонента темы :).

Такого требования нет. Я бы не рекомендовал копировать всю базовую тему и помещать её в компонент… это означает, что вы будете тащить с собой гораздо больше CSS, чем нужно, но вы можете добавлять столько переопределений, сколько захотите.

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

Понятно, большое спасибо, что нашли время ответить мне. Это было очень полезно.

Звучит хорошо.


Предлагаемый рабочий процесс


  • Сделайте форк и клонируйте компонент темы, который хотите изменить
  • Откройте клонированное рабочее пространство в Visual Studio Code (VSC)
  • Наслаждайтесь редактированием и программированием вашего компонента темы
  • Отправьте изменения из VSC в ваш репозиторий на GitHub
  • Установите изменённый компонент темы из вашего репозитория
  • Протестируйте

Повторяйте процесс.


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