斜体

Loading...
Files
components/demo.tsx
'use client';

import * as React from 'react';

import { Plate, usePlateEditor } from 'platejs/react';

import { EditorKit } from '@/components/editor/editor-kit';
import { Editor, EditorContainer } from '@/components/ui/editor';

import { DEMO_VALUES } from './values/demo-values';

export default function Demo({ id }: { id: string }) {
  const editor = usePlateEditor({
    plugins: EditorKit,
    value: DEMO_VALUES[id],
  });

  return (
    <Plate editor={editor}>
      <EditorContainer variant="demo">
        <Editor />
      </EditorContainer>
    </Plate>
  );
}

功能特性

  • 应用斜体格式以实现强调或风格化目的
  • 支持快捷键快速格式化(Cmd + I
  • 默认渲染为 <em> HTML 元素

套件使用方式

安装

添加斜体插件最快的方式是使用 BasicMarksKit,它包含预配置的 ItalicPlugin 以及其他基础标记及其 Plate UI 组件。

'use client';
 
import {
  BoldPlugin,
  CodePlugin,
  HighlightPlugin,
  ItalicPlugin,
  KbdPlugin,
  StrikethroughPlugin,
  SubscriptPlugin,
  SuperscriptPlugin,
  UnderlinePlugin,
} from '@platejs/basic-nodes/react';
 
import { CodeLeaf } from '@/components/ui/code-node';
import { HighlightLeaf } from '@/components/ui/highlight-node';
import { KbdLeaf } from '@/components/ui/kbd-node';
 
export const BasicMarksKit = [
  BoldPlugin,
  ItalicPlugin,
  UnderlinePlugin,
  CodePlugin.configure({
    node: { component: CodeLeaf },
    shortcuts: { toggle: { keys: 'mod+e' } },
  }),
  StrikethroughPlugin.configure({
    shortcuts: { toggle: { keys: 'mod+shift+x' } },
  }),
  SubscriptPlugin.configure({
    shortcuts: { toggle: { keys: 'mod+comma' } },
  }),
  SuperscriptPlugin.configure({
    shortcuts: { toggle: { keys: 'mod+period' } },
  }),
  HighlightPlugin.configure({
    node: { component: HighlightLeaf },
    shortcuts: { toggle: { keys: 'mod+shift+h' } },
  }),
  KbdPlugin.withComponent(KbdLeaf),
];

添加套件

将套件添加到你的插件中:

import { createPlateEditor } from 'platejs/react';
import { BasicMarksKit } from '@/components/editor/plugins/basic-marks-kit';
 
const editor = createPlateEditor({
  plugins: [
    // ...其他插件,
    ...BasicMarksKit,
  ],
});

手动使用方式

安装

pnpm add @platejs/basic-nodes

添加插件

在创建编辑器时,将 ItalicPlugin 包含到你的 Plate 插件数组中。

import { ItalicPlugin } from '@platejs/basic-nodes/react';
import { createPlateEditor } from 'platejs/react';
 
const editor = createPlateEditor({
  plugins: [
    // ...其他插件,
    ItalicPlugin,
  ],
});

配置插件

你可以为 ItalicPlugin 配置自定义快捷键。

import { ItalicPlugin } from '@platejs/basic-nodes/react';
import { createPlateEditor } from 'platejs/react';
 
const editor = createPlateEditor({
  plugins: [
    // ...其他插件,
    ItalicPlugin.configure({
      shortcuts: { toggle: 'mod+i' },
    }),
  ],
});
  • shortcuts.toggle: 定义用于切换斜体格式的键盘快捷键

添加工具栏按钮

你可以将 MarkToolbarButton 添加到你的工具栏中来切换斜体格式。

插件

ItalicPlugin

用于斜体文本格式化的插件。默认渲染为 <em> HTML 元素。

转换方法

tf.italic.toggle

切换所选文本的斜体格式。

默认快捷键: Cmd + I