2 poin oleh GN⁺ 2024-04-20 | 1 komentar | Bagikan ke WhatsApp
  • Quill 2.0 adalah editor WYSIWYG open source gratis untuk web modern, yang memungkinkan fitur pengeditan teks kaya disematkan langsung ke dalam produk
  • Berdasarkan arsitektur modular dan API yang ekspresif, Anda dapat memulai dari inti dasar lalu menyesuaikan editor sesuai kebutuhan
  • Pengembang dapat mengakses konten, perubahan, dan event editor secara terperinci, dan dapat mengharapkan perilaku yang konsisten dengan penggunaan JSON untuk input dan output
  • Mendukung browser terbaru di desktop, tablet, dan ponsel, serta bertujuan memberikan perilaku dan HTML hasil yang sama di seluruh platform
  • Dapat diterapkan mulai dari proyek kecil hingga perusahaan Fortune 500, sehingga cocok untuk memulai dengan editor sederhana lalu berkembang seiring pertumbuhan produk

Quill 2.0 dan cara memulainya

  • Quill 2.0 telah dirilis, dan detail rilisnya dapat dilihat di posting pengumuman terpisah: Quill 2.0 is released!
  • Quill adalah editor WYSIWYG open source gratis yang dibuat untuk web modern
  • Contoh dasar membuat editor dengan memuat quill.snow.css dan quill.js dari CDN lalu menjalankan new Quill('#editor', ...)
    • Versi contoh adalah quill@2.0.3
    • modules.toolbar menetapkan #toolbar dan theme menggunakan snow
  • Anda dapat langsung menguji API di konsol pengembang browser

Kustomisasi dan cakupan penerapan

  • Quill dapat disesuaikan dengan kebutuhan melalui arsitektur modular dan API
  • Pengembang dapat mengakses konten, perubahan, dan event editor secara terperinci melalui API yang sederhana
  • Baik input maupun output menggunakan JSON untuk memberikan perilaku yang konsisten dan deterministik
  • Mendukung browser terbaru di desktop, tablet, dan ponsel, serta memberikan perilaku yang sama dan HTML hasil yang konsisten antarplatform
  • Dapat digunakan baik di proyek kecil maupun perusahaan Fortune 500, dimulai dari Quill core lalu disesuaikan atau diperluas sesuai kebutuhan
  • Jumlah GitHub Star tercantum sebagai 47,204

