Editor extensions
How Tintero's 78 editor extensions map onto ProseMirror: which contribute a node, which contribute a mark, and which leave no trace in the file at all.
Tintero's editor is Tiptap, which is ProseMirror with a plugin system on top, and every feature you can see in the writing surface is one of its extensions. This page is what each of them turns into once a document is saved. There are 78, and they fall into two piles that behave very differently once you start reading files from outside.
What an extension is
Three kinds, in Tiptap's own terms. A Node adds a block or an inline element: a paragraph, a table, a scene wrapper. A Mark adds something laid over a range of text: bold, a link, a comment highlight. An Extension adds behaviour with no shape of its own.
One extension can bring in others. starterKit is a single entry that
contributes most of the standard vocabulary, and screenplay is one Tintero
extension that contributes twelve nodes, one per screenplay element. The groups below are
by the extension you would register, not by the pieces it unpacks into.
Extensions that reach the file (28)
Each of these leaves at least one node or mark in the JSON. Names link to the document schema, which has the attributes.
screenplay
Tintero
customExtensions/screenplay.extension.ts bookmark
Tintero
customExtensions/bookmark-node.ts customHighlight
Tintero
customExtensions/custom-highlight.ts dialogMark
Tintero
customExtensions/dialog-mark.ts documentLink
Tintero
customExtensions/document-link.ts inlineAudioPlayer
Tintero
customExtensions/inline-audio-player.ts intelligentQuote
Tintero
customExtensions/intelligent-quote.ts noteHighlight
Tintero
customExtensions/note-highlight.ts paragraph
Tintero
customExtensions/dialog-paragraph.ts resizableImageClean
Tintero
customExtensions/resizable-image-clean.ts scene
Tintero
customExtensions/scene-extension.ts table
Tintero
customExtensions/custom-table.ts tableCell
Tintero
customExtensions/custom-table-cell.ts tableHeader
Tintero
customExtensions/custom-table-cell.ts ttsEmotion
Tintero
customExtensions/tts-annotations.ts ttsPause
Tintero
customExtensions/tts-annotations.ts ttsSoundTag
Tintero
customExtensions/tts-annotations.ts ttsVoice
Tintero
customExtensions/tts-annotations.ts starterKit
standard
taskItem
standard
highlight
standard
link
standard
subscript
standard
superscript
standard
tableRow
standard
taskList
standard
textStyle
standard
underline
standard
Extensions that do not (18)
These change how the editor behaves and put nothing in the file. Listed because their absence from a document is the expected result rather than a bug: search and replace, the typewriter scroll, the decorations that paint characters and spelling errors, the handling that turns straight quotes into curly ones as you type.
With one exception that is worth knowing about. A few of these add
attributes to nodes somebody else owns rather than nodes of their own, so
they do reach the file even though they appear on this list.
paragraphMargins is why a paragraph carries marginLeftMm,
indent is where its indent comes from, and
textAlign puts textAlign on every block that can be aligned.
Look for the attribute on the node in the
document schema, not for a node here.
advancedSuggestion characterHighlightDecoration dictationPreview externalLinkHandler foreignPasteColors indent linkDecoration paragraphMargins remoteSyncHighlight spellErrorDecoration ttsAnnotationsMode color focus fontFamily fontSize selection textAlign typography
Filled entries are Tintero's own. Outlined ones are standard Tiptap.