@dylanvann/slate (npm): A completely customizable framework for building rich text editors.
Keywords: canvas|contenteditable|custom|document|edit|editor|html|immutable|markdown|medium|paper|react|rich|richtext|slate|text|wysiwyg|wysiwym|browser|framework|javascript|rich-text|text-editor