OptionaladdOptionaladdThis function adds commands to the editor
OptionaladdThis function adds additional extensions to the editor. This is useful for building extension kits.
OptionaladdThis function adds globalAttributes to specific nodes.
addGlobalAttributes() {
return [
{
// Extend the following extensions
types: [
'heading',
'paragraph',
],
// … with those attributes
attributes: {
textAlign: {
default: 'left',
renderHTML: attributes => ({
style: `text-align: ${attributes.textAlign}`,
}),
parseHTML: element => element.style.textAlign || 'left',
},
},
},
]
}
OptionaladdThis function adds input rules to the editor.
OptionaladdThis function registers keyboard shortcuts.
OptionaladdNode View
OptionaladdThis method will add options to this extension
OptionaladdThis function adds paste rules to the editor.
OptionaladdThis function adds Prosemirror plugins to the editor
OptionaladdThe default storage this extension can save data to.
OptionalallowA function to determine whether the gap cursor is allowed at the current position. Must return true or false.
OptionalatomCan be set to true to indicate that, though this isn't a leaf node, it doesn't have directly editable content and should be treated as a single unit in the view.
OptionalcodeCan be used to indicate that this node contains code, which causes some commands to behave differently.
OptionalcontentThe content expression for this node, as described in the schema guide. When not given, the node does not allow any content.
You can read more about it on the Prosemirror documentation here
OptionaldefiningWhen enabled, enables both
definingAsContext and
definingForContent.
OptionaldraggableDetermines whether nodes of this type can be dragged without being selected. Defaults to false.
@default: false @example: draggable: true
OptionalextendThis function extends the schema of the mark.
OptionalextendThis function extends the schema of the node.
OptionalgroupThe group or space-separated groups to which this node belongs, which can be referred to in the content expressions for the schema.
By default Tiptap uses the groups 'block' and 'inline' for nodes. You can also use custom groups if you want to group specific nodes together and handle them in your schema.
OptionalinlineShould be set to true for inline nodes. (Implied for text nodes.)
OptionalisolatingWhen enabled (default is false), the sides of nodes of this type count as boundaries that regular editing operations, like backspacing or lifting, won't cross. An example of a node that should probably have this enabled is a table cell.
OptionallinebreakAllows a single node to be set as linebreak equivalent (e.g. hardBreak). When converting between block types that have whitespace set to "pre" and don't support the linebreak node (e.g. codeBlock) and other block types that do support the linebreak node (e.g. paragraphs) - this node will be used as the linebreak instead of stripping the newline.
See linebreakReplacement.
OptionalmarksThe marks that are allowed inside of this node. May be a
space-separated string referring to mark names or groups, "_"
to explicitly allow all marks, or "" to disallow marks. When
not given, nodes with inline content default to allowing all
marks, other nodes default to not allowing marks.
The extension name - this must be unique. It will be used to identify the extension.
OptionalonThe editor is not ready yet.
OptionalonThe editor isn’t focused anymore.
OptionalonThe editor is ready.
OptionalonThe editor is destroyed.
OptionalonThe editor is focused.
OptionalonThe selection has changed.
OptionalonThe editor state has changed.
OptionalonThe content has changed.
OptionalparseAssociates DOM parser information with this node, which can be
used by DOMParser.fromSchema to
automatically derive a parser. The node field in the rules is
implied (the name of this node will be filled in automatically).
If you supply your own parser, you do not need to also specify
parsing rules in your schema.
OptionalpriorityThe priority of your extension. The higher, the earlier it will be called and will take precedence over other extensions with a lower priority.
OptionalrenderA description of a DOM structure. Can be either a string, which is
interpreted as a text node, a DOM node, which is interpreted as
itself, a {dom, contentDOM} object, or an array.
An array describes a DOM element. The first value in the array
should be a string—the name of the DOM element, optionally prefixed
by a namespace URL and a space. If the second element is plain
object, it is interpreted as a set of attributes for the element.
Any elements after that (including the 2nd if it's not an attribute
object) are interpreted as children of the DOM elements, and must
either be valid DOMOutputSpec values, or the number zero.
The number zero (pronounced “hole”) is used to indicate the place where a node's child nodes should be inserted. If it occurs in an output spec, it should be the only child element in its parent node.
Optionalrenderrenders the node as text
OptionalselectableControls whether nodes of this type can be selected as a node selection. Defaults to true for non-text nodes.
OptionaltableA string or function to determine the role of the table.
OptionaltopDefines if this node should be a top level node (doc)
OptionalwhitespaceControls way whitespace in this a node is parsed. The default is
"normal", which causes the DOM parser to
collapse whitespace in normal mode, and normalize it (replacing
newlines and such with spaces) otherwise. "pre" causes the
parser to preserve spaces inside the node. When this option isn't
given, but code is true, whitespace
will default to "pre". Note that this option doesn't influence
the way the node is rendered—that should be handled by toDOM
and/or styling.
Add attributes to the node