Hi, I want to make my own discourse plugins and what languages I need to know and what tools/programs/apps I need to do so. I appreciate it.
Solo he comenzado, pero aquí está mi “punto de partida” para ponerte en marcha:
Lee:
- Estos
- Esto
- Intenta leer el código de los plugins más sencillos, pero populares y trata de entender qué hacen (esto no siempre es fácil, especialmente por la complejidad de manejar múltiples archivos y la a veces brutal brevedad funcional de JavaScript, pero persiste).
Necesitas aprender:
- Mucho JavaScript (no busques más allá de los excelentes y divertidos (!) videos de @mpj sobre Fun Fun Function (¡gracias, amigo!))
- Mucho Ember y un poco de Ruby (Comienza aquí)
- GitHub y Git
- (¡Y HTML/CSS, por supuesto!)
Instala:
- Atom y considera el excelente complemento nuclide que facilita la navegación y edición de árboles de archivos remotos.
- Una instancia de desarrollo de Discourse usando esta guía, preferiblemente en un servidor en la nube económico, y probablemente instala el plugin de ubicaciones de outlet para hacer las cosas más visuales.
I appreciate it! What “kind” of JavaScript, like web or node.js?
ECMAScript. It’s used in both ‘places’.
Would I just make a new atom file named plugin.js and work on a plugin there?
No. There are no ‘.js’ files. JavaScript is mainly stored in ‘.js.es6’ files. Ruby in ‘.rb’ files. It’s more complex. Take a look at existing plugins for example file arrangement and content. You need to understand serialisation, Ember templates, the Router and the Model, View, Controller concept.
I would highly recommend you install a simple existing plugin of your choice and try modify it in some sensible way.
Dont skip on the reading.
I think it’s fair to say is a pretty steep learning curve because there are a lot of concepts to get to grips with, two languages, one framework and Discourse’s ‘way of doing things’ …