Examples of what ProseMirror can do, and how to do it Basics Setting up a minimal rich text editor using a standard configuration. Dinos in the document Defining a custom document node type and including it in your schema. Linter An editor that scans the document for common errors and assists the user in correcting them. Track changes Keeping a history of changes to the document, allowing the user to inspect and revert individual ones. Embedded code editor Representing code blocks using a code editor component inside a ProseMirror instance. Collaborative editing A more or less solid collaborative editor, with support for shared annotations. Friendly Markdown Allow users to choose between a Markdown and WISIWYM editor. Editing footnotes Implementing footnotes as inline nodes with content, and wiring up a separate editor for a sub-document.