7 ms·
Quill v2 – Rich text editor
- skeptrune 3y agoMan, I really should revisit whether or not TinyMCE is still the best open source option
- be_erik 3y agoQuill is already over 10 years old! I've deployed it in multiple applications with a lot of success.
- b33j0r 3y agoWhat a journey. Used it in production when I just needed arbitrary richtext documents in whole. 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.
- ulrischa 3y agoI really like to hear about experience with Editor.js. It looks like the most modern editor but seems complicated. Is this true?
- mati365 3y agoWhat about CKeditor?
- bklyn11201 3y agoI much prefer to CKEditor to TinyMCE, but CKEditor has done a lot around licensing: https://ckeditor.com/legal/ckeditor-oss-license/ 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.
- romanhn 3y agoTinyMCE 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).
- mbesto 3y agoCurious - whats the real life implication of using GPL in this case?
- romanhn 3y agoI'm not a lawyer, but it is my understanding that using a GPL library on the frontend triggers the "distrubution to users" clause of GPL. It's a strong copyleft license, turning the entire frontend portion of the application GPL-licensed, which means any user can now request the source code for it. That's an IP risk for any commercial code, and many companies shy away from GPL. Backend use of GPL should be fine since there's no distrubution (AGPL "fixes" this, and such libraries should just be avoided in commercial settings).
- davidkellis 3y agoAt 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/ https://slab.com/blog/announcing-quill-2-0/ ). Thank you for the heads-up!
- dwallin 3y agoYeah, I think this link and title would be a better entry point into the topic.
- blain 3y agoThis 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.
- jackconsidine 3y agoI 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? [0] https://news.ycombinator.com/item?id=40044544 https://news.ycombinator.com/item?id=40044544
- romanhn 3y agoYou can self-host without an API key. Unfortunately they just switched to the GPL license, which may or may not work for you.
- ulrischa 3y agoLooks promising but I do not see advanced customization examples like a widget or dialogs to insert custom html elements
- toddmorey 3y agoThis 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.
- claytongulick 3y agoI developed a project that went deep into quill and its capabilities. 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.
- toddmorey 3y agoThat's awesome news! Will have to investigate the renderer plugin model.
- ramon156 3y agoFunny, I'm using quill.js + tribute for a project last week
- dang 3y agoRelated. Others? Announcing Quill 1.0 - https://news.ycombinator.com/item?id=12437345 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 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 https://news.ycombinator.com/item?id=7716376 - May 2014 (60 comments)
- enraged_camel 3y agoThis announcement is for version 2, which I think was released a few days ago.
- deleted 3y ago[deleted]
- toddmorey 3y agoKudos 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. [1] https://quilljs.com/docs/why-quill https://quilljs.com/docs/why-quill
- QualmsAplenty 3y ago[dead]
- ikesau 3y ago[flagged]
- robertlagrant 3y agoJust a small bug report: 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.
- crowcroft 3y agoAm I crazy for having an obnoxiously strong opinion about how return should be handled by text editors? 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.
- dbalatero 3y agoThat seems correct to me!
- jdthedisciple 3y agoNo, you are 100% correct.
- oneeyedpigeon 3y agoTotally agree - even that "shift+" support makes me nervous, but I'd probably concede it! The "<p><br></p> in the Quill example looks... awkward.
- hombre_fatal 3y agoIt 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.
- rodface 3y agoIf I am reading this correctly then it resembles the behavior of the Confluence/JIRA text input windows.
- nathancahill 3y ago
- majormunky 3y agoAt 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.
- joeriddles 3y agoSounds like an interesting system :)
- guessmyname 3y agoWhat does “trusted by” actually means? A friend of mine works at Microsoft and they have never heard of this project. • 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)?
- eropple 3y agoQuill's an extremely well-known JavaScript rich text editing control, not an "app". Were you confused by the example at the top of the landing page? Your friend might not have heard of it, but I'd be more surprised if Microsoft didn't have significant projects using it because it's so well-established. And having large adopters of an open-source library featured on the landing page is not unusual. I'm unclear as to what there deserves this kind of accusatory posturing.
- gremlinunderway 3y agoI don't think there was anything "accusatory", it's a legitimate question.
- aprilnya 3y agoThe comment reads like it’s being accusatory to me
- throw10920 3y ago> 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.
- 3y ago
- christkv 3y agoQuill or Slate is the question im asking myself these days.
- eropple 3y agoI've used Quill before, but I have Editor.js, Slate, and Tiptap2 on my to-do list to check out, probably for similar reasons as yours.
- christkv 3y agoProblem i got is that i have to be able to support html documents from old tinymce as well as being suitable for use with collaborative editing with something like ys.js. I might just have to bite the bullet and write a html to some other representation parser.
- rnewme 3y ago- https://discuss.prosemirror.net/t/prosemirror-for-live-editing-webpages/2709 https://discuss.prosemirror.net/t/prosemirror-for-live-editi... - https://prosemirror.net/examples/collab/#edit-1 https://prosemirror.net/examples/collab/#edit-1 - https://docs.yjs.dev/ecosystem/editor-bindings/prosemirror https://docs.yjs.dev/ecosystem/editor-bindings/prosemirror
- _boffin_ 3y agoCheck out write-down.
- rnewme 3y agoNeither, use prosemirror.
- kabes 3y agoI think lexical is the future
- rnewme 3y ago
- jjcm 3y agoRelease notes: https://github.com/quilljs/quill/releases/tag/v2.0.0 https://github.com/quilljs/quill/releases/tag/v2.0.0 Announcement post: https://slab.com/blog/announcing-quill-2-0/ 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.
- eropple 3y agoI'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.
- notresidenter 3y agoTiptap 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.
- wgj 3y agoI'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.
- robotburrito 3y agoFor a second there I thought this was https://quill.art/ https://quill.art/
- pmlnr 3y agoIs anyone aware of a word processor, text editor, whatever, that can handle HTML definition lists natively?
- netghost 3y agoProbably prosemirror. I don't know that it's built in by default, but it's well within prosemirror's model, so it shouldn't require a large investment to use. That said, prosemirror's got a pretty steep learning curve.
- notyoutube 3y agoIsn't the "flat markup" for inline elements in prosemirror kind of unnatural to work on html?
- bhl 3y agoNothing is built into ProseMirror except for the text span. 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.
- crabmusket 3y agoI'd really like a WYSIWYG editor that's designed to produce HTML documents. Not for web pages, but for documents. HTML has great prose features, but it seems like there's nothing in between Microsoft Word and "now you're building a website".
- oneeyedpigeon 3y agoI guess one of the many Markdown editors is what you're looking for, then you just need to add a build step at the end. Unless you need any of the 'document' features of html that aren't in md, of course.
- bachmeier 3y ago
- jacksonhacker 3y ago[dead]
- forgotacc240419 3y agoAn 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
- Recursing 3y agoI remember using https://github.com/facebook/lexical https://github.com/facebook/lexical for a project a year ago and mostly things worked our of the box. Any reason to prefer quill?
- barfard 3y ago[dead]
- bkyan 3y agoIs there support for CSS classes in Quill v2?
- nickbaum 3y agoYmmv, 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.) [1] https://github.com/quilljs/quill/issues/2435 https://github.com/quilljs/quill/issues/2435 [2] https://twitter.com/nickbaum/status/1177240103925796865 https://twitter.com/nickbaum/status/1177240103925796865
- fovc 3y agoNo 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.
- lukasb 3y agoCan anyone compare to Lexical?
- kabes 3y agoLexical is more of a framework comparable to prosemirror. Learning curve is therefore higher, but IMO way more flexible and better designed than quill.
- ulrischa 3y agoIs Gutenberg a good alternative these days?
- hulitu 3y agoNo download link, no mention of RTF. What "rich text editor" is that ?
- thih9 3y agoIs there a way to do nested bullet lists on mobile?
- aitchnyu 3y agoWhich 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.
- firecall 3y agoI'd honestly wondered if Quill had been abandoned! Great to see a release!
- J_Shelby_J 3y agoI 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. [1] https://github.com/easy-astro-blog-creator/easy-astro-blog-creator https://github.com/easy-astro-blog-creator/easy-astro-blog-c...
- bloopernova 3y agoThis looks perfect for a nascent guide I wanted to write, thank you for creating and sharing it!
- albert_e 3y agoSlightly off topic question: 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.
- sdfhbdf 3y agoTry WordPress, it’s not as bad as you think. Either the hosted version or on a php hosting which are cheap.
- lylo 3y agoTrix 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) https://trix-editor.org/ https://trix-editor.org/
- Alifatisk 3y agoThe style would be beautiful if you could remove the borders https://quilljs.com/playground/snow https://quilljs.com/playground/snow
- Blackarea 3y agoI just merged a bigger pr last week where I used quillv1. My feature was fairly straight forward - I added a DSL so that users could build custom filter expressions for our trace-data analysis (automotive). I wanted to be tight with my business logic so I added my own lexer, parser and grammar evaluation with neat compiler hints and such - was a joy. 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 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.