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.
Eu só comecei agora, mas aqui está minha “dica inicial” para você começar:
Leia:
- estes
- este
- Tente ler o código dos plugins mais simples, mas populares, e veja se consegue entender o que eles fazem (nem sempre é fácil, especialmente com a complexidade de lidar com múltiplos arquivos e a às vezes brutal brevidade funcional do JavaScript, mas persista)
Você precisa aprender:
- Muito JavaScript (não precisa ir além dos excelentes e divertidos (!) vídeos de @mpj, Fun Fun Function (obrigado, mano!))
- Muito Ember e um pouco de Ruby (Comece aqui)
- Github e Git
- (E HTML/CSS, claro!)
Instale:
- Atom e considere o excelente complemento nuclide, que facilita a navegação e edição remota de árvores de arquivos
- Uma instância de desenvolvimento do Discourse usando este guia, de preferência em um servidor em nuvem barato, e provavelmente instale o plugin de localizações de outlet para tornar as coisas mais visuais.
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’ …