Serializing Docx

Copy paste from DOCX to Slate.

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

import React from 'react';

import { Plate } from '@udecode/plate-common/react';

import { editorPlugins } from '@/components/editor/plugins/editor-plugins';
import { useCreateEditor } from '@/components/editor/use-create-editor';
import { Editor, EditorContainer } from '@/components/plate-ui/editor';

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

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

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

功能

  • 将 DOCX 内容转换为 Slate 值。

安装

npm install @udecode/plate-docx @udecode/plate-juice

Usage

DOCX -> Slate

import { JuicePlugin } from '@udecode/plate-juice';
import { DocxPlugin } from '@udecode/plate-docx';
 
const plugins = [
  // ...otherPlugins,
  DocxPlugin,
  JuicePlugin,
];

对于粘贴的 HTML,@udecode/plate-juice 用于将 CSS 属性内联到 style 属性中。

插件

DocxPlugin