[HN Gopher] Quill v2 - Rich text editor
       ___________________________________________________________________
        
       Quill v2 - Rich text editor
        
       Author : ulrischa
       Score  : 199 points
       Date   : 2024-04-19 17:17 UTC (5 hours ago)
        
 (HTM) web link (quilljs.com)
 (TXT) w3m dump (quilljs.com)
        
       | skeptrune wrote:
       | Man, I really should revisit whether or not TinyMCE is still the
       | best open source option
        
         | be_erik wrote:
         | Quill is already over 10 years old! I've deployed it in
         | multiple applications with a lot of success.
        
           | b33j0r wrote:
           | What 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 wrote:
             | I really like to hear about experience with Editor.js. It
             | looks like the most modern editor but seems complicated. Is
             | this true?
        
         | mati365 wrote:
         | What about CKeditor?
        
           | bklyn11201 wrote:
           | I much prefer to CKEditor to TinyMCE, but CKEditor has done a
           | lot around licensing:
           | 
           | 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 wrote:
         | 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).
        
       | davidkellis wrote:
       | 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!
        
         | dwallin wrote:
         | Yeah, I think this link and title would be a better entry point
         | into the topic.
        
       | blain wrote:
       | 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.
        
       | ulrischa wrote:
       | Looks promising but I do not see advanced customization examples
       | like a widget or dialogs to insert custom html elements
        
         | toddmorey wrote:
         | 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.
        
           | claytongulick wrote:
           | I 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 wrote:
             | That's awesome news! Will have to investigate the renderer
             | plugin model.
        
       | ramon156 wrote:
       | Funny, I'm using quill.js + tribute for a project last week
        
       | dang wrote:
       | Related. Others?
       | 
       |  _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 wrote:
         | This announcement is for version 2, which I think was released
         | a few days ago.
        
       | toddmorey wrote:
       | 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.
       | 
       | [1] https://quilljs.com/docs/why-quill
        
       | robertlagrant wrote:
       | Just 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 wrote:
       | Am 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 wrote:
         | That seems correct to me!
        
       | majormunky wrote:
       | 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.
        
       | guessmyname wrote:
       | What 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 wrote:
         | Quill'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 wrote:
           | I don't think there was anything "accusatory", it's a
           | legitimate question.
        
             | aprilnya wrote:
             | The comment reads like it's being accusatory to me
        
         | bearcobra wrote:
         | I believe the implication is that those companies uses the
         | library in their products to power rich text editing
        
         | al_borland wrote:
         | I've seen the company I work at show up on sites like this,
         | when I've been explicitly told we can't use whatever the thing
         | is.
         | 
         | 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.
        
         | pembrook wrote:
         | Considering the size of Microsoft and the hundreds/thousands of
         | teams building various things, I would guess that _most_ well
         | known open-source projects (like Quill) have been used by
         | Microsoft at some point.
         | 
         | I would be very surprised if no team there had used Quill
         | before.
        
       | christkv wrote:
       | Quill or Slate is the question im asking myself these days.
        
         | eropple wrote:
         | I'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 wrote:
           | Problem 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.
        
         | _boffin_ wrote:
         | Check out write-down.
        
       | jjcm wrote:
       | 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.
        
         | eropple wrote:
         | 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.
        
           | notresidenter wrote:
           | 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.
        
           | wgj wrote:
           | 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.
        
           | tbeseda wrote:
           | 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.
        
           | pembrook wrote:
           | 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.
        
             | amelius wrote:
             | I didn't know there was that much money in writing a rich
             | text editor ...
        
               | dubcanada wrote:
               | CKEditor and TinyMCE seem to be doing fine.
        
               | romanhn wrote:
               | Are they? Both have been acquired by the same holding
               | company.
        
         | ksec wrote:
         | 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/
        
       | robotburrito wrote:
       | For a second there I thought this was https://quill.art/
        
       | pmlnr wrote:
       | Is anyone aware of a word processor, text editor, whatever, that
       | can handle HTML definition lists natively?
        
       | forgotacc240419 wrote:
       | 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
        
       ___________________________________________________________________
       (page generated 2024-04-19 23:00 UTC)