PlatePlugin

Plate 插件的 API 参考。

Plate 插件是传递给 Plate plugins 属性的对象。

泛型类型

PlatePlugin 接口使用一个泛型类型:

Attributes

Collapse all

    表示插件配置。此类型扩展了 PluginConfig,包括 key, options, api, 和 transforms

示例:

type MyPluginConfig = PluginConfig<
  'myPlugin',
  { customOption: boolean },
  { getData: () => string },
  { customTransform: () => void }
>;
 
const MyPlugin = createPlatePlugin<MyPluginConfig>({
  key: 'myPlugin',
  // plugin implementation
});

Plugin Properties

Attributes

Collapse all

    Plate 用于存储插件的唯一标识符,通过 editor.plugins 键。

    插件提供的 API 函数对象。这些函数通过 editor.api[key] 访问。

    插件提供的变换函数,用于修改编辑器状态。这些函数通过 editor.tf[key] 访问。

    插件作为选项使用的扩展属性。

    各种编辑器事件的事件处理程序,包括 onChange

    定义插件如何将功能注入其他插件或编辑器。

    定义插件的节点特定配置。

    允许通过键覆盖组件和插件。

    定义插件如何解析内容。

    定义各种格式的序列化器和反序列化器。

    定义编辑器各个部分的渲染函数。

    定义插件的键盘快捷键。

    用于管理插件选项的存储。

    此插件依赖的插件键数组。

    启用或禁用插件。由 Plate 用来确定是否应该使用该插件。

    递归插件支持,允许在单个插件中包含多个插件。

    定义插件注册和执行的顺序。

    • 默认值: 100

    Plate 用来装饰编辑器范围的属性。

    Hook called when the editor is initialized.

Plugin Methods

Attributes

Collapse all

    创建一个具有更新选项的新插件实例。

    (config: PlatePluginConfig<C['key'], InferOptions<C>, InferApi<C>, InferTransforms<C>> | ((ctx: PlatePluginContext<C>) => PlatePluginConfig<C['key'], InferOptions<C>, InferApi<C>, InferTransforms<C>>)) => PlatePlugin<C>

    创建一个具有附加配置的新插件实例。可以接受一个对象或一个函数。

    (extendConfig: Partial<PlatePlugin> | ((ctx: PlatePluginContext<AnyPluginConfig>) => Partial<PlatePlugin>)) => PlatePlugin

    扩展一个现有的嵌套插件或添加一个新的插件,如果未找到。支持深度嵌套。

    (key: string, extendConfig: Partial<PlatePlugin> | ((ctx: PlatePluginContext<AnyPluginConfig>) => Partial<PlatePlugin>)) => PlatePlugin

    设置或替换与插件关联的组件。

    (component: NodeComponent) => PlatePlugin<C>

    扩展插件的 API。

    (api: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>

    使用插件特定的方法扩展编辑器的 API。

    (api: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>

    使用插件特定的方法扩展插件的变换。

    (transforms: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>

    使用插件特定的方法扩展编辑器的变换。

    (transforms: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>

    使用选择器扩展插件选项。

    (options: (ctx: PlatePluginContext<AnyPluginConfig>) => any) => PlatePlugin<C>

Plugin Context

大多数插件函数将 PlatePluginContext 对象作为其第一个参数。这个对象包括:

Attributes

Collapse all

    当前编辑器实例。

    当前插件实例。

    获取特定选项值的函数。

    获取插件所有选项的函数。

    设置特定选项值的函数。

    设置多个选项的函数。

    订阅特定选项值的 React 组件的钩子。

有关 Plate 插件的更多详细信息,请参阅各个指南:Plugin Configuration, Plugin Methods, Plugin Context, Plugin Components, 以及 Plugin Shortcuts.