1 komentar

 
GN⁺ 2024-04-20
Komentar Hacker News
  • Di tempat kerja sebelumnya, saya pernah membuat sistem tempat pengguna memasukkan teks berformat ke kotak teks Quill, lalu menyimpannya ke database dalam format Delta
    Belakangan, anggota tim lain mengambil konten itu ke plugin InDesign, membaca format yang diterapkan di Quill, lalu menerapkannya kembali sebagai style di sisi InDesign
    Alurnya adalah staf front office memasukkan pengumuman hukum untuk koran, lalu tim produksi meneruskan pekerjaan siap cetak ke InDesign. Jika kami menyimpan HTML seperti kebanyakan editor, pekerjaan ini akan jauh lebih sulit, tetapi format Quill Delta membuatnya jauh lebih mudah
    Sudah beberapa tahun saya tidak mendengar atau memakai Quill, jadi senang melihatnya masih hidup

  • Catatan rilis: https://github.com/quilljs/quill/releases/tag/v2.0.0
    Tulisan pengumuman: https://slab.com/blog/announcing-quill-2-0/
    Saya cukup banyak memakai Quill; integrasinya mudah, format JSON Delta juga cukup bagus, dan strukturnya cenderung sederhana
    Namun setiap kali memakainya, saya terpikir, “Apa sebaiknya pakai ProseMirror saja?”
    Saat butuh fitur penyuntingan dengan cepat, Quill adalah solusi sementara yang bagus, tetapi ketika kebutuhan fitur itu makin besar, saya terus menghitung di kepala bahwa suatu saat akan perlu rencana migrasi

    • Akan bagus kalau tautan kiriman bisa diganti ke [1]. Soalnya, isinya sebenarnya tentang versi baru
      Di sisi lain, kadang saya bertanya-tanya mengapa editor teks berformat tidak bisa distandardisasi
      [1] https://slab.com/blog/announcing-quill-2-0/
    • Saya sedang melihat-lihat ProseMirror, terutama lewat tiptap2 yang tampaknya membungkusnya dengan baik
      Namun benar-benar pindah terasa berat, dan saya penasaran dengan pengalaman orang lain
    • Di tempat kerja, kami harus mengimplementasikan penyuntingan teks berformat, jadi kami meninjau beberapa opsi. Quill juga salah satu kandidat yang kami lihat di awal, tetapi akhirnya kami memilih ProseMirror
      Alasannya adalah sifatnya yang sangat low-level dan dokumentasinya yang luas; rasanya sedikit mengingatkan pada D3
      Setelah itu kami membuat node kustom, command kustom, toolbar kustom, mengintegrasikannya dengan Markdown dan plugin Markdown kustom, dan dengan sedikit glue code, ia juga cukup rapi dipasangkan dengan Vue
      Sejauh ini saya sangat puas dengan pilihan menggunakan ProseMirror
  • Saya tidak tahu apakah aneh kalau saya punya pendapat yang terlalu kuat tentang bagaimana tombol Return seharusnya ditangani di editor teks
    Dalam teks biasa, Return adalah baris baru; dalam teks berformat, Return seharusnya paragraf baru
    Kalau ingin baris baru, gunakan Shift+Return
    Di versi lama ini masalah besar, dan saya tidak tahu sekarang perilaku ini bisa dikustomisasi sejauh apa
    Saya mengakui terlalu memedulikan hal ini, tetapi TipTap cocok untuk saya

    • Konfigurasinya seharusnya mudah, tetapi saya tidak berpikir perilaku itu harus menjadi default
      Karena itu bukan perilaku yang lebih umum, dan hanya terjadi saat menekan Return pada jenis blok tertentu
      Shift+Return juga tidak bisa dipakai di mobile, dan menjengkelkan kalau harus tahu kombinasi tombol tersembunyi untuk mendapatkan perilaku yang diinginkan
      Editor berformat Reddit bekerja seperti ini, jadi saya sering bertengkar dengannya
      Pada akhirnya, itu hanya demi membuat pengguna tidak perlu menekan Return dua kali
      Saya paham kerapian dari selalu menjaga pengguna tetap di dalam paragraf dan membiarkan mereka secara eksplisit memilih ganti baris dengan Shift+Return, tetapi di ranah yang rumit seperti editor teks berformat, saya akan memprioritaskan pengalaman pengguna daripada kerapian
    • Sepenuhnya setuju. Bahkan dukungan Shift+ itu juga kurang meyakinkan, meski mungkin masih bisa saya kompromikan
      Penanganan paragraf di contoh Quill terlihat janggal
    • Kalau saya membacanya dengan benar, ini tampaknya mirip dengan perilaku kolom input teks Confluence/JIRA
  • Dokumentasinya bagus. Akan menyenangkan jika semua proyek open source punya halaman seperti “Why Quill”[1], karena itu membantu cepat memahami filosofi proyek dan apakah sesuai dengan tujuan saya
    Lebih bagus lagi kalau ada semacam “Why Not Quill”, sehingga kita bisa cepat tahu dalam situasi apa ia tidak cocok
    Semua proyek punya trade-off, jadi menyampaikannya secara langsung dan jelas akan memberi pengguna pengalaman yang lebih baik
    [1] https://quilljs.com/docs/why-quill

  • Dari tautannya saja tidak jelas, tetapi sepertinya ini muncul karena v2 dirilis 3 hari lalu
    Sampai belum lama ini saya mengerjakan Quill v1, dan itu cukup tidak menyenangkan
    Membuat tabel bekerja dengan plugin juga menyakitkan, dan ada masalah scrolling yang aneh
    Saya berharap v2 memperbaiki banyak hal, tetapi dari sisi fitur saya akan terus memakai TinyMCE yang lebih baik

    • Saya juga suka TinyMCE, jadi 6 bulan lalu saya mengganti editor Quill dengan TinyMCE
      Namun saya kesal karena meskipun situs memakai JS statis, tetap perlu API key, dan beberapa hari lalu mereka juga dengan cepat mengurangi “penggunaan” rendering editor di tier gratis, yang terasa merepotkan [0]
      Saya penasaran apakah itu tidak menjadi masalah
      [0] https://news.ycombinator.com/item?id=40044544
  • Awalnya saya tidak mengerti mengapa Quill muncul lagi, tetapi sekarang saya tahu bahwa versi 2.0 yang sudah lama ditunggu dirilis 3 hari lalu
    Lihat https://slab.com/blog/announcing-quill-2-0/

    • Saya rasa tautan dan judul ini adalah titik masuk yang lebih baik untuk topik ini
  • Saya pernah sangat terkena masalah di proyek lama karena menggunakan Quill
    Secara pribadi, masalahnya adalah kami tidak cukup meninjau batasan editor dibandingkan kebutuhan proyek, tetapi cara dokumentasi menekankan ekstensibilitas library juga tampak bisa menimbulkan kerugian
    Jika tetap berada dalam batasannya, ini library yang bagus. Misalnya, sebaiknya hindari hal-hal yang terlalu rumit seperti konten bertingkat
    Akan cukup membantu kalau di situs web ada bagian seperti “Why You Should NOT Use Quill?”

  • Tergantung kasusnya, tetapi saya tidak berniat memakai Quill lagi di proyek produksi
    Saya mulai memakai Quill 1.x sekitar 2016 dan awalnya cukup menyukainya
    Ketika saya men-tweet bahwa saya sedang mengevaluasi Quill, Jason lebih dulu menghubungi saya, dan juga membantu menjawab pertanyaan terkait implementasi
    Pada 2019 saya mengalami beberapa bug, Quill 1.x berada dalam mode maintenance, dan 2.0 praktis tidak punya dokumentasi [1]
    Saya menghubungi Jason di Twitter untuk mendapatkan gambaran jadwal [2], tetapi pada dasarnya mendapat jawaban seperti disuruh enyah
    Perusahaannya, Slab, sekarang juga memblokir saya di Twitter, meski mungkin itu sebenarnya dimaksudkan untuk memblokir dari akun pribadinya
    Kalau sedang membangun startup, siapa pun bisa punya hari-hari penuh stres, jadi mungkin waktu saya menghubunginya memang kurang tepat
    Dugaan saya, ia sedang berfokus pada perusahaannya sendiri, dan meski masih punya sedikit waktu untuk mempertahankan Quill demi penggunaan internal, hampir tidak ada kelonggaran untuk merilisnya sebagai open source. Kalau memang begitu, saya berharap ia mengatakannya dengan jujur saja
    Lima tahun kemudian Quill v2 akhirnya keluar, dan saya senang Slab masih bertahan
    Saya berharap ke depannya mereka punya kapasitas untuk memelihara Quill secara publik, tetapi jika ingin memakainya di produksi, sebaiknya pastikan seberapa besar komitmen dukungannya, dan siapkan juga rencana kalau respons terhenti
    Jika Jason ada di thread ini, tidak ada perasaan buruk; itu sudah lewat. Silakan abaikan atau tambahkan sudut pandang Anda
    [1] https://github.com/quilljs/quill/issues/2435
    [2] https://twitter.com/nickbaum/status/1177240103925796865

    • Saya tidak punya pengalaman terkait Jason, tetapi saya menghabiskan terlalu banyak waktu membaca kode Quill untuk membuat patch workaround atas perilaku aneh
      Yang membuatnya lebih menjengkelkan, alasan memakai library editor rich text alih-alih membuat sendiri justru untuk menghindari hal seperti itu
      Saya tidak tahu v2, tetapi struktur kode v1 tidak terlalu tertata dengan baik
      Ada juga fitur-fitur dasar yang implementasinya saya tunda karena takut muncul sejuta bug kecil
      Hal terbaik dari Quill jelas adalah format Delta
      Namun untuk siapa pun yang menginginkan lebih dari sekadar bold/underline/italic, saya akan merekomendasikan ProseMirror
  • Tulisan terkait. Apakah ada lagi?
    Announcing Quill 1.0 - https://news.ycombinator.com/item?id=12437345 - September 2016, 82 komentar
    Quill – A cross browser rich text editor with an API - https://news.ycombinator.com/item?id=10446865 - Oktober 2015, 47 komentar
    Quill – An Open Source Rich Text Editor with an API - https://news.ycombinator.com/item?id=7716376 - Mei 2014, 60 komentar

    • Pengumuman kali ini tentang versi 2, yang tampaknya dirilis beberapa hari lalu
  • Saya ingat pernah memakai https://github.com/facebook/lexical di sebuah proyek sekitar setahun lalu, dan sebagian besar langsung bekerja dengan baik
    Apakah ada alasan untuk lebih memilih Quill?