Снижение затрат на обслуживание пользовательских тем

Discourse обладает высокой степенью настраиваемости, позволяя изменять практически любой аспект его внешнего вида с помощью тем.

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

  • Ищите официальные темы или компоненты тем, которые соответствуют желаемому функционалу. Они обновляются вместе с Discourse. Они также могут служить примерами для ваших собственных кастомизаций.
  • Заменяйте текст интерфейса, используя функцию администратора → настройка → текст, путем поиска конкретного текста и его обновления там.
  • CSS тем является аддитивным, что позволяет переопределять стандартные стили без их прямого редактирования. Этот подход улучшает поддерживаемость CSS и минимизирует конфликты с обновлениями.
  • Используйте систему контроля версий, такую как Git с GitHub, GitLab или Bitbucket, для отслеживания изменений. Хотя редактор HTML и CSS в разделе администратора → настройка → темы удобен для небольших корректировок, системы контроля версий облегчают отслеживание и устранение неполадок в более сложных изменениях.
  • Для продвинутых кастомизаций создавайте независимые модули для нового функционала и интегрируйте их через плагинные выходы. Discourse использует Ember.js, поэтому создание компонентов Ember является идеальным решением. Этот метод изолирует пользовательский функционал, снижает требования к обслуживанию и помогает избегать конфликтов с обновлениями Discourse.

Переопределение стандартных JavaScript и HTML-шаблонов Discourse внутри темы должно быть крайней мерой, так как такие изменения с большей вероятностью будут несовместимы с обновлениями Discourse, могут быть сложными в диагностике и более подвержены ошибкам, приводящим к простоям.

Для получения дополнительной информации о использовании и создании тем Discourse, не стесняйтесь задавать вопросы в нашем сообществе Meta, а также ознакомьтесь с нашими руководствами по темам:


Этот документ находится под контролем версий - предложите изменения на github.

13 лайков