Уже довольно давно лучшей практикой считалось избегать редактирования тем, установленных из удалённого Git-репозитория, непосредственно в локальной установке Discourse. Любые изменения в коде темы или загруженные файлы стираются при обновлении темы из удалённого репозитория.
В этом коммите мы убрали возможность локального редактирования удалённой темы и теперь принудительно применяем эту лучшую практику в Discourse.
Что произойдёт, если у меня есть удалённая тема с локальными изменениями?
Ничего на данный момент. Ваша тема останется без изменений, пока вы не удалите её или не обновите из удалённого репозитория.
Как сохранить мои локальные правки?
Если ваши изменения касаются только CSS:
Вы можете перенести изменения, касающиеся только CSS, в новый локальный компонент темы. Для этого:
- Нажмите Установить
- Нажмите Создать новый
- Нажмите кнопку Редактировать в правой панели.
- Скопируйте ваши изменения CSS в соответствующий файл (common/mobile/desktop).
- Сохраните и включите компонент темы.
- Обновите удалённую тему, чтобы перезаписать локальные изменения и избежать дублирования CSS.
Если вы изменили больше, чем только CSS (JS/Шаблоны):
Мы рекомендуем, если вы хотите сохранить свои локальные правки, перевести тему в статус локальной. Для этого:
- Откройте тему в разделе Администрирование > Настройка
- Нажмите Экспорт, чтобы загрузить тему вместе с вашими локальными изменениями.
- Нажмите Установить в списке тем, затем выберите
С вашего устройства - Загрузите экспортированную тему, установите и включите её, как и раньше.
Другой вариант для заинтересованных — создать форк удалённой темы на GitHub, закоммитить ваши изменения в форкнутый репозиторий и установить этот форк на ваш экземпляр Discourse. Это даёт возможность перебазировать ваши изменения поверх любых будущих обновлений основного репозитория, чего не обеспечивает переход к локальной теме.
Наконец, обязательно удалите удалённую тему, чтобы избежать дублирования изменений и путаницы в будущем.