Slate
ExamplesGitHubSlack
v0.47
v0.47
  • Introduction
  • Walkthroughs
    • Installing Slate
    • Adding Event Handlers
    • Defining Custom Block Nodes
    • Applying Custom Formatting
    • Using Plugins
    • Saving to a Database
    • Saving and Loading HTML Content
  • Guides
    • Commands & Queries
    • Data Model
    • Plugins
    • Rendering
    • Schemas
  • General
    • Plugins
    • Resources
    • Contributing
    • Changelog
    • FAQ
    • Glossary
  • Slate Core
    • Block
    • Commands
    • Data
    • Decoration
    • Document
    • Editor
    • Inline
    • Mark
    • Node
    • Operation
    • Plugins
    • Point
    • Range
    • Schema
    • Selection
    • Text
    • Utils
    • Value
  • Slate React
    • Editor
    • Plugins
    • Rendering
    • Utils
  • Other Packages
    • slate-html-serializer
    • slate-hyperscript
    • slate-plain-serializer
    • slate-prop-types
Powered by GitBook
On this page
  • Anchor
  • Block
  • Blur
  • Change
  • Character
  • Collapsed
  • Core
  • Data
  • Decoration
  • Document
  • Editor
  • Extend
  • Focus
  • Focus Point
  • Focus Block
  • Fragment
  • History
  • Inline
  • Key
  • Mark
  • Match
  • Merge
  • Model
  • Node
  • Normalize
  • Offset
  • Operation
  • Placeholder
  • Plugin
  • Point
  • Range
  • Redo
  • Rule
  • Schema
  • Selection
  • Serializer
  • Split
  • Stack
  • Text
  • Undo
  • Unwrap
  • Validate
  • Value
  • Wrap
  1. General

Glossary

PreviousFAQNextBlock

Last updated 5 years ago

A glossary explaining the terms commonly used in Slate:

Anchor

An "anchor point" is a point where a range starts.

Block

Blur

Change

Character

A "character" is the smallest element that makes up a text node in Slate.

Collapsed

A selection is "collapsed" when text is deselected. A collapse occurs when a range's start and end points are the same.

Core

Data

Decoration

Document

Editor

Extend

Focus

Focus is defined differently based on your context:

Focus Point

A "focus point" is where a range ends. Unlike a anchor point, a focus point can be expanded.

Focus Block

The editor value provides a reference to the current "focus block" as a convenience. For example, you access the words within the block a user is focused on like so: const words = editor.value.focusBlock.text.split(' ');

Fragment

History

Inline

Key

A "keys" is a unique identifier assigned to a node in Slate and is used to reference a node uniquely. As as the document changes, new unique keys are issued to avoid collisions within the data model.

Mark

A "mark" represents formatting data that is attached to characters within text. Standard formatting such as bold, italic, code, or custom formatting for your application can be implemented using marks.

Match

A match, is an object with possible fields of type and object that are used to match Nodes when defining rules in a Schema. An example of match could be {type: 'paragraph'}, {objet: 'inline', type: '@-tag'}, etc.

Merge

Model

Node

Normalize

Offset

Operation

Placeholder

Plugin

A "plugin" is a reusable object that implements one or more of Slate's plugin hooks to add specific behavior to your editor. A plugin helps you express your application while keeping it easy to maintain and reason about.

Point

A "point" represents a specific location in a document, where a user's cursor could be placed. It is represented by the key of the node in the document, and the offset of characters into a node.

Range

Redo

Rule

Schema

A Slate "schema" is a JavaScript object with properties that describe the document, block nodes, and inline nodes in your editor. Every Slate editor has a "schema" associated with it, which contains information about the structure of its content. For the most basic cases, you'll just rely on Slate's default core schema. But for advanced use cases, you can enforce rules about what the content of a Slate document can contain. Read Schema reference to learn more.

Selection

Serializer

Split

Stack

Text

Undo

Unwrap

Validate

Value

Wrap

To "wrap" is to surround a piece of text or a node in another node. For example, if you select the text Google and want to turn it into a link, you'd "wrap" it with an inline link node.

The "document" is the top-level that contains all other nodes that make up the content of the Slate editor.

An "offset" is a distance from the start of a text node, measured in .

A "range" is a way to represent a specific section of a document between two . It is modelled after the DOM Range concept.

To "unwrap" is the opposite of to , removing a surrounding node from a selection.

A Slate "value" is the top-level object in Slate and is an object encapsulating the entire value of a Slate editor. Read the to learn more.

"node"
"characters"
"points"
"wrap"
Data Model guide
Anchor Point
Deselection
Focus Point