Este plugin agora está incluído no core do Discourse. Não há necessidade de usar esta gem.
Para criar um novo plugin, use: rake plugin:create[nome-do-plugin]
Desde que comecei a desenvolver plugins para o Discourse, senti que a configuração geral poderia ser mais direta. Deveríamos ter uma melhor experiência geral de desenvolvimento ao criar um plugin.
Ele clona e cria uma cópia do discourse-plugin-skeleton sob seu nome de usuário ou organização, com base na opção escolhida. Depois disso, atualiza todos os placeholders com o nome do seu plugin. Tornando-o pronto para iniciar o desenvolvimento.
Como usar?
No mesmo espírito de npx create-next-app ou npx meteor
Obrigado! Pensei em fazer isso toda vez que criei um novo plugin nos últimos anos! Parece que você fez um trabalho muito melhor do que eu teria feito. Mal posso esperar para experimentar!
@grubba como você se sentiria em incorporar isso ao core como uma tarefa rake? Como
bin/rake plugin:create
As pessoas precisam ter um ambiente de desenvolvimento core funcional para trabalhar em plugins de qualquer maneira, então parece um bom encaixe? Isso também o tornaria 100% ‘oficial’ e mais fácil para toda a equipe manter.
Eu me pergunto se seria melhor torná-lo 100% git, em vez de depender das pessoas usarem o github (e terem o gh cli)? Algumas pessoas usam outros serviços para hospedar seus plugins e também podem não querer que eles sejam imediatamente tornados públicos.
Em discourse_theme, mantemos um cache local do tema-esqueleto, então ele funciona até offline!
Acho que faz sentido! As pessoas testaram, recebi algumas reclamações e feedback e fiz alguns ajustes. Acho que está em boa forma para torná-lo oficial. Trabalharei nos próximos dias para adicioná-lo ao core.
Concordo que usar o gh não é o ideal, e vou encontrar uma solução. Talvez o que discourse_theme new faz seja o que eu estava procurando…
EDIT: Removi Gemfile.lock de .gitignore, como dizia. E agora funciona.
Gemfile.lock não permitido em .gitignore
Cloning 'https://github.com/discourse/discourse-plugin-skeleton' to '/home/pfaffman/src/discourse-repos/discourse/plugins/discourse-public-bookmark-timers'...
Initializing git repository...
Initialized empty Git repository in /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-public-bookmark-timers/.git/
The following paths are ignored by one of your .gitignore files:
Gemfile.lock
hint: Use -f if you really want to add them.
hint: Turn this message off by running
hint: "git config advice.addIgnoredFile false"
rake aborted!
Command failed with exit 1: git
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/plugin.rake:352:in `system'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/plugin.rake:352:in `block (2 levels) in <main>'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/plugin.rake:344:in `chdir'
/home/pfaffman/src/discourse-repos/discourse/lib/tasks/plugin.rake:344:in `block in <main>'
Tasks: TOP => plugin:create
(See full trace by running task with --trace)
Tentei novamente depois de executar git config advice.addIgnoredFile false com o mesmo resultado.
E também
$ gem exec create-discourse-theme discourse-public-bookmark-timers
ERROR: Could not find a valid gem 'create-discourse-theme' (>= 0) in any repository
ERROR: Possible alternatives: create-discourse-plugin, discourse_theme, askclass-course-theme, date_discreter, opensource-theme