cover for Menambahkan Custom HTML Tag Module - Quill.js

Menambahkan Custom HTML Tag Module - Quill.js

Tutorial menambahkan custom HTML tag pada Quill.js

No
View(s)
{{ readingTime }}
Waktu baca
21 Juni, 2022
28 Mei, 2025
Share this blog
Support me on
Daftar Blog Menambahkan Custom HTML Tag Module - Quill.js

Quill.js merupakan salah satu dari WYSIWYG (What You See Is What You Get) text editor yang dapat kamu gunakan secara gratis.


Quill.js secara default menyediakan beberapa modul yang langsung dapat digunakan, seperti Bold, italic, underline, striketrhough, dan banyak lainnya.


Modul-modul ini membungkus teks yang dipilih dengan menggunakan tag HTML yang telah ada sebelumnya.


Pada tutorial kali ini akan dijelaskan bagaimana cara menambahkan modul kustom yang dapat membungkus teks dengan menggunakan tag HTML kustommu sendiri.


Cara Menginstal Quill.js

Kamu dapat menggunakan Quill.js dengan membaca dokumentasinya pada website Quill.js atau kamu dapat menambahkan kode di bawah ini pada file proyekmu.

<!-- Menambahkan style Quill.js -->
<link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">

<!-- Membuat container toolbar -->
<div id="toolbar">
  <button class="ql-bold">Bold</button>
  <button class="ql-italic">Italic</button>
</div>

<!-- Membuat editor container -->
<div id="editor">
  <p>Hello World!</p>
</div>

<!-- Menambahkan library Quill.js -->
<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>

<!-- Inisialisasi editor Quill -->
<script>
  var editor = new Quill('#editor', {
    modules: { toolbar: '#toolbar' },
    theme: 'snow',
  })
</script>


ADVERTISEMENT

Cara Menambahkan Toolbar Quill.js

Kamu bisa menambahkan toolbar dengan cara berikut.

var toolbarOptions = [
  ['bold', 'italic', 'underline', 'strike'],
  ['blockquote', 'code-block'],
  [{ header: 1 }, { header: 2 }],
  [{ list: 'ordered' }, { list: 'bullet' }],
  [{ script: 'sub' }, { script: 'super' }],
  [{ indent: '-1' }, { indent: '+1' }],
  [{ direction: 'rtl' }], // text direction           
  [{ size: ['small', false, 'large', 'huge'] }],
  [{ header: [2, 3, 4, 5, 6, false] }],               
  [{ color: [] }, { background: [] }],
  [{ font: [] }],
  [{ align: [] }],
  ['link', 'image', 'video'],
  ['formula'],
  ['clean']
]

var options = {
  modules: {
    toolbar: toolbarOptions,
  },
  placeholder: 'Compose an epic..',
  theme: 'snow',
}

var editor = new Quill('#editor', options)


Membuat Tag HTML Kustom

Pertama-tama kita akan mengimport blot inline dengan cara berikut.

let Inline = Quill.import('blots/inline')


Kemudian buat kelas baru dan extend blot inlinenya.

class myTag extends Inline { }
myTag.blotName = 'custom-tag'
myTag.tagName = 'custom-tag'


Selanjutnya register kelas yang telah dibuat tadi ke Quill dengan cara berikut.

Quill.register(myTag)


Kemudian inisialisasikan Quill dengan modul baru yang telah dibuat dengan cara berikut.

var toolbarOptions = [
  ['bold', 'italic', 'underline', 'strike'],
  ['blockquote', 'code-block'],
  [{ header: 1 }, { header: 2 }],
  [{ list: 'ordered' }, { list: 'bullet' }],
  [{ script: 'sub' }, { script: 'super' }],
  [{ indent: '-1' }, { indent: '+1' }],
  [{ direction: 'rtl' }], // text direction           
  [{ size: ['small', false, 'large', 'huge'] }],
  [{ header: [2, 3, 4, 5, 6, false] }],               
  [{ color: [] }, { background: [] }],
  [{ font: [] }],
  [{ align: [] }],
  ['link', 'image', 'video'],
  ['formula'],
  ['clean'],
  ['custom-tag'] // tag kustom
]

var options = {
modules: {
    toolbar: toolbarOptions,
  },
  placeholder: 'Compose an epic..',
  theme: 'snow',
}

var editor = new Quill('#editor', options)


Pada saat inisialisasi, tombol custom-tag tidak akan terlihat apa-apa di toolbar Quill alias invisible karena hanya berupa tombol tanpa teks. Bagaimana cara mengatasinya ?


Tombol custom-tag memiliki sebuah atribut kelas .ql-custom-tag. Dengan menggunakan atribut kelas tersebut, kita akan menambahkan properti content pada pseudo elemennya dengan cara berikut.

.ql-custom-tag {
  width: auto;
}

