2 puan yazan GN⁺ 2024-04-20 | 1 yorum | WhatsApp'ta paylaş
  • Quill 2.0, modern web için kullanılabilen ücretsiz açık kaynaklı bir WYSIWYG editörü olup, zengin metin düzenleme özelliklerini doğrudan ürününüze eklemenizi sağlar
  • Modüler mimari ve ifade gücü yüksek bir API üzerine kurulu olduğundan, temel çekirdekten başlayıp gereksinimlerinize göre editörü özelleştirebilirsiniz
  • Geliştiriciler editörün içeriğine, değişikliklerine ve olaylarına ayrıntılı şekilde erişebilir; giriş ve çıkışta JSON kullanıldığı için tutarlı davranış beklenebilir
  • Masaüstü, tablet ve telefonlardaki modern tarayıcıları destekler ve platformlar genelinde aynı davranışı ve üretilen HTML'yi sunmayı hedefler
  • Küçük projelerden Fortune 500 şirketlerine kadar genişleyebildiği için, basit bir editör entegrasyonuyla başlayıp ürün büyüdükçe ölçeklendirmek için uygundur

Quill 2.0 ile nasıl başlanır

  • Quill 2.0 yayımlandı; sürüm ayrıntıları ayrı duyuru yazısında görülebilir: Quill 2.0 is released!
  • Quill, modern web için geliştirilmiş ücretsiz açık kaynaklı bir WYSIWYG editörüdür
  • Temel örnekte CDN'den quill.snow.css ve quill.js yüklenir, ardından new Quill('#editor', ...) ile editör oluşturulur
    • Örnek sürüm quill@2.0.3
    • modules.toolbar için #toolbar belirtilir ve theme olarak snow kullanılır
  • Tarayıcı geliştirici konsolunda API doğrudan denenebilir

Özelleştirme ve kullanım kapsamı

  • Quill, modüler mimari ve API sayesinde gereksinimlere uygun şekilde editörün ayarlanmasına olanak tanır
  • Geliştiriciler basit bir API ile editörün içeriğine, değişikliklerine ve olaylarına ayrıntılı erişim sağlayabilir
  • Hem girişte hem çıkışta JSON kullanarak tutarlı ve deterministik davranış sunar
  • Masaüstü, tablet ve telefonlardaki modern tarayıcıları destekler; platformlar arasında aynı davranışı ve üretilen HTML'yi sağlar
  • Hem küçük projelerde hem de Fortune 500 şirketlerinde kullanılabilir; Quill core ile başlayıp ihtiyaç oldukça özelleştirme veya ek genişletmeler yapılabilir
  • GitHub yıldız sayısı 47.204 olarak gösterilmektedir

