๐Ÿ“ Sign Up | ๐Ÿ” Log In

โ† Root | โ†‘ Up

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“„ shadcn/directory/udecode/plate/(plugins)/(elements)/heading.cn โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘

title: ๆ ‡้ข˜ docs:

  • route: /docs/components/heading-node title: ๆ ‡้ข˜ๅ…ƒ็ด 

<ComponentPreview name="basic-blocks-demo" /> <PackageInfo>

ๅŠŸ่ƒฝ็‰น็‚น

  • ๅˆ›ๅปบไธๅŒ็บงๅˆซ็š„ๆ ‡้ข˜๏ผˆH1 ๅˆฐ H6๏ผ‰ๆฅๆž„ๅปบๅ†…ๅฎน็ป“ๆž„ใ€‚
  • ้ป˜่ฎคๆธฒๆŸ“ไธบ็›ธๅบ”็š„ HTML ๆ ‡้ข˜ๆ ‡็ญพ๏ผˆ<h1> ๅˆฐ <h6>๏ผ‰ใ€‚
</PackageInfo>

Kit ไฝฟ็”จ

<Steps>

ๅฎ‰่ฃ…

ๆทปๅŠ ๆ ‡้ข˜ๆ’ไปถๆœ€ๅฟซ็š„ๆ–นๆณ•ๆ˜ฏไฝฟ็”จ BasicBlocksKit๏ผŒๅฎƒๅŒ…ๅซ้ข„้…็ฝฎ็š„ H1Pluginใ€H2Plugin ๅ’Œ H3Plugin ไปฅๅŠๅ…ถไป–ๅŸบๆœฌๅ—ๅ…ƒ็ด ๅŠๅ…ถ Plate UI ็ป„ไปถใ€‚

<ComponentSource name="basic-blocks-kit" />
  • H1Element: ๆธฒๆŸ“ H1 ๅ…ƒ็ด ใ€‚
  • H2Element: ๆธฒๆŸ“ H2 ๅ…ƒ็ด ใ€‚
  • H3Element: ๆธฒๆŸ“ H3 ๅ…ƒ็ด ใ€‚

ๆทปๅŠ  Kit

ๅฐ† kit ๆทปๅŠ ๅˆฐไฝ ็š„ๆ’ไปถไธญ๏ผš

import { createPlateEditor } from 'platejs/react';
import { BasicBlocksKit } from '@/components/editor/plugins/basic-blocks-kit';

const editor = createPlateEditor({
  plugins: [
    // ...ๅ…ถไป–ๆ’ไปถ,
    ...BasicBlocksKit,
  ],
});
</Steps>

ๆ‰‹ๅŠจไฝฟ็”จ

<Steps>

ๅฎ‰่ฃ…

npm install @platejs/basic-nodes

ๆทปๅŠ ๆ’ไปถ

ๅฝ“ไฝ ้œ€่ฆๆ›ดๅคšๆŽงๅˆถๆˆ–ๆƒณ่ฆๅŒ…ๅซ็‰นๅฎšๆ ‡้ข˜็บงๅˆซๆ—ถ๏ผŒๆทปๅŠ ๅ•็‹ฌ็š„ๆ ‡้ข˜ๆ’ไปถใ€‚

import { createPlateEditor } from 'platejs/react';
import { H1Plugin, H2Plugin, H3Plugin } from '@platejs/basic-nodes/react';

const editor = createPlateEditor({
  plugins: [
    // ...ๅ…ถไป–ๆ’ไปถ,
    H1Plugin,
    H2Plugin,
    H3Plugin,
    // ๆ นๆฎ้œ€่ฆๆทปๅŠ  H4Pluginใ€H5Pluginใ€H6Plugin
  ],
});

้…็ฝฎๆ’ไปถ

ไฝฟ็”จ่‡ชๅฎšไน‰็ป„ไปถๆˆ–ๅฟซๆท้”ฎ้…็ฝฎๅ•็‹ฌ็š„ๆ ‡้ข˜ๆ’ไปถใ€‚

import { createPlateEditor } from 'platejs/react';
import { H1Plugin, H2Plugin, H3Plugin } from '@platejs/basic-nodes/react';
import { H1Element, H2Element, H3Element } from '@/components/ui/heading-node';

const editor = createPlateEditor({
  plugins: [
    // ...ๅ…ถไป–ๆ’ไปถ,
    H1Plugin.configure({
      node: { component: H1Element },
      shortcuts: { toggle: { keys: 'mod+alt+1' } },
    }),
    H2Plugin.configure({
      node: { component: H2Element },
      shortcuts: { toggle: { keys: 'mod+alt+2' } },
    }),
    H3Plugin.configure({
      node: { component: H3Element },
      shortcuts: { toggle: { keys: 'mod+alt+3' } },
    }),
    // ็ฑปไผผๅœฐ้…็ฝฎ H4Pluginใ€H5Pluginใ€H6Plugin
  ],
});
  • node.component: ๅˆ†้…่‡ชๅฎšไน‰ React ็ป„ไปถๅฆ‚ H1Element ๆฅๆธฒๆŸ“็‰นๅฎš็บงๅˆซ็š„ๆ ‡้ข˜ใ€‚
  • shortcuts.toggle: ๅฎšไน‰้”ฎ็›˜ๅฟซๆท้”ฎ๏ผˆไพ‹ๅฆ‚ mod+alt+1๏ผ‰ๆฅๅˆ‡ๆข็›ธๅบ”็š„ๆ ‡้ข˜็บงๅˆซใ€‚

่ฝฌๆขไธบๅทฅๅ…ทๆ ๆŒ‰้’ฎ

ไฝ ๅฏไปฅๅฐ†่ฟ™ไบ›้กน็›ฎๆทปๅŠ ๅˆฐ่ฝฌๆขไธบๅทฅๅ…ทๆ ๆŒ‰้’ฎไปฅๅฐ†ๅ—่ฝฌๆขไธบๆ ‡้ข˜๏ผš

{
  icon: <Heading1Icon />,
  label: 'ๆ ‡้ข˜ 1',
  value: 'h1',
}
{
  icon: <Heading2Icon />,
  label: 'ๆ ‡้ข˜ 2',
  value: 'h2',
}
{
  icon: <Heading3Icon />,
  label: 'ๆ ‡้ข˜ 3',
  value: 'h3',
}

ๆ’ๅ…ฅๅทฅๅ…ทๆ ๆŒ‰้’ฎ

ไฝ ๅฏไปฅๅฐ†่ฟ™ไบ›้กน็›ฎๆทปๅŠ ๅˆฐๆ’ๅ…ฅๅทฅๅ…ทๆ ๆŒ‰้’ฎไปฅๆ’ๅ…ฅๆ ‡้ข˜ๅ…ƒ็ด ๏ผš

{
  icon: <Heading1Icon />,
  label: 'ๆ ‡้ข˜ 1',
  value: 'h1',
}
{
  icon: <Heading2Icon />,
  label: 'ๆ ‡้ข˜ 2',
  value: 'h2',
}
{
  icon: <Heading3Icon />,
  label: 'ๆ ‡้ข˜ 3',
  value: 'h3',
}
</Steps>

ๆ’ไปถ

H1Plugin

็”จไบŽ H1 ๆ ‡้ข˜ๅ…ƒ็ด ็š„ๆ’ไปถใ€‚

H2Plugin

็”จไบŽ H2 ๆ ‡้ข˜ๅ…ƒ็ด ็š„ๆ’ไปถใ€‚

H3Plugin

็”จไบŽ H3 ๆ ‡้ข˜ๅ…ƒ็ด ็š„ๆ’ไปถใ€‚

H4Plugin

็”จไบŽ H4 ๆ ‡้ข˜ๅ…ƒ็ด ็š„ๆ’ไปถใ€‚

H5Plugin

็”จไบŽ H5 ๆ ‡้ข˜ๅ…ƒ็ด ็š„ๆ’ไปถใ€‚

H6Plugin

็”จไบŽ H6 ๆ ‡้ข˜ๅ…ƒ็ด ็š„ๆ’ไปถใ€‚

่ฝฌๆข

tf.h1.toggle

ๅˆ‡ๆขๆ‰€้€‰ๅ—็ฑปๅž‹ไธบๆ ‡้ข˜ใ€‚

โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

โ† Root | โ†‘ Up