Tutorial anterior: Developing Discourse Plugins - Part 3 - Add custom site settings
Agora que seu plugin está ficando mais sofisticado, é hora de se tornar mais sofisticado também na forma como você o desenvolve.
Sugerimos que você use o git como controle de versão para seu plugin. Também recomendamos que você use o github para compartilhar o código do seu plugin com outras pessoas.
Criando seu repositório Git
Depois de criar sua conta no GitHub, visite este URL para criar um novo repositório. Você pode chamá-lo como quiser, mas geralmente algo que comece com discourse- é uma boa opção. Certifique-se de que o repositório seja público. Veja como minha tela ficou:
Criando sua pasta de trabalho local
Neste ponto, crio um diretório local no meu computador para armazenar o plugin. Eu geralmente coloco o meu em ~/code, mas você pode colocá-lo em qualquer lugar que preferir no seu computador:
mkdir -p ~/code/discourse-plugin-test
cd ~/code/discourse-plugin-test
Agora, vamos seguir as instruções do GitHub para inicializar o repositório com um README:
echo "# discourse-plugin-test" >> README.md
git init
git add README.md
git commit -m "primeiro commit"
git remote add origin git@github.com:eviltrout/discourse-plugin-test.git
git push -u origin main
Por fim, crie um arquivo plugin.rb para seu plugin, conforme explicado na parte 1. Para este exemplo, criei apenas um fictício:
plugin.rb
# name: discourse-plugin-test
# about: Mostra como configurar o Git
# version: 0.0.1
# authors: Robin Ward
Criando um link simbólico
Como você seguiu nosso guia de desenvolvedor, você deve ter uma cópia do Discourse clonada em algum lugar do seu computador. Eu clonei a minha para ~/code/discourse, mas novamente, você poderia tê-la colocado em qualquer lugar e isso ainda funcionaria se você ajustasse o código a seguir de acordo:
cd ~/code/discourse/plugins
ln -s ~/code/discourse-plugin-test .
O código acima criou um link simbólico entre o código do Discourse e a pasta do seu plugin. Reinicie seu servidor de desenvolvimento e você verá que seu plugin está funcionando!
A beleza dessa configuração é que você pode simplesmente enviar seu plugin para o GitHub e não se preocupar com a base de código do Discourse na qual ele reside. Suas alterações ficarão isoladas no próprio plugin. Se você precisar editar o código do Discourse, ainda poderá fazê-lo, mas o git acompanhará as alterações separadamente!
Recomendo usar uma janela de editor para a base de código do seu plugin e outra para o próprio Discourse. É mais fácil quando você os pensa como duas coisas diferentes.
Mais na série
Parte 1: Fundamentos de Plugins
Parte 2: Plugin Outlets
Parte 3: Configurações do Site
Parte 4: Este tópico
Parte 5: Interfaces administrativas
Parte 6: Testes de aceitação
Parte 7: Publique seu plugin
Este documento é controlado por versão - sugira alterações no GitHub.



