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.
Iāve only just started but hereās my āstarter for 10ā to get you going:
Read:
- these
- this
- Try and read the code on the simplest, but popular plugins and see if you can understand what they are doing (this is not always easy, especially with the complexity of dealing with multiple files and the sometimes brutal functional brevity of javasctipt, but persevere)
You need to learn:
- Lots of Javascript (look no further than @mpjās Fun Fun Function excellent & fun (!) videos (thanks man!))
- Lots of Ember & a bit of Ruby (Start here)
- Github & Git
- (And HTML/CSS of course!)
Install:
- Atom and consider the excellent nuclide add-in that facilitates remote file tree navigation & editing
- A dev instance of Discourse using this guide, preferably on a cheap cloud server, and probably install the outlet locations plugin to make things more visual.
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ā ā¦