A rich editor is a text surface where formatting belongs to the text itself rather than being typed as markup: bold, headings, lists and quotes live in the document, and the toolbar reports what is under the cursor. Orvain's Rich Editor family holds six, a document page with its toolbar pinned above, a comment thread whose composer sits under the replies, a page whose formatting pill follows the selection, and three toolbars on their own: one pill carrying everything, a large-control row for touch, and a segmented pair that splits type settings from formatting.
Buttons are the small half of this component. The work is in the round trip: the toolbar has to re-read the selection on every cursor move, and a control that takes focus when pressed collapses the selection it was meant to act on, so the controls have to refuse focus rather than claim it. Paste is the other half. Text arriving from elsewhere carries styles your document has no rules for, and an editor without a paste filter slowly fills with fonts nobody chose.
Best for
Docs, knowledge bases, long-form writing: a page with its toolbar on top
Anatomy
Toolbar on a grey band: text style, size, colour, B I U S, lists, checklist, align, mention, link, callout, ⋮ · headings, key caps, mention chips with a profile card · checklist · tip callout · pull quote · bottom bar with who is here, Saved, words and read time
Best for
Reviews and discussions where the reply matters most: read the thread, answer with full formatting
Anatomy
Header with title, count, people and ⋯ · comments with avatar, verified seal, presence, Author pill, role tag, time and mention chips · composer with a grey tray: B I U S, colour, lists, link, code, @ mentions, emoji, attach, Send · ⌘↵ hint and count
Best for
Distraction-free writing: formatting appears where you select, not at the top
Anatomy
Editable page with a pull quote · dark pill over the selection with a pointer, flips below when there is no room · Text ▾ (turn into) · B I U S, inline code · link, colour · Comment · / block menu on an empty line · footer with hints (⌥F10 to reach the bar) and N selected · N words
Best for
The full formatting row as a pill: pin it above any editor
Anatomy
White pill above a short document it drives · font ▾ (each in its face) · size ▾ · colour (current colour in a ring, 12 dots, Default first) · B I U S · bulleted, numbered, checklist · align ▾ (shows the current alignment; a row of four) · mention, link (⌘K address box), callout · ⋮ · folds into ⋮ by priority as it narrows, never scrolls
Best for
Touch and focus modes: big controls grouped in capsules above the task they drive
Anatomy
White pill of four grey capsules with 44px round buttons, on = white with a lift · font ▾ + size ▾ · colour orb (current colour, 12 dots, Default first) · B I U S · assignee avatar with presence dot (assign to, unassign) + attach (adds a file chip) · task with file chips and Assigned to … · whole groups wrap to a second row, nothing folds
Assigned to Cara Brook
Best for
Two pills (type settings on the left, formatting on the right) for wide editors
Anatomy
Two white pills above a short document they drive · type pill: font ▾ · size ▾ · colour ▾ (current colour in a ring, 12 dots, Default first) · formatting pill: B I U S · bulleted, numbered, checklist · align ▾ (shows the current alignment) · mention, link (⌘K address box), callout · ⋮ · one toolbar, arrows across both pills · the pills wrap whole (type pill above) and the formatting pill folds into ⋮ by priority
An internal handbook page where the author needs headings for structure, a checklist for the procedure and a quote for the caveat. Whatever a reader later searches for has to survive being pasted in from somewhere else.
Comments on a document, where each reply can bold the term under discussion, quote the line it answers and tag whoever owns it. The composer stays inline under the thread rather than opening a modal.
A task body written once and read many times: a summary, bulleted steps to reproduce, a link to the build. The formatting row sits underneath so the field opens on the text, not on its controls.
A marketing surface where a non-technical editor writes into a field the layout owns. The editor offers the marks the template renders and nothing more, so the page cannot be broken from inside the CMS.
Use rich editing when the author's job is writing rather than engineering, and when what they see while typing has to match what publishes. Use Markdown when the text is reviewed as source, versioned alongside code, or written by people who already know the syntax. The tell is the audience: content maintained by engineers ages better as plain text.
Convert it into your own document model instead of accepting the incoming HTML as it arrives. Keep the marks your schema names (bold, links, headings, lists) and drop everything else, including inline fonts, colours and sizes inherited from whatever application the text came from. Offer a paste-as-plain-text shortcut too, because often the author wants only the words.
Join the Orvain Dispatch and get production-ready components, free to keep: React and Vue code plus the Figma frame, yours to ship.
A rich editor is a text surface where formatting belongs to the text itself rather than being typed as markup: bold, headings, lists and quotes live in the document, and the toolbar reports what is under the cursor. Orvain's Rich Editor family holds six, a document page with its toolbar pinned above, a comment thread whose composer sits under the replies, a page whose formatting pill follows the selection, and three toolbars on their own: one pill carrying everything, a large-control row for touch, and a segmented pair that splits type settings from formatting.
Buttons are the small half of this component. The work is in the round trip: the toolbar has to re-read the selection on every cursor move, and a control that takes focus when pressed collapses the selection it was meant to act on, so the controls have to refuse focus rather than claim it. Paste is the other half. Text arriving from elsewhere carries styles your document has no rules for, and an editor without a paste filter slowly fills with fonts nobody chose.
Best for
Docs, knowledge bases, long-form writing: a page with its toolbar on top
Anatomy
Toolbar on a grey band: text style, size, colour, B I U S, lists, checklist, align, mention, link, callout, ⋮ · headings, key caps, mention chips with a profile card · checklist · tip callout · pull quote · bottom bar with who is here, Saved, words and read time
Best for
Reviews and discussions where the reply matters most: read the thread, answer with full formatting
Anatomy
Header with title, count, people and ⋯ · comments with avatar, verified seal, presence, Author pill, role tag, time and mention chips · composer with a grey tray: B I U S, colour, lists, link, code, @ mentions, emoji, attach, Send · ⌘↵ hint and count
Best for
Distraction-free writing: formatting appears where you select, not at the top
Anatomy
Editable page with a pull quote · dark pill over the selection with a pointer, flips below when there is no room · Text ▾ (turn into) · B I U S, inline code · link, colour · Comment · / block menu on an empty line · footer with hints (⌥F10 to reach the bar) and N selected · N words
Best for
The full formatting row as a pill: pin it above any editor
Anatomy
White pill above a short document it drives · font ▾ (each in its face) · size ▾ · colour (current colour in a ring, 12 dots, Default first) · B I U S · bulleted, numbered, checklist · align ▾ (shows the current alignment; a row of four) · mention, link (⌘K address box), callout · ⋮ · folds into ⋮ by priority as it narrows, never scrolls
Best for
Touch and focus modes: big controls grouped in capsules above the task they drive
Anatomy
White pill of four grey capsules with 44px round buttons, on = white with a lift · font ▾ + size ▾ · colour orb (current colour, 12 dots, Default first) · B I U S · assignee avatar with presence dot (assign to, unassign) + attach (adds a file chip) · task with file chips and Assigned to … · whole groups wrap to a second row, nothing folds
Assigned to Cara Brook
Best for
Two pills (type settings on the left, formatting on the right) for wide editors
Anatomy
Two white pills above a short document they drive · type pill: font ▾ · size ▾ · colour ▾ (current colour in a ring, 12 dots, Default first) · formatting pill: B I U S · bulleted, numbered, checklist · align ▾ (shows the current alignment) · mention, link (⌘K address box), callout · ⋮ · one toolbar, arrows across both pills · the pills wrap whole (type pill above) and the formatting pill folds into ⋮ by priority
An internal handbook page where the author needs headings for structure, a checklist for the procedure and a quote for the caveat. Whatever a reader later searches for has to survive being pasted in from somewhere else.
Comments on a document, where each reply can bold the term under discussion, quote the line it answers and tag whoever owns it. The composer stays inline under the thread rather than opening a modal.
A task body written once and read many times: a summary, bulleted steps to reproduce, a link to the build. The formatting row sits underneath so the field opens on the text, not on its controls.
A marketing surface where a non-technical editor writes into a field the layout owns. The editor offers the marks the template renders and nothing more, so the page cannot be broken from inside the CMS.
Use rich editing when the author's job is writing rather than engineering, and when what they see while typing has to match what publishes. Use Markdown when the text is reviewed as source, versioned alongside code, or written by people who already know the syntax. The tell is the audience: content maintained by engineers ages better as plain text.
Convert it into your own document model instead of accepting the incoming HTML as it arrives. Keep the marks your schema names (bold, links, headings, lists) and drop everything else, including inline fonts, colours and sizes inherited from whatever application the text came from. Offer a paste-as-plain-text shortcut too, because often the author wants only the words.
Join the Orvain Dispatch and get production-ready components, free to keep: React and Vue code plus the Figma frame, yours to ship.