# 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-code`](https://yarnpkg.com/en/package/@convertkit/slate-code)                     | Adds code block editing behaviors to an editor                  | ![](https://img.shields.io/npm/dm/@convertkit/slate-code.svg?maxAge=3600\&label=⬇)     |
| [`slate-collapse-on-escape`](https://yarnpkg.com/en/package/slate-collapse-on-escape)     | Collapse the selection when users hit esc.                      | ![](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-lists`](https://yarnpkg.com/en/package/@convertkit/slate-lists)                   | Adds ordered and unordered list editing behaviors to an editor. | ![](https://img.shields.io/npm/dm/@convertkit/slate-lists.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 enter.                          | ![](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=⬇)  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.slatejs.org/v0.47/general/plugins.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
