2 पॉइंट द्वारा GN⁺ 2024-04-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Quill 2.0 आधुनिक वेब के लिए इस्तेमाल किया जा सकने वाला मुफ्त ओपन सोर्स WYSIWYG एडिटर है, जो प्रोडक्ट में रिच टेक्स्ट एडिटिंग फीचर सीधे जोड़ने देता है
  • मॉड्यूलर आर्किटेक्चर और expressive API के आधार पर, बेस कोर से शुरू करके आवश्यकताओं के अनुसार एडिटर को कस्टमाइज़ किया जा सकता है
  • डेवलपर्स एडिटर के कंटेंट, बदलावों और इवेंट्स तक बारीकी से पहुंच सकते हैं, और इनपुट व आउटपुट में JSON का उपयोग होने से एकसमान व्यवहार की उम्मीद कर सकते हैं
  • यह डेस्कटॉप, टैबलेट और मोबाइल के आधुनिक ब्राउज़रों को सपोर्ट करता है, और अलग-अलग प्लेटफ़ॉर्म पर एक जैसा व्यवहार और generated HTML देने का लक्ष्य रखता है
  • छोटे प्रोजेक्ट्स से लेकर Fortune 500 कंपनियों तक इसका उपयोग बढ़ाया जा सकता है, इसलिए साधारण एडिटर अपनाने के बाद प्रोडक्ट की वृद्धि के साथ इसे स्केल करना आसान है

Quill 2.0 और शुरुआत कैसे करें

  • Quill 2.0 जारी हो चुका है, और अलग घोषणा पोस्ट में रिलीज़ की जानकारी देखी जा सकती है: Quill 2.0 is released!
  • Quill आधुनिक वेब के लिए बनाया गया मुफ्त ओपन सोर्स WYSIWYG एडिटर है
  • बेसिक उदाहरण में CDN से quill.snow.css और quill.js लोड करने के बाद new Quill('#editor', ...) से एडिटर बनाया जाता है
    • उदाहरण का वर्ज़न quill@2.0.3 है
    • modules.toolbar में #toolbar सेट किया जाता है और theme के लिए snow इस्तेमाल होता है
  • ब्राउज़र डेवलपर कंसोल में API को सीधे आज़माया जा सकता है

कस्टमाइज़ेशन और उपयोग का दायरा

  • Quill मॉड्यूलर आर्किटेक्चर और API के जरिए आवश्यकताओं के अनुसार एडिटर को समायोजित किया जा सकता है
  • डेवलपर्स सरल API के साथ एडिटर के कंटेंट, बदलावों और इवेंट्स तक बारीकी से पहुंच सकते हैं
  • इनपुट और आउटपुट दोनों में JSON का उपयोग करके एकसमान और deterministic व्यवहार प्रदान किया जाता है
  • यह डेस्कटॉप, टैबलेट और मोबाइल के आधुनिक ब्राउज़रों को सपोर्ट करता है, और प्लेटफ़ॉर्म्स के बीच एक जैसा व्यवहार और generated HTML प्रदान करता है
  • इसका उपयोग छोटे प्रोजेक्ट्स और Fortune 500 कंपनियों दोनों में किया जा सकता है, और Quill core से शुरू करके ज़रूरत के अनुसार कस्टमाइज़ेशन या एक्सटेंशन जोड़े जा सकते हैं
  • GitHub Star की संख्या 47,204 दिखाई गई है

