Sorry if this has been asked, I tried searching for documentations but all I can find is the Get Started post, it helped me create a plugin but it didn’t cover topics such as what APIs are available. So, are there documents at all?
Thanks!
The discussion centers on the lack of comprehensive documentation for Discourse’s Plugin API. a9udn9u initially asks for API docs beyond the basic Get Started guide, noting that existing resources like docs.discourse.org and the Beginner’s Guide don’t explain plugin-specific properties, callbacks, or method parameters like those in Chrome or WordPress plugin docs. net_deamon suggests consulting Ember and Rails docs or browsing Discourse’s source code, referencing a prior thread for context. erlend_sh encourages such questions to be posted in Development. bcartwri96 bumps the thread for visibility. pacharanero confirms the scarcity of official Plugin API docs, noting that while some conventions are Ember/Rails-based, much is unique to Discourse. They suggest community collaboration to build a Discourse Developer Manual, pointing to early efforts at thepavilion.io. fzngagan and alxndr direct users to the plugin-api.gjs file in the Discourse repo, which contains brief inline documentation for available methods — now located at blob/main/app/assets/javascripts/discourse/app/lib/plugin-api.gjs. The consensus is that developers must currently rely on source code, community posts, and fragmented guides.
Sorry if this has been asked, I tried searching for documentations but all I can find is the Get Started post, it helped me create a plugin but it didn’t cover topics such as what APIs are available. So, are there documents at all?
Thanks!
Api documentation is available at
Discourse API doc is not what I’m requesting. I was thinking about something like Chrome plugin development docs or WordPress plugin development docs. For example when I read the Beginner’s Guide to Creating Discourse Plugins, I have questions like what are other special properties and callbacks does Discourse recognize in the default module? or what parameters are passed into the initialize() method? Neither the guide nor docs.discourse.org answered those questions.
As discourse uses ember in frontend and rails in backend, you can browse their respective docs to know how to create components, or controllers, etc.
That being said, you can go through the code of discourse to learn how they are doing things.
I had asked similar question long time back… See if the answers given here help you.
Then those questions are probably good candidates for Development ![]()
给这个话题顶一下,因为还没得到回复 ![]()
@bcartwri96 我觉得归根结底,Discourse 插件 API 缺乏全面的文档。
Meta 上有一些零散的信息,例如 https://meta.discourse.org/t/beginners-guide-to-creating-discourse-plugins-part-1/30515/1,但似乎没有完整的 API 参考。虽然其中部分内容属于标准的 Ember 或 Rails 范畴,但中间仍有大量内容纯属 Discourse 的约定俗成。
长远来看,如果社区能够着手编写一本 Discourse 开发者手册来填补这一空白,那将非常有益。我们已在 Pavilion 上实践了一些片段式的操作指南(HOWTOs),希望这些工作能为开发更全面的参考指南奠定初步基础。