Минимизация обслуживания при кастомизации темы

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

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

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

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

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


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

13 лайков