社区例会 Vol.06 从零开始的 Halo 插件开发

617

Halo 社区例会 五月的全新议题「和 guqing 一起开发插件」将基于 plugin-repos 插件为用户演示如何从零开始创建一个 Halo 插件。

本次例会是「和 guqing 一起开发插件」系列的第一期。开场环节,会议主持人 guqing 介绍了 Halo 插件开发的基本概念和开发环境。你也可以查阅官方文档中的 「插件开发」 篇目来获取更详尽的信息。

document for halo plugin development

随后,guqing 以将 GitHub 的个人仓库信息同步到 Halo 的自定义模型中为例,展示了在 Halo 中创建插件、运行插件的整体过程。在此期间,涉及了插件生命周期、如何使用自定义模型、自定义模型对象的生命周期介绍、如何使用自动生成的 API、如何创建自定义 API 等演示说明,并初步实现了以下功能:
通过 GitHub API 获取个人仓库信息;

  • 创建自定义模型 Repository;
  • 将 GitHub 仓库信息通过自定义 API 存储到 Repository 模型中;
  • 通过 Repository 的自定义模型 API 列出数据;

参会人员对演示内容进行了提问和讨论,并提出了一些开发中的问题和建议,如:

  • 开发体验有待优化,可以考虑在用户界面提供 Devtools 相关功能,仅在插件开发时用于对用户界面的自动刷新和插件热重载。
  • 针对 plugin-repos 示例插件,提出了可以定义一个自定义模型用于存储仓库数据源用于同步数据。

下期预告

下期例会中,我们将继续围绕 plugin-repos 插件开发进行分享和探讨。预计实现的功能:

  • 使用一个新的自定义模型来存储仓库源,以便同步上游仓库数据;
  • 通过 Reconciler 来 watch 仓库源并定期同步;
  • 自定义主题模板页和路由展示仓库信息。

如果你也对 Halo 插件开发抱有兴趣、或对 plugin-repos 插件本身持有改进想法或实现建议,欢迎你在该系列会议进行的同时就参与到协作开发中来,在实践中理解 Halo、熟悉 Halo、成为 Halo 的贡献者。想想下次例会中,大家围绕你的创意或代码展开的讨论会如何。

感谢与会者的发言,同时感谢所有人的参与和聆听。下期再会咯~

扫码收看会议录像 / 密码:halo

meet-replay-halo-plugin-1.png

如果你对插件主题开发有任何灵感,欢迎加入 Halo 特别兴趣小组 参与贡献。如果你在开发过程中遇到问题,Halo 项目组成员乐意为你提供解答和帮助。你可以通过 论坛 和我们取得联系。
Halo 社区例会将持续聚焦于大家最最关注的话题领域。这个无界沟通的场所,我们期待通过每一次的畅谈,解决你的疑问、了解你的需求、一起探讨 Halo 的未来与诸多可能。最后,能够对想要参与社区贡献的你给予便利和帮助,同时也提供一个成员互助的契机。