Just my experience: I had a rough time with ProseMirror trying to use it before it was released. It didn't use modern JS modules for a long time, the source code was a mess as far as I could tell, and JavaScript variable errors would surface with every version.
Maybe the author has overcome these issues, but I'd be inclined to go with a different editor. Also, ProseMirror's architecture is extremely close to DraftJS, which I've had much fewer issues with.
We used ProseMirror in the past few months to build a rich text collaborative editor. We were able to get started and get a collaborative editor up and running in ~1 hour. This was a big deal for us, we'd tried to implement a good collab editing experience multiple times and each time we felt like the editor was the sticking point in creating a good experience. ProseMirror treats collab editing as a first class use case and makes it really easy.
We then spent 2-3 weeks getting all of the formatting, tooltips and key mappings to handle some basic formatting (bold, italics, underline, bullet lists, numbers). Eventually, once there are more examples on the web of more complex formatting for the community I think it will become much easier to use.
It's the first editor I've used that felt like it made sense at a conceptual level but implementing "simple features" can feel very hard at times. I don't think that's a knock on the library though. There's a lot to learn and understand and it just took us a lot of time to get it all.
This was my experience as well, quick to pick up but harder to master with more complex specs and commands even if seemingly simple. Understanding the concepts and the design patterns used in the examples goes a long way, it is a powerful framework.
Yeah thanks for dropping some deeply outdated impressions in here. (Also not even fair—the code was never a mess and at the time it wasn't clear how ES modules would be used so using CommonJS was a completely reasonable choice.)
Just wanted to offer some feedback. Prosemirror's docs are woefully incomplete. The way controls are added is extremely confusing. Why do we need some node module called "prose-mirror-example-setup" ?
I know I'd personally prefer being able to add all the markup and style for the editor, and then just use prosemirror underneath the hood for state management.
Another thing that I found quite difficult, was programmatically inserting images at the cursor.
Finally, storing state as markdown has turned out to be a nightmare. Not really your fault, but perhaps something you should be aware of.
I agree the docs are obtuse, and implementing features is hard, but document state is not saved as markdown. The whole point of PM is to separate content from prsentation.
Impressions matter, no matter how outdated they are.
I also don't think the concept of fairness applies since I'm accounting the details of my personal experience and the conclusions I personally drew from it. Some of those are subjective (code quality) while others are purely objective (I got a lot of errors). What I infer from that may be entirely different from what you do, but that does not make your characterization of things more fair than mine.
Does a review of Windows 3.1 give you any idea at all of how applicable Windows 10 would be to solving a given problem? At best, you’ve stated a bunch of nonsense for people to filter out once they eventually realise you’re talking about a version which bears little similarity to the current state of things.
Maybe the author has overcome these issues, but I'd be inclined to go with a different editor. Also, ProseMirror's architecture is extremely close to DraftJS, which I've had much fewer issues with.