插件资源文件
一个典型的插件资源文件 plugin.yaml 如下所示:
apiVersion: plugin.halo.run/v1alpha1
kind: Plugin
metadata:
  name: hello-world
spec:
  enabled: true
  requires: ">=2.0.0"
  author:
    name: halo-dev
    website: https://halo.run
  logo: https://halo.run/logo
  # settingName: hello-world-settings
  # configMapName: hello-world-configmap
  homepage: https://github.com/guqing/halo-plugin-hello-world
  displayName: "插件 Hello world"
  description: "插件开发的 hello world,用于学习如何开发一个简单的 Halo 插件"
  license:
    - name: "MIT"
- apiVersion和- kind:为固定写法,每个插件写法都是一样的不可变更。
- metadata.name:它是插件的唯一标识名,包含不超过 253 个字符,仅包含小写字母、数字或- -,以字母或数字开头,以字母或数字结尾。
- spec.enabled:表示是否要在安装时自动启用插件,仅在插件开发模式下有效。
- spec.requires:支持的 Halo 版本,遵循 Semantic Versioning 规范。
- spec.author:插件作者的名称和可获得支持的网站地址。
- spec.logo:插件 logo,可以是域名或相对于项目- src/main/resources目录的相对文件路径。
- spec.settingName:插件配置表单名称,参考表单定义,不需要表单设置则可删除。
- spec.configMapName:表单定义对应的值标识名, 推荐命名为 "插件名-configmap",没有配置- settingName则不需要配置此项。提示- 如果你在 plugin.yaml 中配置了 - settingName但确没有对应的- Setting自定义模型资源文件,会导致插件无法启动,原因是- Setting模型- metadata.name为你配置的- settingName的资源无法找到。
- spec.homepage:通常为插件的 GitHub 仓库链接,或可联系到插件作者或插件官网或帮助中心链接等。
- spec.displayName:插件的显示名称,它通常是以少数几个字来概括插件的用途。
- spec.description:插件描述,用一段话来介绍插件的用途。
- spec.license:插件使用的软件协议,参考:https://en.wikipedia.org/wiki/Software_license。