At my last job I had built a system where users could enter text into a quill textbox (and style it), and then save it into a database in their delta format. Later, a different team member would pull that into an InDesign plugin where we could easily read what styles had been applied to the text in quill, and style that using the styling in InDesign. This was used when the front desk person would enter in a legal notice for a newspaper, and the production team would be the ones who would get that into InDesign for printing. The quill delta format that it uses made this process so much easier than if we were to have been given HTML like most other editors output / save. Glad to see this is still around, its been a few years since I had heard / used quill.
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 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.
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.
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.
It should be easy to configure, but I don't think that behavior should be the default since it's less general and only works when you press Return from certain types of blocks.
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.
Kudos on the docs: I encourage all open source projects to have a "Why Quill"[1] type page so I can quickly understand the philosophy of the project and how it aligns with my goals.
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.
This is not obvious from the link but I guess this is posted because of v2 released 3 days ago.
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.
I like TinyMCE too and swapped out a Quill editor in its favor 6 months ago. But I was annoyed that you needed an API key to use their static JS in your site and disturbed that they rapidly shrunk free tier "use" of rendering an editor a few days back [0]. Out of curiosity, is that not an issue for you?
At first I couldn't figure out why Quill was being posted again, but now I see that a long awaited version 2.0 was released 3 days ago (see https://slab.com/blog/announcing-quill-2-0/ ). Thank you for the heads-up!
An old project I worked on was badly bitten by using Quill. IMO the issue is that they didn't vet the limitations of the editor well enough compared to the project's requirements but the way the documents went on about the extensibility of the library did feel like it was going to cause harm.
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
Ymmv, but I will never use Quill for a production project again.
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.)
No experience with Jason, but I have to say I’ve spent waaay too much time reading the Quill code trying to figure out how to patch around weird behavior. Which is frustrating because that’s what a RTE library (vs roll your own) is supposed to be. Not sure about v2, but the v1 code is just not very well architected.
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.
I have this project[1] that you can run from a GitHub code space, drop a some markdown files in, and push to GitHub pages. Basically trying to be as low code or no code as possible for a blog replacement.
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.
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.
Trix is simple and easy to use for basic writing like a blog. It’s what Basecamp and HEY both use (it was built by 37signals and is the default in Rails)
TinyMCE just changed their licensing from MIT to GPL, which may impact your decision. Fun fact - TinyMCE and CKEditor are both owned by the same holding company (Tiugo Technologies).
Which one is easiest to implement hashtags (predefined list, associated colors) and @ mentions, which insert an <a> tag we can programmatically define. I can compromise on formatting features.
This isn't clear to me, either, and it also seems from the docs like images, videos, and formulas are the only embeddable content types. However, elsewhere they say "Quill exposes its own document model, a powerful abstraction over the DOM, allowing for extension and customization. The upper limit on the formats and content Quill can support is unlimited. Users have already used it to add embedded slide decks, interactive checklists, and 3D models."
I wish they had a page covering what it takes to create a custom content type for the Quill DOM.
[+] [-] majormunky|1 year ago|reply
[+] [-] joeriddles|1 year ago|reply
[+] [-] jjcm|1 year ago|reply
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.
[+] [-] ksec|1 year ago|reply
[1] https://slab.com/blog/announcing-quill-2-0/
[+] [-] eropple|1 year ago|reply
[+] [-] runarberg|1 year ago|reply
So far I’m very pleased with my choice of ProseMirror.
[+] [-] crowcroft|1 year ago|reply
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.
[+] [-] hombre_fatal|1 year ago|reply
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.
[+] [-] oneeyedpigeon|1 year ago|reply
[+] [-] jdthedisciple|1 year ago|reply
[+] [-] rodface|1 year ago|reply
[+] [-] dbalatero|1 year ago|reply
[+] [-] nathancahill|1 year ago|reply
[+] [-] toddmorey|1 year ago|reply
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.
[1] https://quilljs.com/docs/why-quill
[+] [-] QualmsAplenty|1 year ago|reply
[deleted]
[+] [-] blain|1 year ago|reply
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.
[+] [-] jackconsidine|1 year ago|reply
[0] https://news.ycombinator.com/item?id=40044544
[+] [-] davidkellis|1 year ago|reply
[+] [-] dwallin|1 year ago|reply
[+] [-] forgotacc240419|1 year ago|reply
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
[+] [-] nickbaum|1 year ago|reply
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.)
[1] https://github.com/quilljs/quill/issues/2435
[2] https://twitter.com/nickbaum/status/1177240103925796865
[+] [-] fovc|1 year ago|reply
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.
[+] [-] dang|1 year ago|reply
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)
[+] [-] enraged_camel|1 year ago|reply
[+] [-] Recursing|1 year ago|reply
Any reason to prefer quill?
[+] [-] J_Shelby_J|1 year ago|reply
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...
[+] [-] bloopernova|1 year ago|reply
[+] [-] robertlagrant|1 year ago|reply
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.
[+] [-] albert_e|1 year ago|reply
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.
[+] [-] lylo|1 year ago|reply
https://trix-editor.org/
[+] [-] sdfhbdf|1 year ago|reply
it’s not as bad as you think. Either the hosted version or on a php hosting which are cheap.
[+] [-] christkv|1 year ago|reply
[+] [-] eropple|1 year ago|reply
[+] [-] kabes|1 year ago|reply
[+] [-] rnewme|1 year ago|reply
[+] [-] _boffin_|1 year ago|reply
[+] [-] skeptrune|1 year ago|reply
[+] [-] romanhn|1 year ago|reply
[+] [-] be_erik|1 year ago|reply
[+] [-] mati365|1 year ago|reply
[+] [-] unknown|1 year ago|reply
[deleted]
[+] [-] Alifatisk|1 year ago|reply
https://quilljs.com/playground/snow
[+] [-] aitchnyu|1 year ago|reply
[+] [-] thih9|1 year ago|reply
[+] [-] ulrischa|1 year ago|reply
[+] [-] toddmorey|1 year ago|reply
I wish they had a page covering what it takes to create a custom content type for the Quill DOM.