Quill v2 – Rich text editor
quilljs.com
quilljs.com
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.
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.
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 ended up abandoning the project but wrote a short introduction here which might help you get started.
That said, text editing in the browser is indeed a nightmare, so it's hard to fault anyone trying to make it easier.
Quill has `getSemanticHTML()` which is great for my implementation.
PM is great, but expansive and overpowered for my needs.
So far I’m very pleased with my choice of ProseMirror.
Plain text return = new line.
Rich text return = new paragraph (shift + return = new line if you want).
This was a big problem for me with earlier versions, unsure how customizable this behaviour is now.
I do appreciate that I probably care too much about this, but I found TipTap worked well.
Shift + Return also isn't available on mobile. And it's annoying having a hidden key combo just to get behavior you want. I seem to regularly battle with Reddit's rich editor that does this.
All to save me from having to press Return twice.
Though I can appreciate the niceness of how clean it is to always keep the user inside a <p style="margin-bottom: 2em"> while making them opt (with Shift + Return) into a <br>, I'd yield to UX over cleanliness when it comes to something as finicky as rich text editors.
Even better when they also have "Why Not Quill" type content so you can quickly learn situations where it may not be the best fit. Every project makes tradeoffs and communicating those directly and clearly helps ensure users have a better experience.
I have been working with Quill v1 not long ago and oh boy it is not good. Pain to make tables work with plugins and weird scrolling issues. Hopefully v2 fixes a lot but I'm sticking with TinyMCE as it is superior in term of features.
It's a great library provided you stick with its limitations (ie nothing too complicated with nested content). A "Why You Should NOT Use Quill?" type section on the website would probably go a long way
We started using Quill 1.x around 2016, I initially liked it a lot. Jason proactively reached out to me when I first tweeted about considering Quill, and he was helpful when I had questions about the implementation.
Fast forward to 2019, we were running into some bugs, Quill 1.x was in maintenance mode, and 2.0 was effectively undocumented [1]. I reached out to Jason on Twitter [2] to get a sense for the timeline, and he basically told me to get lost. (Also his company Slab now blocks me on Twitter, though I imagine he just meant to block me from his personal account.)
Everyone has stressful days, especially when building a startup, so maybe that was just a bad time for me to reach out. My best guess is that they were focused on their own company (fair!) and barely had the time to maintain Quill for their own internal usage, let alone release it as open source. If that's the case, I wish they'd been upfront about it.
5 years later, Quill v2 is finally live. I'm glad to see Slab is still around, and I hope they have the bandwidth to publicly maintain Quill going forward. But if you're thinking about using this in production, I would push on what their commitment is to supporting it, and have a plan for if they stop responding.
(Jason, if you're on this thread, no hard feelings, water under the bridge. Feel free to ignore or chime in with your own perspective.)
There are basic features we’ve held off on implementing for fear that it will lead to a million little bugs.
The Delta format is the best thing about Quill by far. But I’d advise anyone looking for more than bold/underline/italics to use prose mirror.
Announcing Quill 1.0 - https://news.ycombinator.com/item?id=12437345 - Sept 2016 (82 comments)
Quill – A cross browser rich text editor with an API - https://news.ycombinator.com/item?id=10446865 - Oct 2015 (47 comments)
Quill – An Open Source Rich Text Editor with an API - https://news.ycombinator.com/item?id=7716376 - May 2014 (60 comments)
Any reason to prefer quill?
Feedback from non-technical users is markdown is still annoying. Could quill be used in to edit as a wisywig with the output being markdown? That way the user could start the dev server and edit from there without having to touch the vscode file explorer.
[1] https://github.com/easy-astro-blog-creator/easy-astro-blog-c...
On the custom fonts demo, select one of the paragraphs and change its font. Then select that paragraph and another paragraph (which has the original font).
The font selection dropdown shows one of the paragraphs' fonts, and selecting it (to set both paragraphs to have that font) is not possible.
I want to publish blog on a domain I own -- I currently use Netlify+Hugo and NetlifyCMS but the editor experience (Richtext / Markdown + upload individual images) is very poor. There is no concept of saving drafts either; or ability to edit the hierarchy/URLs of posts after they are published.
I wish this tech got out of my way and simply let me focus on the content -- text, formatting, pasting images -- and one click save/publish.
Is there a simpler WYSIWYG editor that allows us to simply type, format and publish blog posts?
Life is too short to deal with high-maintenance / high-friction / brittle setups.
it’s not as bad as you think. Either the hosted version or on a php hosting which are cheap.
Customizing has been harder than anyone would like. I became an event sourcing aficionado, initially to support parchment’s delta format. It’s a solid idea, but also required (unless you do backend diffs, which I tried too).
My vanity test: I can’t believe how hard it still is to make a TODO checklist with indented levels. I try like every 18 months, surveying the plugin ecosystem.
It never works well, so far. Editor.js isn’t a one-stop rtf editor, but that was the first thing I noticed “just working.”
That said, I’m upgrading an old prototype to quill v2 today.
https://ckeditor.com/legal/ckeditor-oss-license/
They also modified their last CKEditor 4 open release to check the version and prompt the user to buy the LTS support.
I wish they had a page covering what it takes to create a custom content type for the Quill DOM.
It's relatively straightforward to develop little widgets that can plug into the renderer. I did it for several classes of healthcare information, with "smart links" with embedded icons for things like appointments, medications, etc...
Even better, I was able to use vanilla web components for the markup that got embedded, and quill was able to use it just fine.
Was a huge success and worked great.
But you're editing markdown, not HTML. And, for example, markdown doesn't have definition lists.
That said, prosemirror's got a pretty steep learning curve.
For a definition list, you’d probably want two node types: a definition list, and a definition list item.
And then create toDOM and parseDOM methods to render and parse respectively the html you want.
But when it came to the frontend it was infuriating. All I wanted was to hightlight the idex of my "compiler-error" but it was just a mess (every once in a while the text-cursor would jump around, sth I simply couldnt fix entirely). Ontop of that this [issue](https://github.com/quilljs/quill/issues/3806) exists - which forces us to upgrade once primeNg lets us. Anyone knows a good alternative? I am done with quill and would love to use something more stable.
Great to see a release!
• Is it that they know one person at Microsoft, any random employee among +221k, who uses the editor?
• Or is it that one of the developers works at Microsoft? (which, unless they are Satya Nadella, shouldn’t matter)
• Or is it that their (not so anonymous) telemetry tells them that someone is using the editor from a Microsoft-owned IP address?
• Or are the company logos simply there to mislead potential new users into thinking those companies actually trust the developer(s)?
I'm unclear as to what there deserves this kind of accusatory posturing.
The project claims to be "trusted" by one of the largest tech companies in the US. Asking for a definition of "trusted" is extremely reasonable, and calling it "accusatory posturing" is not only inaccurate (the comment itself reads pretty neutrally), but also somewhat emotionally manipulative.
I would be very surprised if no team there had used Quill before.
My guess is all it takes is 1 person inside Microsoft using it, or even 1 load of the library from a Microsoft owned IP.