1 yorum

 
GN⁺ 2024-04-20
Hacker News yorumları
  • Önceki işimde, kullanıcıların Quill metin kutusuna biçimli metin girdiği ve bunun veritabanına Delta biçiminde kaydedildiği bir sistem yapmıştım.
    Daha sonra başka bir ekip üyesi bu içeriği bir InDesign eklentisine aktarıp Quill’de uygulanan biçimlendirmeyi okuyarak InDesign tarafındaki stiller olarak yeniden uyguluyordu.
    Gazete yasal ilanlarını ön büro çalışanlarının girdiği, üretim ekibinin de işi InDesign’da baskıya hazırladığı bir akıştı; çoğu editör gibi HTML kaydetseydik çok daha zor olacak bu işi Quill Delta biçimi büyük ölçüde kolaylaştırmıştı.
    Quill’i yıllardır duymamış ya da kullanmamıştım; hâlâ yaşıyor olmasına sevindim.

  • Sürüm notları: https://github.com/quilljs/quill/releases/tag/v2.0.0
    Duyuru yazısı: https://slab.com/blog/announcing-quill-2-0/
    Quill’i epey kullandım; entegrasyonu kolay, JSON Delta biçimi de oldukça iyi ve yapısı da nispeten basit.
    Yine de her kullandığımda “acaba doğrudan ProseMirror mı kullansam?” diye düşünüyorum.
    Hızlıca düzenleme işlevi gerektiğinde Quill iyi bir geçici çözüm, ama bu işlevin gereksinimleri büyüdükçe bir gün geçiş planına ihtiyaç duyacağımı kafamda sürekli hesaplıyorum.

    • Gönderi bağlantısını [1] ile değiştirmek mümkün olsa iyi olurdu. Çünkü aslında konu yeni sürümle ilgili.
      Öte yandan bazen biçimli metin editörlerinin neden standartlaştırılamadığını merak ediyorum.
      [1] https://slab.com/blog/announcing-quill-2-0/
    • ProseMirror’a bakıyorum; çoğunlukla onu iyi sarmalıyor gibi görünen tiptap2 üzerinden inceliyorum.
      Ama gerçekten geçmek göz korkutuyor; başkalarının deneyimlerini merak ediyorum.
    • İşte biçimli metin düzenlemeyi uygulamamız gerektiği için birkaç seçeneği değerlendirdik; Quill de başta baktığımız adaylardan biriydi ama sonunda ProseMirror’ı seçtik.
      Seçme nedenimiz çok düşük seviyeli olması ve kapsamlı dokümantasyonuydu; biraz D3’ü çağrıştırıyordu.
      Sonrasında özel düğümler, özel komutlar, özel araç çubuğu yaptık; Markdown ve özel Markdown eklentileriyle entegre ettik. Biraz yapıştırıcı kodla Vue ile de oldukça temiz bağlanıyor.
      Şu ana kadar ProseMirror’ı seçmiş olmaktan çok memnunuz.
  • Metin editörlerinde Return tuşunun nasıl ele alınması gerektiği konusunda aşırı güçlü fikirlerimin olması garip mi bilmiyorum.
    Düz metinde Return yeni satırdır; biçimli metinde Return yeni paragraf olmalıdır.
    Yeni satır istiyorsanız Shift+Return kullanırsınız.
    Eski sürümde bu büyük bir sorundu; şimdi bu davranışın ne kadar özelleştirilebildiğini bilmiyorum.
    Bu konuya fazla takıldığımı kabul ediyorum ama TipTap bana uydu.

    • Ayarlaması kolay olmalı, ama bu davranışın varsayılan olması gerektiğini düşünmüyorum.
      Çünkü daha genel değil; yalnızca belirli blok türlerinde Return’a basıldığında devreye giriyor.
      Shift+Return mobilde de kullanılamıyor ve istenen davranışı elde etmek için gizli bir tuş kombinasyonunu bilmek zorunda olmak can sıkıcı.
      Reddit’in biçimli editörü bu şekilde olduğu için onunla sık sık boğuşuyorum.
      Sonuçta yalnızca Return’a iki kez basmak zorunda bırakmamaya çalışıyor.
      Kullanıcıyı her zaman paragraf içinde tutmanın ve Shift+Return ile açıkça satır sonu seçtirmeye zorlamanın temizliğini anlıyorum; ama biçimli metin editörü kadar çetrefilli bir alanda temizliğe değil kullanıcı deneyimine öncelik veririm.
    • Tamamen katılıyorum. Hatta o Shift+ desteği bile sallantılı, ama muhtemelen taviz verilebilir.
      Quill örneğindeki paragraf işleme garip görünüyor.
    • Doğru okuduysam Confluence/JIRA metin giriş kutularının davranışına benziyor.
  • Dokümantasyon harika. Keşke tüm açık kaynak projelerinde “Why Quill”[1] gibi bir sayfa olsa; projenin felsefesini ve hedeflerime uyup uymadığını hızlıca anlamak iyi olurdu.
    Daha da iyisi, “Why Not Quill” gibi bir içerik de olsa, hangi durumlarda iyi uymadığını hızlıca anlayabiliriz.
    Tüm projeler ödünleşimler yapar; bunları doğrudan ve net biçimde aktarmak kullanıcıya daha iyi bir deneyim sağlar.
    [1] https://quilljs.com/docs/why-quill

  • Yalnızca bağlantıya bakınca açık değil, ama muhtemelen v2 üç gün önce yayımlandığı için gündeme gelmiş.
    Kısa süre önce Quill v1 üzerinde çalıştım ve pek iyi değildi.
    Eklentiyle tabloları çalıştırmak da eziyetti, garip kaydırma sorunları da vardı.
    v2’nin bunların çoğunu düzeltmiş olmasını umuyorum, ama özellikler açısından daha iyi olan TinyMCE’yi kullanmaya devam etmeyi düşünüyorum.

    • TinyMCE’yi ben de seviyorum; 6 ay önce Quill editörünü TinyMCE ile değiştirdim.
      Ama sitede statik JS kullanmasına rağmen API anahtarı gerektirmesi canımı sıktı; birkaç gün önce ücretsiz katmandaki editör render “kullanımını” hızla düşürmeleri de rahatsız ediciydi [0].
      Bunun sorun olup olmadığını merak ediyorum.
      [0] https://news.ycombinator.com/item?id=40044544
  • İlk başta Quill’in neden tekrar gündeme geldiğini anlamadım; meğer uzun zamandır beklenen 2.0 sürümü 3 gün önce yayımlanmış.
    Bkz. https://slab.com/blog/announcing-quill-2-0/

    • Bu bağlantının ve başlığın konu için daha iyi bir giriş noktası olduğunu düşünüyorum.
  • Geçmişte üzerinde çalıştığım bir proje, Quill kullanımı yüzünden ciddi şekilde sıkıntı yaşamıştı
    Kişisel olarak sorun, editörün sınırlarının proje gereksinimleriyle karşılaştırılarak yeterince incelenmemiş olmasıydı; ancak dokümantasyonun kütüphanenin genişletilebilirliğini vurgulama biçimi de zarara yol açabilecek gibi görünüyordu
    Sınırları içinde kalındığında harika bir kütüphane. Örneğin iç içe içerik gibi aşırı karmaşık şeylerden kaçınmak gerekiyor
    Web sitesinde “Why You Should NOT Use Quill?” gibi bir bölüm olsa epey faydalı olurdu

  • Duruma göre değişir ama ben prodüksiyon projelerinde Quill’i bir daha kullanmayı düşünmüyorum
    2016 civarında Quill 1.x kullanmaya başladım ve başta oldukça hoşuma gitmişti
    Quill’i değerlendirdiğimi tweetlediğimde Jason önce kendisi iletişime geçti ve uygulama tarafındaki sorularımda da yardımcı oldu
    2019’a gelindiğinde bazı hatalarla karşılaşıyordum; Quill 1.x bakım modundaydı ve 2.0’ın pratikte dokümantasyonu yoktu [1]
    Takvim hakkında fikir edinmek için Twitter’da Jason’a ulaştım [2], ama fiilen “başının çaresine bak” denmiş gibi bir yanıt aldım
    Şirketi Slab de şu anda beni Twitter’da engellemiş durumda; belki de kişisel hesabından engellemek istemiş olabilir
    Bir startup kurarken herkesin stresli günleri olur; belki de iletişime geçtiğim zaman kötüydü
    Tahminimce kendi şirketine odaklanıyordu ve Quill’i dahili kullanım için zar zor sürdürecek zamanı olsa da açık kaynak olarak yayımlamaya pek vakti yoktu. Öyleyse keşke bunu açıkça söyleseydi
    5 yıl sonra Quill v2 sonunda çıktı ve Slab’in hâlâ ayakta olmasına sevindim
    Umarım bundan sonra Quill’i kamuya açık şekilde sürdürmeye yetecek kapasitesi olur; ancak prodüksiyonda kullanmayı düşünüyorsanız destek konusundaki taahhüdün ne düzeyde olduğunu kontrol etmeli ve yanıtların kesilmesi durumuna karşı da plan yapmalısınız
    Jason bu başlıktaysa, herhangi bir kırgınlığım yok; bunlar artık geride kaldı. İster görmezden gelebilir ister kendi bakış açısını ekleyebilir
    [1] https://github.com/quilljs/quill/issues/2435
    [2] https://twitter.com/nickbaum/status/1177240103925796865

    • Jason ile ilgili bir deneyimim yok ama garip davranışları yamayla aşmak için Quill kodunu okumaya gereğinden fazla zaman harcadım
      Zengin metin editörü kütüphanesi kullanmanın, doğrudan kendin yapmak yerine tam da böyle şeylerden kaçınmak için olduğunu düşününce bu daha da sinir bozucuydu
      v2’yi bilmiyorum ama v1 kodunun yapısı pek iyi kurulmuş değil
      Milyon tane küçük hata çıkmasın diye uygulamayı ertelediğim temel özellikler de oldu
      Quill’deki açık ara en iyi şey Delta formatı
      Ama kalın/altı çizili/italik ötesini isteyenlere ProseMirror’ı öneririm
  • İlgili yazılar. Başka var mı?
    Announcing Quill 1.0 - https://news.ycombinator.com/item?id=12437345 - Eylül 2016, 82 yorum
    Quill – A cross browser rich text editor with an API - https://news.ycombinator.com/item?id=10446865 - Ekim 2015, 47 yorum
    Quill – An Open Source Rich Text Editor with an API - https://news.ycombinator.com/item?id=7716376 - Mayıs 2014, 60 yorum

    • Bu duyuru, birkaç gün önce yayımlanmış gibi görünen sürüm 2 hakkında
  • Yaklaşık bir yıl önce bir projede https://github.com/facebook/lexical kullandığımı hatırlıyorum; çoğu şey doğrudan düzgün çalışmıştı
    Quill’i daha çok tercih etmek için bir neden var mı?