This is the content that is incompatible only.
🧙🏼 Upgrade from 5.x to 6.x
🐈 UMD
To keep pace with the evolution of the frontend ecosystem, some third-party dependencies have fully transitioned to ESM format starting from version 6.x. we will no longer provide UMD format support.
Here is the updated reference for global usage: 🤓 CDN
🔖 Props
🧷 insertLinkDirect
Removed, now the input box no longer pops up when clicking on the add link
🎱 mdHeadingId
Type changed
Now
            
            
              ts
              
              
              
            
          
          type MdHeadingId = (options: {
  text: string;
  level: number;
  index: number;
  currentToken?: Token;
  nextToken?: Token;
}) => string;Past
            
            
              ts
              
              
              
            
          
          type MdHeadingId = (text: string, level: number, index: number) => string;💴 Config
New:
            
            
              ts
              
              
              
            
          
          import { config, type CodeMirrorExtension, type Themes } from 'md-editor-rt';
import { type KeyBinding } from '@codemirror/view';
config({
  codeMirrorExtensions(
    extensions: Array<CodeMirrorExtension>,
    options: {
      editorId: string;
      theme: Themes;
      keyBindings: Array<KeyBinding>;
    }
  ): Array<CodeMirrorExtension> {
    return extensions;
  }
});
            
            
              ts
              
              
              
            
          
          interface CodeMirrorExtension {
  /**
   * Only used to provide developers with a basis for distinguishing between different extensions.
   */
  type: string;
  /**
   * Extensions of CodeMirror
   */
  extension: Extension | ((options: any) => Extension);
  /**
   * A Compartment wrapping the extension, which only exists for certain extensions,
   * provides the capability to update the extension.
   */
  compartment?: Compartment;
  options?: any;
}Now you can accurately know which extension this is from extensions[i].type.
Past:
            
            
              ts
              
              
              
            
          
          import { config, type CodeMirrorExtension, type Themes } from 'md-editor-rt';
import { type KeyBinding } from '@codemirror/view';
config({
  codeMirrorExtensions(
    theme: Themes,
    extensions: Array<Extension>,
    keyBindings: Array<KeyBinding>,
    options: {
      editorId: string;
    }
  ): Array<Extension> {
    return extensions;
  }
});🧙🏼 Upgrade from 4.x to 5.x
Version 18.0.0 or higher of react must be used now!!!
🔖 Props
| name | description | 
|---|---|
| editorId | Marked as deprecated, but still usable; it is recommended to use id instead. Note: Only the MdEditorandMdPreviewcomponents have been adjusted; other components still useeditorIdto identify that this is the editor's ID, not their own. | 
| inputBoxWitdh | Spelling error, corrected to: inputBoxWidth. | 
| noIconfont | Removed, and now use the open-source icon library lucide as a replacement. | 
| customIcon | Still supports custom icons, but some icon keywords have been updated. Please check CustomIcon. | 
Events
| name | description | 
|---|---|
| onInputBoxWitdhChange | Spelling error, corrected to: onInputBoxWidthChange | 
🪤 Internal Components
- Remove the default XSS extension. Now export the extension XSSPlugin. Please add it yourself. Example.
- Remove the configuration related to iconfont. Specifically, this includes: iconfontType、editorExtensions.iconfont、editorExtensions.iconfontClass、editorExtensionsAttrs.iconfont、editorExtensionsAttrs.iconfontClass.
🧙🏼 Upgrade from 3.x to 4.x
🏄🏼 Usage
Starting from version 4.0, supports on-demand importing components and no longer exporting default editor.
🏄🏼♂️ CDN
            
            
              diff
              
              
              
            
          
          - <script src="https://unpkg.com/md-editor-rt@latest/lib/md-editor-rt.umd.js"></script>
+ <script src="https://unpkg.com/md-editor-rt@latest/lib/umd/index.js"></script>
<script>
  ReactDOM.createRoot(document.getElementById('root')).render(
-   React.createElement(MdEditorRT, {
+    React.createElement(MdEditorRT.MdEditor, {
      modelValue: 'Hello Editor!!'
    })
  );
</script>🏄🏼♀️ ES Module
            
            
              diff
              
              
              
            
          
          - import MdEditor from 'md-editor-rt';
- const NormalToolbar = MdEditor.NormalToolbar;
- const DropdownToolbar = MdEditor.DropdownToolbar;
- const ModalToolbar = MdEditor.ModalToolbar;
- const MdCatalog = MdEditor.MdCatalog;
+ import { MdEditor, NormalToolbar, DropdownToolbar, ModalToolbar, MdCatalog } from 'md-editor-rt';
import 'md-editor-rt/lib/style.css';🔖 Props
| name | description | 
|---|---|
| previewOnly | deleted, replace with MdPreview | 
🪤 Internal Components
New component MdPreview and replacing the attribute previewOnly.
            
            
              diff
              
              
              
            
          
          import React, { useState } from 'react';
- import MdEditor from 'md-editor-rt';
+ import { MdPreview } from 'md-editor-rt';
- import 'md-editor-rt/lib/style.css';
+ import 'md-editor-rt/lib/preview.css';
export default () => {
  const [text] = useState('hello md-editor-rt!');
- return <MdEditor modelValue={text} previewOnly />;
+ return <MdPreview modelValue={text} />;
};🧙🏻♂️ Upgrade from 2.x to 3.x
This is the content that 3.x is incompatible with version 2.x only.
🤹🏼♂️ Grammar
- 
Strikethrough diff- ~It is a dream deeply rooted in the American dream.~ + ~~It is a dream deeply rooted in the American dream.~~
🔩 Props
| name | description | 
|---|---|
| markedHeadingId | rename to mdHeadingId | 
| historyLength | deleted | 
🤿 Config
            
            
              diff
              
              
              
            
          
          MdEditor.config({
-  markedRenderer: (renderer) => renderer,
-  markedExtensions: [],
-  markedOptions,
+  codeMirrorExtensions: (theme, extensions) => extensions,
+  markdownItConfig: (mdit) { }
})🎤 Shortcut Key
| key | function | description | 
|---|---|---|
| CTRL + Q | quote | deleted | 
🪤 Component
🐻 MdCatalog
- props
- markedHeadingId: deleted, use mdHeadingIdinstead of it
 
- markedHeadingId: deleted, use 
Upgrade from 1.x to 2.x
This is the content that 2.x is incompatible with version 1.x only.
Props
| name | description | 
|---|---|
| editorClass | rename to className | 
| hljs | removed, use MdEditor.configto config | 
| highlightJs | the same | 
| highlightCss | the same | 
| languageUserDefined | the same | 
| prettier | rename to noPrettier, defaultfalse | 
| prettierCDN | removed, use MdEditor.configto config | 
| prettierMDCDN | the same | 
| cropperCss | the same | 
| cropperJs | the same | 
| iconfontJs | the same | 
| screenfull | the same | 
| screenfullJs | the same | 
| mermaid | the same | 
| mermaidJs | the same | 
| katex | the same | 
| katexJs | the same | 
| katexCss | the same | 
| extensions | the same | 
Component
- 
Catalog Editor.Catalogis renamed toEditor.MdCatalog.For more usage, refer to branch docs.