Questo plugin è ora incluso nel core di Discourse. Non è necessario utilizzare questa gem.
Per creare un nuovo plugin, utilizzare: rake plugin:create[plugin-name]
Da quando ho iniziato a sviluppare plugin per Discourse, ho sentito che l’impostazione generale poteva essere più semplice. Dovremmo avere una migliore esperienza di sviluppo generale quando creiamo un plugin.
In questo spirito, ho creato nel mio tempo libero questa gem chiamata create-discourse-plugin
Cosa fa?
Clona e crea una copia di discourse-plugin-skeleton sotto il tuo nome utente o organizzazione in base all’opzione scelta. Dopodiché, aggiorna tutti i segnaposto con il nome del tuo plugin. Rendendolo pronto per iniziare lo sviluppo.
Come si usa?
Nello stesso spirito di npx create-next-app o npx meteor
Grazie! Ci ho pensato ogni volta che ho creato un nuovo plugin negli ultimi due anni! Sembra che tu abbia fatto un lavoro molto migliore di quanto avrei potuto fare io. Non vedo l’ora di provarlo!
@grubba, cosa ne penseresti di integrare questo nel core come task rake? Tipo
bin/rake plugin:create
Le persone hanno comunque bisogno di un ambiente di sviluppo core funzionante per lavorare sui plugin, quindi sembra una buona soluzione? Renderebbe anche più ‘ufficiale’ e più facile da mantenere per tutto il team.
Mi chiedo se sarebbe meglio renderlo 100% git, invece di fare affidamento sulle persone che usano GitHub (e che hanno la CLI gh)? Alcune persone usano altri servizi per ospitare i loro plugin e potrebbero anche non volere che vengano resi immediatamente pubblici.
In discourse_theme manteniamo una cache locale del tema-skeleton, quindi funziona anche offline!
Immagino abbia senso! Le persone lo hanno testato, ho ricevuto alcuni reclami e feedback e ho apportato alcune modifiche. Penso che sia in ottime condizioni per renderlo ufficiale. Lavorerò nei prossimi giorni per aggiungerlo al core.
Concordo sul fatto che l’uso di gh non sia l’ideale e troverò una soluzione. Forse quello che fa discourse_theme new è quello che stavo cercando…
MODIFICA: Ho rimosso Gemfile.lock da .gitignore, come diceva. E ora funziona.
Nessun Gemfile.lock consentito in .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)
Ho riprovato dopo aver eseguito git config advice.addIgnoredFile false con lo stesso risultato.
E anche
$ 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