MCPcopy
hub / github.com/surmon-china/vue-quill-editor

github.com/surmon-china/vue-quill-editor @v3.0.6 sqlite

repository ↗ · DeepWiki ↗ · release v3.0.6 ↗
41 symbols 71 edges 17 files 0 documented · 0%
README

GitHub stars Build Status GitHub issues GitHub forks GitHub last commit license Twitter

NPM NPM

Vue-Quill-Editor

🍡Quill editor component for Vue, support SPA and SSR.

基于 Quill、适用于 Vue 的富文本编辑器,支持服务端渲染和单页应用。

Example

Demo Page

CDN Example

Nuxt.js/SSR example code

Projects Using Vue-Quill-Editor

Tamiat CMS

Install

CDN

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

NPM

npm install vue-quill-editor --save

Mount

mount with global

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

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

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

mount with component

// require styles
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
  }
}

mount with ssr

// if used in nuxt.js/ssr, you should keep require it only in browser build environment
if (process.browser) {
  const VueQuillEditor = require('vue-quill-editor/dist/ssr')
  Vue.use(VueQuillEditor, /* { default global options } */)
}

register quill module

// register quill modules, you need to introduce and register before the vue program is instantiated
import Quill from 'quill'
import yourQuillModule from '../yourModulePath/yourQuillModule.js'
Quill.register('modules/yourQuillModule', yourQuillModule)

Difference(使用方法的区别)

SSR and the only difference in the use of the SPA: - SPA worked by the component, find quill instance by ref attribute. - SSR worked by the directive, find quill instance by directive arg. - Other configurations, events are the same.

SSR


<template>















</template>

<script>
  export default {
    data() {
      return {
        content: '

example content

',
        editorOption: { /* quill options */ }
      }
    },
    mounted() {
      console.log('this is current quill instance object', this.myQuillEditor)
    },
    methods: {
      onEditorChange(event) {
        console.log('onEditorChange')
      }
    },
    // Omit the same parts as in the following component sample code
    // ...
  }
</script>

SPA

<template>

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


  <quill-editor :content="content"
                :options="editorOption"
                @change="onEditorChange($event)">
  </quill-editor>
</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
        }
      }
    },
    // manually control the data synchronization
    // 如果需要手动控制数据同步,父组件需要显式地处理changed事件
    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>

Modules

Issues

Quill documents

Api docs

Author

Surmon

Core symbols most depended-on inside this repo

itemConstructor
called by 5
modules/CodeSelector/CodeSelector.js
eventEmit
called by 5
src/ssr.js
resolve
called by 4
config/base.conf.js
onAddCodeBlock
called by 3
modules/CodeSelector/CodeSelector.js
ArrangeX
called by 2
modules/CodeSelector/CodeSelector.js
extendStyle
called by 2
modules/CodeSelector/CodeSelector.js
_emit
called by 2
modules/CodeSelector/CodeSelector.js
quillDirective
called by 2
src/ssr.js

Shape

Function 20
Method 15
Class 6

Languages

TypeScript100%

Modules by API surface

modules/CodeSelector/CodeSelector.js22 symbols
test/unit/specs/VueQuillEditor.spec.js9 symbols
src/ssr.js7 symbols
src/index.js1 symbols
config/build.conf.js1 symbols
config/base.conf.js1 symbols

Dependencies from manifests, versioned

autoprefixer6.7.2 · 1×
babel-cli6.23.0 · 1×
babel-core6.24.1 · 1×
babel-eslint7.1.1 · 1×
babel-helper-vue-jsx-merge-props2.0.2 · 1×
babel-loader6.2.10 · 1×
babel-plugin-istanbul3.1.2 · 1×
babel-plugin-syntax-jsx6.13.0 · 1×
babel-plugin-transform-es2015-destructuring6.23.0 · 1×
babel-plugin-transform-export-extensions6.8.0 · 1×
babel-plugin-transform-object-rest-spread6.23.0 · 1×
babel-plugin-transform-runtime6.23.0 · 1×

For agents

$ claude mcp add vue-quill-editor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact