Skip to content
Uses

Tool

TipTap

The editor every page is written in, ProseMirror underneath.

Category
Interface

TipTap

The editor. Every page on this site is a TipTap document, including the one you are reading β€” click into this paragraph and you are in it.

The rule that costs the most

Never style or mutate the DOM ProseMirror manages. A node view that writes a class onto its own element triggers a re-parse, which re-renders the node view, which writes the class again β€” an infinite loop that presents as a frozen tab rather than as an error.

Everything cosmetic here therefore happens on a wrapper the editor does not own, which is why several components have an extra div that looks redundant and is not.