Este plugin ahora está incluido en el núcleo de Discourse. No es necesario usar esta gema.
Para crear un nuevo plugin, usa: rake plugin:create[plugin-name]
Desde que comencé a desarrollar plugins de Discourse, sentí que la configuración general podría ser más sencilla. Deberíamos tener una mejor experiencia de desarrollo general al crear un plugin.
Clona y crea una copia del discourse-plugin-skeleton bajo tu nombre de usuario u organización según la opción que elijas. Después de eso, actualiza todos los marcadores de posición con el nombre de tu plugin. Haciéndolo listo para comenzar el desarrollo.
¿Cómo usarlo?
En el mismo espíritu que npx create-next-app o npx meteor
¡Gracias! ¡He pensado en hacer esto cada vez que he creado un nuevo plugin en los últimos años! Parece que has hecho un trabajo mucho mejor del que yo habría hecho. ¡Estoy deseando probarlo!
@grubba ¿qué te parecería integrar esto en el núcleo como una tarea de rake? Como
bin/rake plugin:create
La gente necesita tener un entorno de desarrollo central funcional para trabajar en plugins de todos modos, así que parece una buena opción. También lo haría más ‘oficial’ y más fácil de mantener para todo el equipo.
Me pregunto si sería mejor hacerlo 100% git, en lugar de depender de que la gente use GitHub (y tenga la CLI gh). Algunas personas usan otros servicios para alojar sus plugins y tampoco quieren que se hagan públicos de inmediato.
En discourse_theme mantenemos una caché local del esqueleto del tema, ¡así que incluso funciona sin conexión!
¡Supongo que tiene sentido! La gente lo ha probado, y he recibido algunas quejas y comentarios y he hecho algunos ajustes. Creo que está en muy buena forma para hacerlo oficial. Trabajaré en los próximos días para agregarlo al núcleo.
Estoy de acuerdo en que usar gh no es ideal, y encontraré una solución. Tal vez lo que hace discourse_theme new es lo que estaba buscando…
EDITAR: Eliminé Gemfile.lock de .gitignore, como decía. Y ahora funciona.
No se permite Gemfile.lock en .gitignore
Clonando 'https://github.com/discourse/discourse-plugin-skeleton' a '/home/pfaffman/src/discourse-repos/discourse/plugins/discourse-public-bookmark-timers'...
Inicializando repositorio git...
Repositorio Git vacío inicializado en /home/pfaffman/src/discourse-repos/discourse/plugins/discourse-public-bookmark-timers/.git/
Las siguientes rutas son ignoradas por uno de tus archivos .gitignore:
Gemfile.lock
hint: Usa -f si realmente quieres añadirlos.
hint: Desactiva este mensaje ejecutando
hint: "git config advice.addIgnoredFile false"
rake abortado.
Comando fallido con salida 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>'
Tareas: TOP => plugin:create
(Consulta el rastreo completo ejecutando la tarea con --trace)
Lo intenté de nuevo después de ejecutar git config advice.addIgnoredFile false con el mismo resultado.
Y también
$ gem exec create-discourse-theme discourse-public-bookmark-timers
ERROR: No se pudo encontrar una gema válida 'create-discourse-theme' (>= 0) en ningún repositorio
ERROR: Alternativas posibles: create-discourse-plugin, discourse_theme, askclass-course-theme, date_discreter, opensource-theme