.ql-custom-tag::after {
  content: 'Custom Tag';
}


Tampilan custom tool


ADVERTISEMENT

Tautan Referensi

Blog Yang Mirip

Beberapa blog yang mirip dengan blog Menambahkan Custom HTML Tag Module - Quill.js
Tutorial mengenai bagaimana cara meng-blacklist format-format tertentu dari Quill.js
Tutorial membuat read progress indikator pada halaman artikel web menggunakan jQuery
Tutorial mengenai bagaimana cara menambahkan background pada GIF dengan menggunakan Sharp.js
Tutorial bagaimana cara membuat event handler jQuery untuk elemen HTML yang ditambahkan secara dinamis
Bagaimana cara menghitung tagihan bulanan PLN pascabayar
ADVERTISEMENT
ADVERTISEMENT

Mau Cari Blog Yang Lain?

Cari blog lain di sini

Konten Yang Mirip

Konten yang mirip dengan konten ini

Cara Meng-Blacklist Format Tertentu dari Quill.js cover image
Tutorial mengenai bagaimana cara meng-blacklist format-format tertentu dari Quill.js
15 Juni, 2025
No View(s)
Cara Membuat Indikator Progres Membaca Artikel Web - jQuery cover image
Tutorial membuat read progress indikator pada halaman artikel web menggunakan jQuery
28 Mei, 2025
No View(s)
Cara Menambahkan Background Pada GIF Menggunakan Sharp.js cover image
Tutorial mengenai bagaimana cara menambahkan background pada GIF dengan menggunakan Sharp.js
08 Juni, 2025
No View(s)
Cara Menggunakan Event Handler jQuery untuk Elemen Dinamis cover image
Tutorial bagaimana cara membuat event handler jQuery untuk elemen HTML yang ditambahkan secara dinamis
28 Mei, 2025
No View(s)
Cara Hitung Tagihan Bulanan PLN Pascabayar cover image
Bagaimana cara menghitung tagihan bulanan PLN pascabayar
29 Juni, 2025
2 View(s)

Mungkin Kamu Juga Suka

Konten yang mungkin kamu juga suka

Cara Install Aseprite di Windows Gratis cover image
Tutorial mengenai bagaimana cara meng-install Aseprite di OS Windows secara gratis
22 Juni, 2025
No View(s)
Ikutan Game Jam Lagi cover image
Cerita pengalaman ikut game jam lagi dan mendapatkan hasil yang tidak disangka-sangka
03 Juni, 2025
No View(s)
Pengalaman Pertama Ikut Game Jam cover image
Cerita pengalaman selama mengikuti game jam untuk pertama kali
03 Juni, 2025
No View(s)
Cara Resize Pixel Art Agar Tidak Buram Menggunakan Sharp.js cover image
Tutorial mengenai bagaimana cara me-resize pixel art agar tidak buram dan jernih ketika menggunakanSharp.js
01 Juni, 2025
No View(s)
Daftar Guild Key Quest dan Urgent Quest - Monster Hunter Portable 3rd cover image
Daftar guild key quest dan urgent quest yang diperlukan untuk menaikkan HR pada game Monster Hunter Portable 3rd
28 Mei, 2025
5 View(s)

Konten Lainnya

Konten lainnya yang bisa kamu jelajahi

Blog Informatif

Blog illustration

Baca-baca blog topik random. Ada berbagai macam topik random yang tersedia, seperti game, pemrograman, dan banyak lagi. Mungkin terlalu random.

Telusuri Semua Blog Atau cari di Blog

Resource Gratis

Resource illustration

Di sini tersedia berbagai macam resource yang bisa kamu download secara gratis. Untuk saat ini tersedia pixel arts.

Telusuri Semua Resource Atau cari di Resource

Online Tools

Tool illustration

Tool untuk mempermudah pekerjaanmu. Mau mendapatkan angka acak? Kamu bisa pakai Random Number Generator. Mau menghitung berat badan idealmu? Kamu bisa pakai BMI Calculator. Di sini tersedia berbagai macam tool yang bisa kamu gunakan secara gratis.

Telusuri Semua Tool Atau cari di Tool

Game Sederhana

Game illustration

Bosan? Bingung mau ngapain? Ayo main game-game sederhana, seperti Tic Tac Toe, Simple Math, dan semacamnya.

Telusuri Semua Game Atau cari di Game

Daftar Singkatan

Abbreviation illustration

Mungkin kamu pernah dengar atau lihat sebuah kata yang cukup asing, seperti YGY, GG, dan lainnya. Di sini, kamu bisa cari tahu apa sih arti dari kata-kata tersebut. Selain itu, kamu juga bisa mencari tahu mengenai abreviasi/singkatan lainnya yang mungkin kamu belum tahu sebelumnya di koleksi abreviasi yang sudah dikumpulkan.

Telusuri Semua Abbreviation Atau cari di Abbreviation