Quill v2 zengin metin editörü yayımlandı
(quilljs.com)- 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
- Açık kaynak deposu: slab/quill
- Dokümantasyon: Documentation
- Temel örnekte CDN'den
quill.snow.cssvequill.jsyüklenir, ardındannew Quill('#editor', ...)ile editör oluşturulur- Örnek sürüm
quill@2.0.3 modules.toolbariçin#toolbarbelirtilir vethemeolaraksnowkullanılır
- Örnek sürüm
- 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
- Modül dokümantasyonu: modular architecture
- API dokümantasyonu: API
- 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
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.
Ö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/
Ama gerçekten geçmek göz korkutuyor; başkalarının deneyimlerini merak ediyorum.
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.
Çü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.
Quill örneğindeki paragraf işleme garip görünüyor.
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.
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/
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
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
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ı?