The discussion revolves around setting up a development environment for Discourse using Docker. Hemant_Raju1 seeks guidance on making code changes and seeing them reflected locally at localhost:4200. pfaffman advises creating a plugin using the Discourse plugin skeleton and recommends starting with the Beginner’s Guide to Creating Discourse Plugins. They confirm that Docker handles dependencies and that no additional setup is needed if Discourse is already running. pfaffman suggests using VSCode as an IDE, notes its configuration complexity, and mentions that Discourse uses Ember for plugins. They also recommend using theme components for display-related changes, eliminating the need for a full dev environment. The conversation concludes with encouragement to explore the guides and clarify specific goals for further assistance.
So now i want to start making some changes in functionality/code.
Here what i exactly looking for is how to setup the code now and how debug the code and
i want to see those changes reflecting in localhost:4200.
I am unable to understand how to move forward.
Do i still need to setup and install any other services/dependencies ??
I use vscode. It turns out that it is at least as hard to configure to do what you want as Emacs is. I think that there is a topic about configuring vscode, that might be helpful. I have finally gotten it mostly set up so that it’ll catch most linting problems if I’ll pay attention to them.
Discourse is written in Ember, so you’ll want to use that.
You shouldn’t need to install anything else, that’s what the docker does. If you can see Discourse at localhost:4200, then you’re all set. You can make changes to the plugin and reload the page and see what happened (for some things you don’t need to reload the page).
If whatever you want to do has to do only with what is displayed, you can use a theme component rather than a plugin. In that case, you don’t even need a development environment.
You first step is probably to work through the plugin and/or theme development guides. Also, if you say exactly what you want to do, then you might get help (like “that’s already implemented”, “see XXX plugin”, or some pointers on how to proceed).