# Plugins

Here's a list of Slate plugins, organized by category, so that they're easier to find than searching NPM or Yarn.

### Behavior

Plugins that add specific behaviors to your editor.

| **Plugin**                                                                                | **Description**                                                 | **Downloads**                                                                         |
| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| [`slate-auto-replace`](https://yarnpkg.com/en/package/slate-auto-replace)                 | Automatically transform certain input as a user types.          | ![](https://img.shields.io/npm/dm/slate-auto-replace.svg?maxAge=3600&label=⬇)         |
| [`slate-collapse-on-escape`](https://yarnpkg.com/en/package/slate-collapse-on-escape)     | Collapse the selection when users hit <kbd>esc</kbd>.           | ![](https://img.shields.io/npm/dm/slate-collapse-on-escape.svg?maxAge=3600&label=⬇)   |
| [`slate-drop-or-paste-images`](https://yarnpkg.com/en/package/slate-drop-or-paste-images) | Allows users to insert images by drag-dropping or copy-pasting. | ![](https://img.shields.io/npm/dm/slate-drop-or-paste-images.svg?maxAge=3600&label=⬇) |
| [`slate-edit-blockquote`](https://yarnpkg.com/en/package/slate-edit-blockquote)           | Adds blockquote editing behaviors to an editor.                 | ![](https://img.shields.io/npm/dm/slate-edit-blockquote.svg?maxAge=3600&label=⬇)      |
| [`slate-edit-code`](https://yarnpkg.com/en/package/slate-edit-code)                       | Adds code block editing behaviors to an editor.                 | ![](https://img.shields.io/npm/dm/slate-edit-code.svg?maxAge=3600&label=⬇)            |
| [`slate-edit-footnote`](https://yarnpkg.com/en/package/slate-edit-footnote)               | Adds footnote editing behaviors to an editor.                   | ![](https://img.shields.io/npm/dm/slate-edit-footnote.svg?maxAge=3600&label=⬇)        |
| [`slate-edit-list`](https://yarnpkg.com/en/package/slate-edit-list)                       | Adds list editing behaviors to an editor.                       | ![](https://img.shields.io/npm/dm/slate-edit-list.svg?maxAge=3600&label=⬇)            |
| [`slate-edit-table`](https://yarnpkg.com/en/package/slate-edit-table)                     | Adds common table editing behaviors to an editor.               | ![](https://img.shields.io/npm/dm/slate-edit-table.svg?maxAge=3600&label=⬇)           |
| [`slate-mark-hotkeys`](https://yarnpkg.com/en/package/slate-mark-hotkeys)                 | Adds common hotkey formatting utils to an editor.               | ![](https://img.shields.io/npm/dm/slate-mark-hotkeys.svg?maxAge=3600&label=⬇)         |
| [`slate-no-empty`](https://yarnpkg.com/en/package/slate-no-empty)                         | Prevents documents from being empty.                            | ![](https://img.shields.io/npm/dm/slate-no-empty.svg?maxAge=3600&label=⬇)             |
| [`slate-paste-linkify`](https://yarnpkg.com/en/package/slate-paste-linkify)               | Automatically linkify URLs when they are pasted.                | ![](https://img.shields.io/npm/dm/slate-paste-linkify.svg?maxAge=3600&label=⬇)        |
| [`slate-soft-break`](https://yarnpkg.com/en/package/slate-soft-break)                     | Adds soft breaks when users hit <kbd>enter</kbd>.               | ![](https://img.shields.io/npm/dm/slate-soft-break.svg?maxAge=3600&label=⬇)           |
| [`slate-sticky-inlines`](https://yarnpkg.com/en/package/slate-sticky-inlines)             | Changes the inline node behavior to allow editing at the edges. | ![](https://img.shields.io/npm/dm/slate-sticky-inlines.svg?maxAge=3600&label=⬇)       |
| [`slate-suggestions`](https://yarnpkg.com/en/package/slate-suggestions)                   | Displays inline auto-completed suggestions.                     | ![](https://img.shields.io/npm/dm/slate-suggestions.svg?maxAge=3600&label=⬇)          |
| [`slate-trailing-block`](https://yarnpkg.com/en/package/slate-trailing-block)             | Ensure that documents end in a specific kind of block.          | ![](https://img.shields.io/npm/dm/slate-trailing-block.svg?maxAge=3600&label=⬇)       |
| [`slate-instant-replace`](https://www.npmjs.com/package/slate-instant-replace)            | Automatically transform last word typed.                        | ![](https://img.shields.io/npm/dm/slate-instant-replace.svg?maxAge=3600&label=⬇)      |

Find more plugins on [npm](https://www.npmjs.com/search?q=slate%20plugin&page=0&perPage=20) or [yarn](https://yarnpkg.com/en/packages?q=slate%20plugin&p=1).

### Components

Components for building Slate editors.

| **Plugin**                                                                | **Description**                            | **Downloads**                                                                 |
| ------------------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------- |
| [`slate-editor-icons`](https://yarnpkg.com/en/package/slate-editor-icons) | A set of icons for using in toolbars, etc. | ![](https://img.shields.io/npm/dm/slate-editor-icons.svg?maxAge=3600&label=⬇) |

### Serializers

Serializers for handling Slate data.

| **Plugin**                                                                          | **Description**                                 | **Downloads**                                                                      |
| ----------------------------------------------------------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------- |
| [`slate-base64-serializer`](https://yarnpkg.com/en/package/slate-base64-serializer) | A base64 string serializer for Slate documents. | ![](https://img.shields.io/npm/dm/slate-base64-serializer.svg?maxAge=3600&label=⬇) |
| [`slate-html-serializer`](https://yarnpkg.com/en/package/slate-html-serializer)     | An HTML serializer for Slate documents.         | ![](https://img.shields.io/npm/dm/slate-html-serializer.svg?maxAge=3600&label=⬇)   |
| [`slate-plain-serializer`](https://yarnpkg.com/en/package/slate-plain-serializer)   | A plain text serializer for Slate documents.    | ![](https://img.shields.io/npm/dm/slate-plain-serializer.svg?maxAge=3600&label=⬇)  |

### Utils

Useful utilities when working with Slate documents and components.

| **Plugin**                                                              | **Description**                                             | **Downloads**                                                                |
| ----------------------------------------------------------------------- | ----------------------------------------------------------- | ---------------------------------------------------------------------------- |
| [`slate-hyperprint`](https://yarnpkg.com/en/package/slate-hyperprint)   | Prints Slate documents in their `slate-hyperscript` format. | ![](https://img.shields.io/npm/dm/slate-hyperprint.svg?maxAge=3600&label=⬇)  |
| [`slate-hyperscript`](https://yarnpkg.com/en/package/slate-hyperscript) | Allows you to express Slate documents in JSX.               | ![](https://img.shields.io/npm/dm/slate-hyperscript.svg?maxAge=3600&label=⬇) |
| [`slate-prop-types`](https://yarnpkg.com/en/package/slate-prop-types)   | A set of prop types to use in your Slate components.        | ![](https://img.shields.io/npm/dm/slate-prop-types.svg?maxAge=3600&label=⬇)  |