# Какой сейчас лучший способ настроить компонент distant theme?

**URL:** https://meta.discourse.org/t/what-is-the-new-best-way-to-tweak-distant-theme-component/180000
**Category:** Development
**Created:** [17.Февраль.2021 08:26:32 UTC](https://meta.discourse.org/t/what-is-the-new-best-way-to-tweak-distant-theme-component/180000 "2021-02-17T08:26:32Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![oca](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oca/32/156060_2.png) [@oca](https://meta.discourse.org/u/oca)
#### Post date: [17.Февраль.2021 08:26:32 UTC](https://meta.discourse.org/t/what-is-the-new-best-way-to-tweak-distant-theme-component/180000/1 "2021-02-17T08:26:32Z")

</div>

Несколько месяцев назад (а может, и больше, я никогда особо не следил за обновлениями) мы могли изменять HTML/CSS любых компонентов темы, а не только локальных.

Просто появлялось предупреждение: «Будьте осторожны: если этот компонент будет обновлён, ваши изменения будут утеряны».

Справедливости ради скажу, что я скучаю по такому поведению (я администратор форума, должен понимать, что делаю; у меня есть файл со всеми моими изменениями, которые нужно периодически обновлять — это утомительно, но хотя бы я могу это делать).

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

Поэтому мой вопрос:  
Если мне действительно нужно изменить другие компоненты темы, какой будет лучший способ это сделать?

- **Форкнуть исходный репозиторий Git в новый репозиторий Git?**
  - Плюсы: довольно легко управлять обновлениями исходного компонента темы (TC)
  - Минусы: ещё более утомительно, чем раньше

- **Скопировать файлы в новый локальный компонент темы?**
  - Плюсы: менее утомительно (всё делается в одном месте)
  - Минусы: некоторые файлы, кажется, нельзя добавить через панель администратора
  - Минусы: сложно отслеживать обновления исходного TC

- **Оставить исходный компонент и добавить новый, который будет его изменять?**
  - Плюсы: автоматическое обновление
  - Плюсы: довольно безопасно
  - Минусы: работает для некоторых изменений (например, CSS), но не для всего (нельзя реально изменить компонент Handlebars без полного копирования)
  - Минусы: вероятно, возможно, но сложно изменить виджеты (по крайней мере, я не нашёл способа добавить несколько строк кода в виджет)

Какие у вас есть предложения?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [17.Февраль.2021 13:39:31 UTC](https://meta.discourse.org/t/what-is-the-new-best-way-to-tweak-distant-theme-component/180000/2 "2021-02-17T13:39:31Z")

</div>

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

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [17.Февраль.2021 14:02:39 UTC](https://meta.discourse.org/t/what-is-the-new-best-way-to-tweak-distant-theme-component/180000/3 "2021-02-17T14:02:39Z")

</div>

Выберите между «Сделайте форк оригинального Git-репозитория в новый Git-репозиторий» и «Сохраните оригинальный компонент и добавьте новый компонент, который изменяет оригинал». Если вносимые вами изменения достаточно существенны, сделайте форк репозитория компонента. Однако, если вы вносите простые изменения стиля, имеет смысл создать новый компонент только с переопределениями.
