Modules
ProseMirror document model for Elixir.
Functional core for a collaborative editing authority server.
GenServer wrapper around ProsemirrorEx.Authority.
Core document model types and operations.
Instances of this struct represent a match state of a node type's content expression, and can be used to find out whether further content matches here, and whether a given position is a valid end of the node.
Finds the first and last differing positions between two fragments.
A fragment represents a node's collection of child nodes.
A mark is a piece of information that can be attached to a node, such as it being emphasized, in code font, or a link. It has a type and optionally a set of attributes that provide further information (such as the target of the link). Marks are created through a Schema, which controls which types exist and which attributes they have.
A mark type is a specification for a type of mark in a schema.
Represents a ProseMirror document node. It holds a type, optional attributes, a content Fragment, marks, and (for text nodes) text.
Represents a flat range of content, i.e. one that starts and ends in the same node.
A node type is a specification for a type of node in a schema.
Error raised when a position is outside valid range.
The replace algorithm for ProseMirror documents.
Represents a resolved position in a ProseMirror document.
A document schema. Holds node and mark type objects for the nodes and marks that may occur in conforming documents, and provides functionality for creating and deserializing such documents.
A slice represents a piece cut out of a larger document. It stores not only a fragment, but also the depth up to which nodes on both sides are 'open' (cut through).
Optional convenience schemas matching the ProseMirror JavaScript packages
prosemirror-schema-basic
and prosemirror-schema-list.
Node and mark specifications from
prosemirror-schema-basic.
DX sugar porting prosemirror-schema-list
node specs and addListNodes/3.
Add a mark to all inline content between two positions.
Add a mark to a specific node.
Update an attribute in a specific node.
Update an attribute in the doc node.
An object representing a mapped position with extra information.
Protocol for things that positions can be mapped through.
A mapping represents a pipeline of zero or more StepMaps. It has special provisions for losslessly handling mapping positions through a series of steps in which some steps are inverted versions of earlier steps.
Helper functions for adding and removing marks via Transform steps.
Remove a mark from all inline content between two positions.
Remove a mark from a specific node.
Fitter algorithm and replace helpers for fitting slices into document gaps.
Replace a part of the document with a slice of content, but preserve a range of the replaced content by moving it into the slice.
Replace a part of the document with a slice of new content.
A step object represents an atomic change. It generally applies only to the document it was created for, since the positions stored in it will only make sense for that document.
A map describing the deletions and insertions made by a step, which can be used to find the correspondence between positions in the pre-step version of a document and the same position in the post-step version.
The result of applying a step. Contains either a new document or a failure value.
Structural transform operations: lift, wrap, split, join, and related utility functions.
Abstraction to build up and track an array of steps representing a document transformation.
Error raised when a transform operation fails.