Logo
Quill is an, open source WYSIWYG editor built for the modern web. With its modular architecture and expressive API, it is completely customizable to fit any need.
For more info please visit the plugin's Demo Pageor Github Repo.

Basic Demo

Compose a message

                            <div class="card card-custom">
                                <div class="card-header">
                                    <h3 class="card-title">
                                        Basic Demo
                                    </h3>
                                </div>
                                <div class="card-body">
                                    <div id="kt_quil_1" style="height: 325px">
                                        Compose a message
                                    </div>
                                </div>
                            </div>
                

                            // Class definition
                            var KTQuilDemos = function() {

                                // Private functions
                                var demo1 = function() {
                                    var quill = new Quill('#kt_quil_1', {
                                        modules: {
                                            toolbar: [
                                                [{
                                                    header: [1, 2, false]
                                                }],
                                                ['bold', 'italic', 'underline'],
                                                ['image', 'code-block']
                                            ]
                                        },
                                        placeholder: 'Type your text here...',
                                        theme: 'snow' // or 'bubble'
                                    });
                                }

                                return {
                                    // public functions
                                    init: function() {
                                        demo1();
                                        demo2();
                                    }
                                };
                            }();

                            jQuery(document).ready(function() {
                                KTQuilDemos.init();
                            });

                            

Auto Save

Compose a message

                            <div class="card card-custom">
                                <div class="card-header">
                                    <h3 class="card-title">
                                        Auto Save
                                    </h3>
                                </div>
                                <div class="card-body">
                                    <div id="kt_quil_2" style="height: 325px">
                                        Compose a message
                                    </div>
                                </div>
                            </div>
                

                            // Class definition
                            var KTQuilDemos = function() {

                                // Private functions
                                var demo2 = function() {
                                    var Delta = Quill.import('delta');
                                    var quill = new Quill('#kt_quil_2', {
                                        modules: {
                                            toolbar: true
                                        },
                                        placeholder: 'Type your text here...',
                                        theme: 'snow'
                                    });

                                    // Store accumulated changes
                                    var change = new Delta();
                                    quill.on('text-change', function(delta) {
                                        change = change.compose(delta);
                                    });

                                    // Save periodically
                                    setInterval(function() {
                                        if (change.length() > 0) {
                                            console.log('Saving changes', change);
                                            /*
                                            Send partial changes
                                            $.post('/your-endpoint', {
                                            partial: JSON.stringify(change)
                                            });

                                            Send entire document
                                            $.post('/your-endpoint', {
                                            doc: JSON.stringify(quill.getContents())
                                            });
                                            */
                                            change = new Delta();
                                        }
                                    }, 5 * 1000);

                                    // Check for unsaved data
                                    window.onbeforeunload = function() {
                                        if (change.length() > 0) {
                                            return 'There are unsaved changes. Are you sure you want to leave?';
                                        }
                                    }
                                }

                                return {
                                    // public functions
                                    init: function() {
                                        demo2();
                                    }
                                };
                            }();

                            jQuery(document).ready(function() {
                                KTQuilDemos.init();
                            });

                            

User Profile 15 messages

Recent Notifications

Important Notice

Lorem Ipsum is simply dummy text of the printing and industry.

System Update

There are many variations of passages of Lorem Ipsum available.

Server Maintenance

Contrary to popular belief, Lorem Ipsum is not simply random text.

DB Migration

If you are going to use a passage of Lorem Ipsum, you need.

System Messages
09:30 AM

To start a blog, think of a topic about and first brainstorm ways to write details

2:45 PM

To start a blog, think of a topic about and first brainstorm ways to write details

3:12 PM

To start a blog, think of a topic about and first brainstorm ways to write details

7:05 PM

To start a blog, think of a topic about and first brainstorm ways to write details

Notifications
Pic
Marcus Smart UI/UX, Art Director
+65%
AH
Andreas Hawks Python Developer
+23%
SC
Sarah Connor HTML, CSS. jQuery
-34%
Pic
Amanda Harden UI/UX, Art Director
+72%
SR
Sean Robbins UI/UX, Art Director
+65%
JT
Jason Tatum ASP.NET Developer
+139%

Privacy Settings:

After you log in, you will be asked for additional information to confirm your identity.

Security Settings:

After you log in, you will be asked for additional information to confirm your identity. For extra security, this requires you to confirm your email. Learn more.

Select A Demo

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9