<commit_before>## Introduction

This migration guide includes all information regarding changes users must be aware of whern updating from TOAST UI Editor 2.x to TOAST UI Editor 3.0. 

TOAST UI Editor (hereafter referred to as the 'Editor') has removed the original [CodeMirror](https://codemirror.net/), squire, and to-mark dependencies and has modified the editor to use abstract models through Prosemirror. Since the core module API and plugin usages were changed, it is advised that users consult the migration guide carefully. The table of contents is as follows and refer to the 'Changes' in the order enumerated when updating. 

## Table of Contents

- [Changes](#changes)
  1. [Installation and Usages](#1-installation-and-usages)
  2. [Customizing the Toolbar](#2-customizing-the-toolbar)
  3. [Defining Plugins](#3-defining-plugins)
  4. [APIs and Events](#4-APIs-and-events)
  5. [Supported Browsers](#5-supported-browsers)
- [Removed Features](#removed-features)
  1. [Removed jQuery Wrapper](#1-removed-jquery-wrapper)
  2. [Removed Dependencies](#2-removed-dependencies)
  3. [Removed APIs](#3-removed-apis)

## Changes

### 1. Installation and Usages

In order to use the Editor, use the [scoped package](https://docs.npmjs.com/using-npm/scope.html) to install the `@toast-ui/editor` package like you did for the previous v2.x. The following is an example of using the npm command to install the Editor. 

```sh
$ npm install @toast-ui/editor
$ npm install @toast-ui/editor@<version>
```

#### Usages

```js
const Editor = require('@toast-ui/editor'); /* CommonJS */
import Editor from '@toast-ui/editor'; /* ES6 Module */
```

Furthermore, v3.0 provides an `EditorCore` module as named export for those wanting to implement their own unique UI instead of using the default UI. This module will create the markdown editor, markdown preview, and WYSIWYG editor, and the user can use the `getEditorElements()` method to add the editor to desired UI. This module does not create external editor UIs like toolbars, toolbar popups, and switch tabs.

```js
import { EditorCore } from '@toast-ui/editor'; /* ES6 Module */

const editorCore = new EditorCore({
  el
  // ...
});

const { mdEditor, mdPreview, wwEditor } = editorCore.getEditorElements();

// ...
```
<commit_msg>docs: update v3.0-migration-guide.md (#1713)<commit_after>## Introduction

This migration guide includes all information regarding changes users must be aware of when updating from TOAST UI Editor 2.x to TOAST UI Editor 3.0. 

TOAST UI Editor (hereafter referred to as the 'Editor') has removed the original [CodeMirror](https://codemirror.net/), squire, and to-mark dependencies and has modified the editor to use abstract models through Prosemirror. Since the core module API and plugin usages were changed, it is advised that users consult the migration guide carefully. The table of contents is as follows and refers to the 'Changes' in the order enumerated when updating. 

## Table of Contents

- [Changes](#changes)
  1. [Installation and Usages](#1-installation-and-usages)
  2. [Customizing the Toolbar](#2-customizing-the-toolbar)
  3. [Defining Plugins](#3-defining-plugins)
  4. [APIs and Events](#4-APIs-and-events)
  5. [Supported Browsers](#5-supported-browsers)
- [Removed Features](#removed-features)
  1. [Removed jQuery Wrapper](#1-removed-jquery-wrapper)
  2. [Removed Dependencies](#2-removed-dependencies)
  3. [Removed APIs](#3-removed-apis)

## Changes

### 1. Installation and Usages

To use the Editor, use the [scoped package](https://docs.npmjs.com/using-npm/scope.html) to install the `@toast-ui/editor` package as you did for the previous v2.x. The following is an example of using the npm command to install the Editor. 

```sh
$ npm install @toast-ui/editor
$ npm install @toast-ui/editor@<version>
```

#### Usages

```js
const Editor = require('@toast-ui/editor'); /* CommonJS */
import Editor from '@toast-ui/editor'; /* ES6 Module */
```

Furthermore, v3.0 provides an `EditorCore` module as named export for those wanting to implement their own unique UI instead of using the default UI. This module will create the markdown editor, markdown preview, and WYSIWYG editor, and the user can use the `getEditorElements()` method to add the editor to desired UI. This module does not create external editor UIs like toolbars, toolbar popups, and switch tabs.

```js
import { EditorCore } from '@toast-ui/editor'; /* ES6 Module */

const editorCore = new EditorCore({
  el
  // ...
});

const { mdEditor, mdPreview, wwEditor } = editorCore.getEditorElements();

// ...
```

{'fraction_non_alphanumeric': 0.11072362685265912, 'fraction_numerical': 0.012205754141238012, 'mean_word_length': 4.360981308411215, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4864568', 'n_tokens_mistral': 1395, 'n_tokens_neox': 1317, 'n_words': 543}