插件

本页内容

插件通过定义的扩展接口扩展 EmDash。它们可以响应内容生命周期事件、存储自己的数据、向管理员公开设置、向管理面板添加页面并提供 API 路由。

插件可以做什么

响应事件

在内容保存、媒体上传、评论审核、计划任务和插件生命周期事件时运行代码。

存储数据

在索引集合中持久化插件特定的记录,以及每个插件的键值存储用于设置和状态。

添加管理页面

向管理面板贡献页面和仪表板小部件,并提供自动生成的设置表单。

提供 API 路由

/_emdash/api/plugins/<id>/<route> 下暴露端点,供管理 UI 或外部集成使用。

调用外部 API

使用声明的主机白名单发起 HTTP 请求。

发送邮件

通过配置的提供商发送事务性邮件。

两种插件类型

EmDash 插件有两种格式:

  • 沙箱插件在由可配置的沙箱运行器管理的隔离运行时中运行。它们可以从市场一键安装,受能力和资源强制约束,并且只能访问它们声明的 API。这是大多数插件的推荐选择。
  • 原生插件在与您的 Astro 站点相同的进程中运行。它们可以完全访问运行时,可以提供 React 管理页面和 Portable Text 渲染组件,并向公共页面注入 HTML。它们通过代码更改加部署安装,并从 npm 而不是市场运行。

如果您要安装别人构建的插件,几乎总是需要沙箱插件。如果您要自己构建插件,请参阅选择插件格式

对于站点运营者

如果您想在站点上安装或配置插件:

安装插件

从市场安装、启用、配置设置。

对于插件作者

如果您想构建插件: