Como posso criar meus próprios plugins do Discourse?

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.

2 curtidas

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.
27 curtidas

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’ …

4 curtidas