Hacker News new | ask | show | jobs
by jclem 1736 days ago
Seconding ProseMirror [1] as the least buggy editor implementation on top of contenteditable I’ve seen yet. It also supports JSON serialization and has plenty of support for complex custom pieces of content in the document.

The ProseMirror API is quite low-level-feeling for many use cases, however, and TipTap [2] is doing a good job of building a friendlier wrapper around it.

That said, neither of these are perfect and there are bugs here and there, especially on mobile devices, but they’re better than any other solution I’ve seen so far.

[1] https://prosemirror.net/

[2] https://tiptap.dev/

1 comments

Personally I always prefer to skip the DOM-serialized editors and just go to something like Quill or Slate, which is end-to-end JSON.
Ah, one of the bugs with Slate was with spell-checking. On mobile Safari, at least, its text nodes aren’t marked by spell check unless they’re interacted with by the user after they’ve been typed.

As I’d said, they all have bugs, including ProseMirror. I just found that PM solved most of the ones I cared about relatively well.

Last I evaluated them, they had some bugs that wouldn’t work for my use case. For example, Quill has the annoying bug on mobile Safari of blocking the native behavior of capitalizing the first letter of a new line.

I don’t remember what I found in Slate, however, and it’s possible it may be much better now.