Процедура обновления стандартных плагинов

У меня есть небольшой саморазмещённый сайт Discourse, созданный с помощью стандартной установки Docker. За эти годы я установил множество плагинов, редактируя хуки в конце файла containers/app.yml и клонируя репозитории плагинов через git. Я также немного занимался разработкой плагинов.

Однако несколько месяцев назад многие стандартные плагины были объединены с ядром Discourse. Предположим, что я форкнул весь репозиторий Discourse, отредактировал один из этих плагинов (например, discourse-math) и успешно внедрил изменения в своей локальной среде разработки. Какова процедура внедрения этого нового плагина в мой продакшн-экземпляр Discourse?

Из любопытства — зачем вам форкать какие-либо официальные плагины?

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

<in after_code: somewhere>
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/myaccount/myplugin-replacement.git

Возможно, получится сделать так, но проверьте:

<in after_code: somewhere>
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
          - git clone https://github.com/myaccount/myplugin-replacement.git

Я не был особенно внимателен к пробелам — убедитесь, что отступы идеальны.

Потому что я надеюсь обновить устаревшую версию MathJax, используемую плагином discourse-math.

Ладно, похоже, мне не хватает именно этой строки:

cmd:
  - rm -r poll

Чтобы прояснить ситуацию: что такое poll? Я думал, что мне следует удалить старую директорию discourse-math, чтобы избежать конфликтов, которые, кажется, у меня возникают. То есть что-то вроде

cmd:
  - -r plugins/discourse-math

Но это не та команда, которую стоит запускать наугад. :slight_smile:

Неважно, если вы допустите ошибку — просто пересоберите проект в таком случае.

Мой пример касался плагина для голосований.

Не повторяйте директорию плагина.

@merefield Кстати, думаю, вам понравится анимация на моей главной странице: https://discourse.marksmath.org/

В процессе я использовал часть вашего кода.

Ха, отлично! Теперь добавь клик по карточке пользователя! :slight_smile:

Это сработало, @merefield — огромное спасибо!!!

Это может стать изменением, которое приветствуется (pr-welcome) для официального плагина. Если вы хотите попробовать сделать это на благо всех, кто полагается на плагин, начните тему с тегом #feature, чтобы предложить это.