返回 presentation-ai
basic-blocks-kit.tsx
根目录 / src / components / plate / plugins / basic-blocks-kit.tsx
1 "use client";
2
3 import {
4 BlockquotePlugin,
5 H1Plugin,
6 H2Plugin,
7 H3Plugin,
8 H4Plugin,
9 H5Plugin,
10 H6Plugin,
11 HorizontalRulePlugin,
12 } from "@platejs/basic-nodes/react";
13 import { ParagraphPlugin } from "platejs/react";
14
15 import { BlockquoteElement } from "@/components/plate/ui/blockquote-node";
16 import {
17 H1Element,
18 H2Element,
19 H3Element,
20 H4Element,
21 H5Element,
22 H6Element,
23 } from "@/components/plate/ui/heading-node";
24 import { HrElement } from "@/components/plate/ui/hr-node";
25 import { ParagraphElement } from "@/components/plate/ui/paragraph-node";
26
27 export const BasicBlocksKit = [
28 ParagraphPlugin.withComponent(ParagraphElement),
29 H1Plugin.configure({
30 node: {
31 component: H1Element,
32 },
33 rules: {
34 break: { empty: "reset" },
35 },
36 shortcuts: { toggle: { keys: "mod+alt+1" } },
37 }),
38 H2Plugin.configure({
39 node: {
40 component: H2Element,
41 },
42 rules: {
43 break: { empty: "reset" },
44 },
45 shortcuts: { toggle: { keys: "mod+alt+2" } },
46 }),
47 H3Plugin.configure({
48 node: {
49 component: H3Element,
50 },
51 rules: {
52 break: { empty: "reset" },
53 },
54 shortcuts: { toggle: { keys: "mod+alt+3" } },
55 }),
56 H4Plugin.configure({
57 node: {
58 component: H4Element,
59 },
60 rules: {
61 break: { empty: "reset" },
62 },
63 shortcuts: { toggle: { keys: "mod+alt+4" } },
64 }),
65 H5Plugin.configure({
66 node: {
67 component: H5Element,
68 },
69 rules: {
70 break: { empty: "reset" },
71 },
72 shortcuts: { toggle: { keys: "mod+alt+5" } },
73 }),
74 H6Plugin.configure({
75 node: {
76 component: H6Element,
77 },
78 rules: {
79 break: { empty: "reset" },
80 },
81 shortcuts: { toggle: { keys: "mod+alt+6" } },
82 }),
83 BlockquotePlugin.configure({
84 node: { component: BlockquoteElement },
85 shortcuts: { toggle: { keys: "mod+shift+period" } },
86 }),
87 HorizontalRulePlugin.withComponent(HrElement),
88 ];
89
89 lines Plain Text