Home
Softono

Vue Quill Editor

Open source MIT JavaScript
7.4K
Stars
1K
Forks
263
Issues
106
Watchers
2 years
Last Commit

 About Vue Quill Editor

@quilljs editor component for @vuejs(2)

Platforms

Web Self-hosted

Languages

JavaScript

Need Help Installing Vue Quill Editor?

We provide expert installation service for this software. Our team will install, configure, and secure Vue Quill Editor on your server. plans start at just $30.

Vue Quill Editor

View on GitHub

vue-quill-editor

vue   GitHub stars   GitHub issues   npm   license

Quill editor component for Vue(2).


DEPRECATED ‼️

Unfortunately, since the Quill project has effectively stopped being maintained, vue-quill-editor will be DEPRECATED and will no longer support Vue3; if you're looking for a rich text editor, I recommend migrating to tiptap, which is a much better alternative.

If Quill ever updates v2.0, this project will probably continue to be updated as well. I encourage folks to fork this repository and, if a fork gets popular, I will link to it in this README.

The stalled Quill project can be found in these issues:


Example

Documentation

Install

NPM

npm install vue-quill-editor --save
yarn add vue-quill-editor

CDN

<link rel="stylesheet" href="https://github.com/surmon-china/vue-quill-editor/blob/main/path/to/quill.core.css"/>
<link rel="stylesheet" href="https://github.com/surmon-china/vue-quill-editor/blob/main/path/to/quill.snow.css"/>
<link rel="stylesheet" href="https://github.com/surmon-china/vue-quill-editor/blob/main/path/to/quill.bubble.css"/>
<script type="text/javascript" src="https://raw.githubusercontent.com/surmon-china/vue-quill-editor/main/path/to/quill.js"></script>
<script type="text/javascript" src="https://raw.githubusercontent.com/surmon-china/vue-quill-editor/main/path/to/vue.min.js"></script>
<script type="text/javascript" src="https://raw.githubusercontent.com/surmon-china/vue-quill-editor/main/path/to/dist/vue-quill-editor.js"></script>
<script type="text/javascript">
  Vue.use(window.VueQuillEditor)
</script>

Usage

Global component

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor'

import 'quill/dist/quill.core.css' // import styles
import 'quill/dist/quill.snow.css' // for snow theme
import 'quill/dist/quill.bubble.css' // for bubble theme

Vue.use(VueQuillEditor, /* { default global options } */)

Local component

import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

import { quillEditor } from 'vue-quill-editor'

export default {
  components: {
    quillEditor
  }
}

SSR component

See Nuxt.js example code.

Register Quill module

import Quill from 'quill'
import yourQuillModule from '../yourModulePath/yourQuillModule.js'
Quill.register('modules/yourQuillModule', yourQuillModule)

// Vue app...

Component

<template>
  <!-- Two-way Data-Binding -->
  <quill-editor
    ref="myQuillEditor"
    v-model="content"
    :options="editorOption"
    @blur="onEditorBlur($event)"
    @focus="onEditorFocus($event)"
    @ready="onEditorReady($event)"
  />

  <!-- Or manually control the data synchronization -->
  <quill-editor
    :content="content"
    :options="editorOption"
    @change="onEditorChange($event)"
  />
</template>

<script>
  // You can also register Quill modules in the component
  import Quill from 'quill'
  import someModule from '../yourModulePath/someQuillModule.js'
  Quill.register('modules/someModule', someModule)
  
  export default {
    data () {
      return {
        content: '<h2>I am Example</h2>',
        editorOption: {
          // Some Quill options...
        }
      }
    },
    methods: {
      onEditorBlur(quill) {
        console.log('editor blur!', quill)
      },
      onEditorFocus(quill) {
        console.log('editor focus!', quill)
      },
      onEditorReady(quill) {
        console.log('editor ready!', quill)
      },
      onEditorChange({ quill, html, text }) {
        console.log('editor change!', quill, html, text)
        this.content = html
      }
    },
    computed: {
      editor() {
        return this.$refs.myQuillEditor.quill
      }
    },
    mounted() {
      console.log('this is current quill instance object', this.editor)
    }
  }
</script>

Issues

Quill Modules

Changelog

Detailed changes for each release are documented in the release notes.

License

Licensed under the MIT License.