添加第一方插件

详细了解插件

授权流程

插件会经历四个阶段:建议讨论实现发布

建议

插件起步时会提供建议。您可以使用 Feature Request 模板创建新问题,以推荐插件。

阅读如何编写功能请求

除了基本的功能请求信息之外,插件建议还应包括:

  • 插件将公开的 API。
  • 需要在核心 Blockly 中添加或更改以支持插件的 API。
  • 屏幕截图、GIF 或模型(如果插件包含界面功能)。
  • 解释为什么它应该是第一方插件而不是第三方插件。

Blockly 团队会在收到建议时进行审核,然后关闭问题或添加 status:thinkion 标签。

讨论

接下来,插件会进入讨论阶段。此阶段包括:

  • 阐明所需功能。
  • 阐明插件的 API。
  • 制定实施计划。
  • 规划测试。
  • 讨论了核心 Blockly 中的 API 变更。
  • 将大型插件拆分为实现步骤。
  • 根据我们的命名惯例对插件进行命名。
  • 确认会满足所有第一方条件。

这种讨论通常针对 GitHub 问题进行。插件的范围越小,讨论阶段就越快。大型插件可能会吸引社区的关注,以及对合适解决方案的强烈意见。如果您的问题遇到这种情况,那么恭喜您!您找到了大家关心的内容。

这样做的目标是在讨论阶段结束时,所有主要设计决策均已做出,并且一份清晰的实现步骤列表。两者都应记录在问题的注释中。

在讨论过程中,我们可能会决定插件应该是第三方插件,而不是在 @blockly 范围内发布。这样的话 我们将说明原因并结束问题

讨论完成后,Blockly 团队成员会为问题添加 status: implementation 标签。

实施步骤

实现步骤包括:

  • 运行 npx @blockly/create-package,以通过模板设置插件及其目录。了解详情...
  • 为插件实现核心逻辑。
  • 实现界面(如果需要)。
  • 使用 mocha 测试插件。
  • 记录插件,包括 README

如果插件的问题带有 status: implementation 标签,则表明该插件已为实现或正在积极实现。为避免重复性工作,任何感兴趣的人都应对该问题发表评论,并询问其是否仍欢迎大家贡献内容。

实现可以由多个贡献者并行完成。您可以在自己的分支上协作实现插件,也可以通过针对此代码库的拉取请求来实现插件。如果您希望协作处理此代码库中的插件,请让 Blockly 团队为您创建功能分支。

插件应添加到 blockly-samples 的 master 分支中的 gh-pages/index.md 文件中。这些插件会将它们显示在我们的插件网站上。第一方插件应指向其测试页。第三方插件也可以添加到此页面,并且可以指向其所有者选择的链接,例如托管演示或 npm 页面。

正在发布

最后是发布。Blockly 团队使用 Lerna 管理所有插件的版本控制和发布。

每周四,我们都会发布自上次发布以来更改的所有插件。如果您需要尽快发布更改,请在拉取请求中注明。

插件网站也会在每次发布插件时更新。

尚未准备好发布的插件应在其 package.json 中标记为 private。如果某个插件依赖于 core Blockly 中尚未发布的更改,则可能会发生这种情况。Core Blockly 在每个季度的最后一周发布(每三个月一次)。