Loading...
功能特性
- 插入水平线来分隔内容或表示主题转换
- 在新行开头输入三个破折号 (
---
) 可自动转换为水平分隔线 - 默认渲染为
<hr>
HTML 元素
套件使用
安装
添加水平分隔线插件最快的方式是使用 BasicBlocksKit
,该套件包含预配置的 HorizontalRulePlugin
以及其他基础块元素及其 Plate UI 组件。
HrElement
: 渲染水平分隔线元素
添加套件
将套件添加到你的插件中:
import { createPlateEditor } from 'platejs/react';
import { BasicBlocksKit } from '@/components/editor/plugins/basic-blocks-kit';
const editor = createPlateEditor({
plugins: [
// ...其他插件
...BasicBlocksKit,
],
});
手动使用
安装
pnpm add @platejs/basic-nodes
添加插件
在创建编辑器时,将 HorizontalRulePlugin
包含到 Plate 插件数组中。
import { HorizontalRulePlugin } from '@platejs/basic-nodes/react';
import { createPlateEditor } from 'platejs/react';
const editor = createPlateEditor({
plugins: [
// ...其他插件
HorizontalRulePlugin,
],
});
配置插件
你可以配置 HorizontalRulePlugin
的自动格式化规则,将输入的特定模式(如 ---
)自动转换为水平分隔线。
import { insertNodes, setNodes, KEYS } from 'platejs';
import { AutoformatPlugin } from '@platejs/autoformat';
import { HorizontalRulePlugin } from '@platejs/basic-nodes/react';
import { createPlateEditor } from 'platejs/react';
const editor = createPlateEditor({
plugins: [
// ...其他插件
HorizontalRulePlugin,
AutoformatPlugin.configure({
options: {
rules: [
{
mode: 'block',
type: KEYS.hr,
match: ['---', '—-', '___ '],
format: (editor) => {
setNodes(editor, { type: KEYS.hr });
insertNodes(editor, {
type: KEYS.p,
children: [{ text: '' }],
});
},
},
],
},
}),
],
});
AutoformatPlugin
: 自动将输入的特定模式(如---
)转换为水平分隔线
插入工具栏按钮
你可以将此项目添加到 插入工具栏按钮 中来插入水平分隔线:
{
icon: <MinusIcon />,
label: '分隔线',
value: KEYS.hr,
}
插件
HorizontalRulePlugin
用于插入水平分隔线来分隔内容的插件。水平分隔线是 void 元素,默认渲染为 <hr>
标签。