研究调查问卷:请告诉我们您使用 Blockly 的体验
开始调查问卷
添加第一方插件
read_more
详细了解插件
授权流程
插件会经历四个阶段:建议、讨论、实现和发布。
建议
插件起步时会提供建议。您可以使用 Feature Request 模板创建新问题,以推荐插件。
read_more
阅读如何编写功能请求
除了基本的功能请求信息之外,插件建议还应包括:
- 插件将公开的 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 在每个季度的最后一周发布(每三个月一次)。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-12-01。
[null,null,["最后更新时间 (UTC):2023-12-01。"],[[["Blockly plugins progress through four stages: suggestion, discussion, implementation, and publishing."],["Plugin suggestions should clearly define the API, required core Blockly changes, UI features (if any), and rationale for being a first-party plugin."],["The discussion phase involves refining functionality, API, implementation plan, testing, and core Blockly API changes before implementation begins."],["Implementation includes setting up the plugin, core logic and UI development, testing, and documentation."],["Publishing is managed using Lerna, occurring weekly, and plugins are added to the Plugins site for visibility."]]],["Plugins progress through four stages: suggestion, discussion, implementation, and publishing. Suggestions are submitted as feature requests, including API details and UI mockups. Discussion clarifies functionality, API, and implementation plans. Implementation involves coding, UI design, testing, and documentation. Finally, plugins are published weekly using Lerna, with updates to the Plugins site, unless marked as private in the package.json file.\n"]]