Предыдущий урок: 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: Shows how to set up 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: Пункты выхода плагина (Plugin Outlets)
Часть 3: Настройки сайта
Часть 4: Эта тема
Часть 5: Интерфейсы администратора
Часть 6: Приемочные тесты (Acceptance tests)
Часть 7: Публикация плагина
Этот документ находится под контролем версий — предложите изменения на GitHub.



