无参考的插件开发

一周以来,我一直在尝试使用一个插件在我的论坛上设置自定义路由。该路由应该对任何人公开访问。我希望该插件在指定的路由上简单地显示一个 handlebar 模板的 HTML。我无法让模板渲染。

我研究了如何为 Discourse 开发插件,但找不到任何实质性的文档。每当有人询问有关开发插件的问题时,回复都是指向一个关于开发管理员插件的“指南”的链接,其中显示了一个紫色的触手。每当有关于模板未显示的问题时,我们都会被简单地引荐到 Ember 关于路由器的文档。

该指南还可以,但有一些在后台发生的魔法没有解释清楚,因此我们无法借鉴这些信息并加以利用。如果我们想显示一个公共路由怎么办?plugin.rb 文件是如何被 Discourse 使用的?我可以在 plugin.rb 文件中使用哪些其他 Discourse 特定的代码/语句,例如“add_admin_route”,来向我的应用程序添加路由?我们是否必须使用特定的文件结构才能使路由解析?

基本上,所有开发复杂插件的开发者,他们都在哪里查阅文档来完成这些工作?我是一名经验丰富的开发者,但鉴于目前可用的关于构建插件的指南/信息,仅仅在我的论坛上添加一个公共路由并在该路由上渲染一个模板就变得很复杂。

任何帮助都将不胜感激。谢谢!:heart:

1 个赞

Michael,答案是:参考现有技术文档,因为文档会很快过时,而且往往只触及表面。相比之下,流行的插件通常会保持更新,并涵盖更复杂的用例。

在过去几年里,我和我的同事们已经学会了利用现有的代码库来理解各种方法。

我推荐你参考 Discourse 核心团队(official)、Pavilion(pavilion)以及我的代码库中的示例(按此顺序!:sweat_smile:)。

随着平台不断发展,依赖项的新版本和新功能不断推出,利用平台新增技术(例如)的官方插件可以作为很好的起点。

寻找一个功能上与你想要实现的目标相似的插件,并借鉴其方法。

下面是一个添加了一个路由的插件示例:

2 个赞