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, а также ознакомьтесь с нашими руководствами по темизации:
- Начинающему о использовании тем Discourse
- Дизайнеру о темах Discourse
- Разработчику о темах Discourse
- Как включить безопасный режим для устранения проблем с темами и плагинами
- Структура тем и компонентов тем
- Создание и публикация компонента темы со шрифтами
- Как создать и опубликовать цветовую схему
- Как использовать переменные ядра Discourse в вашей теме
- Как добавить настройки в вашу тему Discourse
- Theme Creator: создавайте и демонстрируйте темы без установки Discourse!
Этот документ находится под контролем версий — предложите изменения на GitHub.