开发 Discourse 插件 - 第 7 部分 - 发布你的插件

上一教程:Developing Discourse Plugins - Part 6 - Add acceptance tests


你已经创建了插件将其上传到 GitHub,并且添加了测试。太棒了!问题是,其他人并不知道它的存在。

为你的插件编写文档

所有插件都需要良好的文档。用户需要知道插件的功能、安装方法、重要的设置/配置更改,以及如何使用它。插件应该在两个不同的位置进行文档化:你的 git 仓库中的 README.md 文件,以及 Customization > Plugin 分类下的专用主题。

GitHub 文档

GitHub 上的 README.md 文件非常重要,因为当用户访问你的仓库时,它会默认显示。至少,你的 README 应该包含插件的标题和简短描述。更完整的 README 还将包括安装说明、更详细的描述、基本使用说明、许可证,以及(如果适用)截图。如果你的插件的 Meta 主题中包含了额外的说明,请确保在 README 中包含指向该主题的链接。

最小化文档化的插件示例:Discourse Data Explorer
文档更完整的插件示例:Discourse SolvedDiscourse OAuth2 BasicDiscourse Ads

示例插件 README 模板

请确保用你的插件具体信息更新 < > 包围的文本。

## <插件标题>

<插件描述>

## 安装

按照[插件安装指南](https://meta.discourse.org/t/install-a-plugin/19157)进行操作。

## 使用方法

<解释如何启用插件、必要的配置步骤以及如何使用它>

## 截图

<如有必要,请包含截图以展示插件的使用情况>

## 更多阅读

<如果在 Meta 主题中有更详细的信息,请包含链接>

## 许可证

<注明你的代码许可证,大多数 Discourse 插件使用 MIT>

Meta 文档

GitHub 文档通常简短且“直截了当”,而 Meta 文档则是你分享插件完整细节并说服用户使用它的地方。至少,你的 Meta 主题应该包含插件的简短描述,以及指向 GitHub 上插件仓库的链接(以便用户安装它)。更完整的文档还将包括详细描述、示例用例、详细使用说明、所有设置和配置选项的文档,以及截图。截图非常关键,因为用户希望看到插件的实际效果,而不仅仅是阅读描述。一个添加身份验证提供程序的插件可能只需要 1 张截图,而一个添加新界面或进行重大更改的插件则可能需要多张截图。

Meta 文档通常比 GitHub 文档更具个人风格,每个插件作者都有自己的文档风格。无论你选择哪种风格,请确保它清晰、易读且有条理。适当使用标题,标注截图以解释复杂的交互,并确保格式一致。避免写成一个巨大的段落。

更新你的文档

在编写初始文档后,保持其更新非常重要。

为插件添加了新功能?请抽出时间记录它。
多次回答相同的问题?考虑在 Meta 主题中添加一个常见问题解答(FAQ)部分。
存在难以修复的已知问题?在主题中详细说明,让用户知道会发生什么。

支持你的插件

发布插件及其文档后,发现它有用的站点管理员可能会在他们的网站上安装并开始使用它。这种使用需要插件开发者的持续支持。你需要回答站点管理员的问题,帮助他们使用你的插件。对你来说非常合理的事情可能对其他人来说并不清楚,因此你需要更新代码和/或文档以澄清这一点。你可能会收到功能请求,你需要决定是否添加它们。

最后,Discourse 本身处于不断开发中。虽然你的插件今天可能运行完美,但明天可能会发生某些变化导致它无法正常工作。请确保跟上 Discourse 的开发进度,以便在变化影响你的插件时,更新插件以支持最新版本的 Discourse。


系列更多内容

第一部分:插件基础
第二部分:插件出口
第三部分:站点设置
第四部分:git 设置
第五部分:管理界面
第六部分:验收测试
第七部分:本主题


本文档受版本控制 - 在 GitHub 上建议更改。

24 个赞

刚读完这篇指南,不得不说写得真棒!

Robin,你有没有考虑过写一本书?你应该写!如果你写一本关于自定义和创建 Discourse 插件的书,我会是第一个购买的人 :smiley: :smiley: :smiley:

5 个赞

你好,关于 Discourse 插件能实现哪些高级功能,是否有更深入的说明?
例如:

  • 插件能否修改数据库?
  • 能否连接 API 并按类别定义自定义函数等?
  • 另外,我不太清楚插件(plugin)和组件(component)之间的区别。

我对自己部署的 Discourse 有一些具体需求,想了解要实现这些功能需要多少开发工作量。

1 个赞

插件可以修改 Discourse 核心中的任何代码。您可以自由地添加数据库迁移、调用查询 API、执行函数,或做任何您想做的事!

主题组件旨在用于前端功能。

4 个赞

你可以在 Dev 中描述一下,以获取更具体的解答。