Release notes: https://github.com/quilljs/quill/releases/tag/v2.0.0 Announcement post: https://slab.com/blog/announcing-quill-2-0/
I've used quill quite a bit. It's easy to integrate, the json delta format works decently well, and is pretty straightforward, but one thing I find myself doing whenever I use it is asking myself, "Should I just be using prosemirror?".
I find Quill to be a great stopgap solution for when I need editing and I need it quick, but in the back of my mind I'm always mentally adding that I'll need a migration plan should that specific feature ever grow in requirements.
I've been looking at ProseMirror (mostly through tiptap2, which seems to wrangle it effectively) but taking the jump is daunting. I'd be interested in others' experiences.
Tried Tiptap recently and it was fairly buggy even for basic stuff like lists. Apparently the team behind it went the VC route and raised a few million so ideally they'd be moving faster at this point, but it doesn't seem much improved from when I tried it a few years ago.
That said, text editing in the browser is indeed a nightmare, so it's hard to fault anyone trying to make it easier.
I didn't know there was that much money in writing a rich text editor ...
CKEditor and TinyMCE seem to be doing fine.
Are they? Both have been acquired by the same holding company.
With the release of Quill v2, I went away from TipTap + PM to Quill. My use case is not super complex. I just want a decent editing experience (for trusted, technical people, not average end users) and solid HTML I can save to a db.
Quill has `getSemanticHTML()` which is great for my implementation.
PM is great, but expansive and overpowered for my needs.
TipTap has the equivalent with `getHTML` which is calling a PM function that does the same.
I've used prosemirror enough to have written custom nodes, commands, and custom code around its collaboration model. I got good results with all of this and I don't know any other platform that could have matched it.
The docs are thoughtful. There's an up-front learning curve to understand the architecture. When doing highly customized things, I referred to the source when needed.
For standard rich text, there are a lot of options. Prosemirror shines when you want to build on it as a platform.
I spent weeks back in 2020 fighting with PM trying to customize behaviors such as bullet points etc. At the time the documentation was sparse and for me progress was extremely hard.
I ended up abandoning the project but wrote a short introduction here which might help you get started.
https://github.com/PierBover/prosemirror-cookbook
Tiptap is a great wrapper around ProseMirror, and if you need to dig deep, TipTap lets you do that but the documentation, for both TipTap and PM isn't as good as it could be and the conceptual model for PM is _hard_ to pick up on the go. I've spent several days on it to get close to what we spec-ed, granted, that's probably a tenth of what I would've spent if I had to build it from scratch, but definitely an investment, because getting all the little interactive details and the way that the custom inline/block elements should work just as the user expects is _hard_.
Overall, it's the only tool I found that makes it as easy as possible to create a good writing/editing experience but it's a hard easy.
I needed to implement rich text editing at my job. So I looked at many options, quill was among the first one I looked at, but I ended going with ProseMirror. The reason I picked ProseMirror was how low level it was, and the extensive documentation that goes with it (kind of reminds me of D3 really). Since picking it I’ve written a few custom nodes, custom commands, a custom tool bar, integrated with markown + custom markdown plugins, and it all integrates rather neatly with Vue (though with some glue code).
So far I’m very pleased with my choice of ProseMirror.
I wish we could change the submission to [1], since it really is about the new version. On the hand I sometimes wonder why we can have standardise rich text editor.
[1] https://slab.com/blog/announcing-quill-2-0/