Loading...
Loading...
SunEditor 附带 24 个内置插件,涵盖媒体、格式和高级功能。
每个插件都属于一个 显示类型,该类型决定了它在工具栏中的显示方式。
display 属性定义了插件如何与用户交互。
image可配置的上传、调整大小和对齐图片
video可配置的插入和管理视频内容
audio可配置的使用播放器插入音频文件
link创建和编辑超链接
embed可配置的嵌入外部内容(YouTube、iframe)
drawing可配置的基于画布的绘图工具
math可配置的数学公式编辑器 (KaTeX)
标记为 configurable 的插件具有可在 Playground 中进行调整的选项。
调整图片上传限制、字体大小单位、表格滚动类型、提及触发器等。更改会立即在实时编辑器中生效。
构建自定义插件的技术参考——从简单的命令按钮到完整的基于对话框的功能。
在 options.plugins 文件中注册插件类。核心程序会实例化它们。
所有编辑器服务都通过 this.$ 访问——切勿直接导入核心模块。
实现多个合约(ModuleModal、EditorComponent)以接入生命周期。
import { PluginCommand } from 'suneditor/src/interfaces';
class HelloWorld extends PluginCommand {
static key = 'helloWorld';
/**
* @constructor
* @param {SunEditor.Kernel} kernel - The Kernel instance
*/
constructor(kernel) {
super(kernel);
this.title = 'Hello World';
this.icon = '<span style="font-size:14px">HW</span>';
}
/**
* @override
* @type {PluginCommand['action']}
*/
action() {
this.$.html.insert('<p>Hello, World!</p>');
this.$.history.push(false);
}
}
export default HelloWorld;根据插件与用户的交互方式选择一个基类。
PluginCommandcommand必需的: action()Button click executes action immediately
内置示例: blockquote, hr, strike
PluginDropdowndropdown必需的: action()Button opens menu, item click calls action()
内置示例: align, font, blockStyle
PluginDropdownFreedropdown-freeButton opens menu, plugin handles own events
内置示例: table, fontColor, codeBlock
PluginModalmodal必需的: open(), modalAction()Button opens modal dialog
内置示例: link, image, video
PluginBrowserbrowser必需的: open(), close()Button opens gallery/browser interface
内置示例: imageGallery
PluginFieldfieldResponds to editor input events
内置示例: autocomplete
PluginInputinputToolbar input element (not a button)
内置示例: pageNavigator
PluginPopuppopup必需的: show(), controllerAction()Inline popup context menu
内置示例: anchor
插件还可以实现其他插件类型的接口,以提供多种交互模式。
fontSizeextends PluginInput+ PluginCommand+ PluginDropdownInput field + dropdown list + command (inc/dec) all controlling font size.
list_bulleted / list_numberedextends PluginCommand+ PluginDropdownCommand button for toggling list + dropdown for selecting list style.