1 टिप्पणियां

 
GN⁺ 2024-04-20
Hacker News की राय
  • पिछली नौकरी में मैंने एक सिस्टम बनाया था जिसमें यूज़र Quill text box में rich text डालते थे, और उसे database में Delta format में सेव किया जाता था
    बाद में दूसरी टीम का सदस्य उस content को InDesign plugin में लाता था, Quill में लागू की गई formatting पढ़ता था और उसे InDesign-side styles के रूप में दोबारा लागू करता था
    flow यह था कि front-desk staff अखबार के legal notices डालता था और production team उन्हें InDesign में print-ready काम के लिए आगे बढ़ाती थी; अगर ज़्यादातर editors की तरह HTML सेव किया होता, तो यह काम कहीं ज़्यादा मुश्किल होता, लेकिन Quill Delta format ने इसे काफी आसान बना दिया
    कई सालों से Quill के बारे में सुना या इस्तेमाल नहीं किया था, इसलिए यह देखकर अच्छा लगा कि यह अब भी ज़िंदा है

  • Release notes: https://github.com/quilljs/quill/releases/tag/v2.0.0
    Announcement post: https://slab.com/blog/announcing-quill-2-0/
    मैंने Quill काफी इस्तेमाल किया है; इसे integrate करना आसान है, JSON Delta format भी काफी अच्छा है और structure भी अपेक्षाकृत सरल है
    हालांकि हर बार इस्तेमाल करते समय मन में आता है, “क्या बस ProseMirror ही इस्तेमाल करना चाहिए?”
    जब जल्दी editing feature चाहिए हो तो Quill अच्छा अस्थायी समाधान है, लेकिन जैसे ही उस feature की requirements बढ़ती हैं, दिमाग में लगातार यह हिसाब चलता रहता है कि कभी न कभी migration plan चाहिए होगा

    • अगर submission link को [1] में बदला जा सके तो अच्छा होगा। असल में content नई version के बारे में है
      दूसरी तरफ, कभी-कभी सोचता हूं कि rich text editor को standardize क्यों नहीं किया जा सकता
      [1] https://slab.com/blog/announcing-quill-2-0/
    • मैं ProseMirror देख रहा हूं, मुख्य तौर पर tiptap2 के ज़रिए, जो इसे अच्छी तरह wrap करता लगता है
      लेकिन सच में switch करना भारी लगता है, और दूसरों के अनुभव जानने की उत्सुकता है
    • काम पर rich text editing implement करनी थी, इसलिए कई options देखे; Quill भी शुरुआती candidates में था, लेकिन आखिर में ProseMirror चुना
      इसे चुनने की वजह इसका बहुत low-level होना और विशाल documentation थी, और यह कुछ-कुछ D3 जैसा महसूस हुआ
      इसके बाद custom nodes, custom commands, custom toolbar बनाए और Markdown व custom Markdown plugins के साथ integrate किया; थोड़े से glue code के साथ यह Vue से भी काफी साफ़ तरीके से जुड़ जाता है
      अब तक ProseMirror चुनने के फैसले से बहुत संतुष्ट हूं
  • पता नहीं text editor में Return key को कैसे handle करना चाहिए, इस पर मेरी राय ज़रूरत से ज़्यादा मजबूत होना अजीब है या नहीं
    plain text में Return नई line है, और rich text में Return नया paragraph होना चाहिए
    अगर नई line चाहिए तो Shift+Return इस्तेमाल करें
    पुराने versions में यह बड़ा issue था, और अब इस behavior को कितना customize किया जा सकता है, पता नहीं
    मानता हूं कि मैं इस बात को लेकर कुछ ज़्यादा ही परेशान रहता हूं, लेकिन TipTap मेरे लिए सही बैठा

    • configuration आसान होनी चाहिए, लेकिन मुझे नहीं लगता कि यह behavior default होना चाहिए
      क्योंकि यह ज़्यादा common नहीं है और सिर्फ कुछ खास block types में Return दबाने पर ही लागू होता है
      Shift+Return mobile पर भी इस्तेमाल नहीं किया जा सकता, और मनचाहा behavior पाने के लिए छिपा हुआ key combination जानना भी परेशान करने वाला है
      Reddit का rich editor इसी तरह है, इसलिए उससे अक्सर झगड़ा होता है
      आखिरकार यह सिर्फ इतना करने की कोशिश है कि Return दो बार न दबाना पड़े
      यूज़र को हमेशा paragraph के भीतर रखना और Shift+Return से explicit line break चुनवाने की साफ-सुथरी सोच समझ में आती है, लेकिन rich text editors जैसे मुश्किल क्षेत्र में मैं साफ-सुथरेपन से ज़्यादा user experience को प्राथमिकता दूंगा
    • पूरी तरह सहमत। यहां तक कि वह Shift+ support भी अस्थिर है, हालांकि शायद उस पर समझौता किया जा सकता है
      Quill example में paragraph handling अजीब लगती है
    • अगर मैंने सही पढ़ा है, तो यह Confluence/JIRA text input boxes के behavior जैसा लगता है
  • documentation शानदार है। काश हर open source project में “Why Quill”[1] जैसी page होती, ताकि project की philosophy और वह मेरे goals से मेल खाता है या नहीं, यह जल्दी समझ आ सके
    और भी अच्छा हो अगर “Why Not Quill” जैसा content भी हो, ताकि किन स्थितियों में यह सही fit नहीं है, जल्दी पता चल सके
    हर project trade-offs करता है, इसलिए उन्हें सीधे और स्पष्ट तरीके से बताने से users को बेहतर experience मिलता है
    [1] https://quilljs.com/docs/why-quill

  • सिर्फ link देखकर साफ़ नहीं है, लेकिन शायद इसलिए post हुआ है क्योंकि 3 दिन पहले v2 release हुआ है
    कुछ समय पहले तक मैंने Quill v1 पर काम किया था और experience अच्छा नहीं था
    plugin के ज़रिए tables चलाना भी दर्दनाक था, और अजीब scrolling issues भी थे
    उम्मीद है v2 ने बहुत कुछ ठीक किया होगा, लेकिन features के लिहाज़ से बेहतर TinyMCE इस्तेमाल करना जारी रखूंगा

    • मुझे TinyMCE भी पसंद है, इसलिए 6 महीने पहले Quill editor को TinyMCE से replace किया था
      लेकिन site पर static JS इस्तेमाल करने के बावजूद API key की ज़रूरत होना परेशान करने वाला था, और कुछ दिन पहले free tier में editor rendering “usage” को तेजी से घटा देना भी असुविधाजनक था [0]
      जानना चाहता हूं कि क्या वह आपके लिए problem नहीं है
      [0] https://news.ycombinator.com/item?id=40044544
  • पहले समझ नहीं आया कि Quill फिर से क्यों ऊपर आया है, लेकिन अब पता चला कि लंबे समय से इंतज़ार किया जा रहा 2.0 version 3 दिन पहले release हुआ था
    https://slab.com/blog/announcing-quill-2-0/ देखें

    • मुझे लगता है कि यह link और title topic में जाने के लिए बेहतर entry point हैं
  • पहले जिस प्रोजेक्ट पर काम किया था, उसमें Quill इस्तेमाल करने की वजह से बड़ा झटका लगा था
    निजी तौर पर, समस्या यह थी कि हमने प्रोजेक्ट की requirements की तुलना में editor की सीमाओं की पर्याप्त समीक्षा नहीं की थी, लेकिन जिस तरह documentation लाइब्रेरी की extensibility पर जोर देता है, वह भी नुकसान की वजह बन सकता है
    अगर इसकी सीमाओं के भीतर रहा जाए तो यह एक शानदार लाइब्रेरी है। उदाहरण के लिए nested content जैसी बहुत complex चीज़ों से बचना चाहिए
    वेबसाइट पर “Why You Should NOT Use Quill?” जैसा कोई सेक्शन हो तो काफ़ी मददगार होगा

  • मामला अलग-अलग हो सकता है, लेकिन मैं production project में Quill दोबारा इस्तेमाल नहीं करने वाला
    मैंने 2016 के आसपास Quill 1.x इस्तेमाल करना शुरू किया था और शुरुआत में यह मुझे काफ़ी पसंद आया
    जब मैंने ट्वीट किया कि मैं Quill evaluate कर रहा हूँ, तो Jason ने खुद पहले संपर्क किया और implementation से जुड़े सवालों में भी मदद की
    2019 तक मैं कुछ bugs झेल रहा था, Quill 1.x maintenance mode में था, और 2.0 के लिए practically कोई documentation नहीं था [1]
    timeline का अंदाज़ा लेने के लिए मैंने Twitter पर Jason से संपर्क किया [2], लेकिन जवाब लगभग “दफा हो जाओ” जैसा मिला
    उसकी कंपनी Slab ने भी अब मुझे Twitter पर block कर दिया है, शायद वह personal account से block करना चाहता था
    startup बना रहे हों तो किसी के भी stressful दिन हो सकते हैं, इसलिए हो सकता है कि मेरे संपर्क करने का timing खराब रहा हो
    मेरा अंदाज़ा है कि वह अपनी कंपनी पर focus कर रहा था, और Quill को internal use के लिए बस किसी तरह maintain करने का समय था, लेकिन open source के रूप में release करने की फुर्सत बहुत कम थी। अगर ऐसा था, तो बेहतर होता कि वह साफ़-साफ़ कह देता
    5 साल बाद आखिरकार Quill v2 आ गया है, और खुशी है कि Slab अभी भी चल रहा है
    उम्मीद है कि आगे Quill को publicly maintain करने की क्षमता होगी, लेकिन अगर आप इसे production में इस्तेमाल करना चाहते हैं, तो support को लेकर commitment कितना है यह ज़रूर जांचें, और response बंद हो जाए तो उसके लिए भी plan रखें
    अगर Jason इस thread में है, तो कोई बुरी भावना नहीं है, बात अब पुरानी हो चुकी है। चाहें तो ignore करें या अपना perspective जोड़ें
    [1] https://github.com/quilljs/quill/issues/2435
    [2] https://twitter.com/nickbaum/status/1177240103925796865

    • Jason से जुड़ा मेरा कोई experience नहीं है, लेकिन अजीब behavior को workaround patch करने के लिए Quill code पढ़ने में मैंने बहुत ज्यादा समय लगाया
      खुद बनाने के बजाय rich text editor library इस्तेमाल करने की वजह ही ऐसे कामों से बचना होती है, इसलिए यह और भी frustrating था
      v2 का नहीं पता, लेकिन v1 code की structure बहुत अच्छी तरह बनी हुई नहीं है
      कुछ basic features भी थे जिनकी implementation इसलिए टाली गई कि कहीं लाखों छोटे bugs न पैदा हो जाएँ
      Quill में सबसे अच्छी चीज़ साफ़ तौर पर Delta format है
      लेकिन जो लोग bold/underline/italic से ज्यादा चाहते हैं, उन्हें मैं ProseMirror recommend करूंगा
  • संबंधित posts। क्या और भी हैं?
    Announcing Quill 1.0 - https://news.ycombinator.com/item?id=12437345 - सितंबर 2016, 82 comments
    Quill – A cross browser rich text editor with an API - https://news.ycombinator.com/item?id=10446865 - अक्टूबर 2015, 47 comments
    Quill – An Open Source Rich Text Editor with an API - https://news.ycombinator.com/item?id=7716376 - मई 2014, 60 comments

    • यह announcement version 2 के बारे में है, जो लगता है कुछ दिन पहले release हुआ था
  • याद है कि करीब 1 साल पहले एक project में https://github.com/facebook/lexical इस्तेमाल किया था, और ज़्यादातर चीज़ें सीधे ठीक काम कर रही थीं
    Quill को prefer करने की कोई वजह होगी?