Предыдущий урок: Developing Discourse Plugins - Part 3 - Add custom site settings
Теперь, когда ваш плагин становится более сложным, пора и процесс его разработки сделать более продвинутым.
Мы рекомендуем использовать git для контроля версий вашего плагина. Также советуем использовать GitHub для обмена кодом плагина с другими разработчиками.
Создание репозитория Git
После создания аккаунта на GitHub перейдите по этой ссылке, чтобы создать новый репозиторий. Вы можете назвать его как угодно, но обычно хорошо, если имя начинается с discourse-. Убедитесь, что репозиторий публичный. Вот как выглядело моё окно:
Создание локальной рабочей папки
На этом этапе я создаю локальную директорию на своём компьютере для размещения плагина. Обычно я размещаю его в ~/code, но вы можете выбрать любое удобное для вас место:
mkdir -p ~/code/discourse-plugin-test
cd ~/code/discourse-plugin-test
Теперь следуем инструкциям от GitHub для инициализации репозитория с файлом README:
echo "# discourse-plugin-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:eviltrout/discourse-plugin-test.git
git push -u origin main
Наконец, создайте файл plugin.rb для вашего плагина, как описано в части 1. Для этого примера я создал простой заглушку:
plugin.rb
# name: discourse-plugin-test
# about: Показывает, как настроить Git
# version: 0.0.1
# authors: Robin Ward
Создание символической ссылки
Поскольку вы следовали нашему руководству для разработчиков, у вас должна быть установлена копия Discourse на вашем компьютере. Я установил её в ~/code/discourse, но вы могли выбрать любое другое место; если вы измените код ниже соответствующим образом, всё будет работать:
cd ~/code/discourse/plugins
ln -s ~/code/discourse-plugin-test .
Приведённый выше код создаёт символическую ссылку между кодом Discourse и папкой вашего плагина. Перезапустите сервер разработки, и вы увидите, что ваш плагин работает!
Прелесть такой настройки в том, что вы можете просто загрузить свой плагин на GitHub и не беспокоиться о коде базы Discourse, внутри которого он находится. Ваши изменения будут изолированы только в самом плагине. Если вам потребуется редактировать код самого Discourse, вы всё равно сможете это сделать, но Git будет отслеживать изменения отдельно!
Я рекомендую использовать одно окно редактора для кода плагина и другое — для самого Discourse. Так проще, если рассматривать их как две разные сущности.
Продолжение серии
Часть 1: Основы плагинов
Часть 2: Выходные точки плагинов
Часть 3: Настройки сайта
Часть 4: Эта тема
Часть 5: Интерфейсы администратора
Часть 6: Приёмочные тесты
Часть 7: Опубликуйте ваш плагин
Этот документ находится под контролем версий — предлагайте изменения на GitHub.



