8bu / vue-editor-js

editor.js for Vue users

Home Page:https://codesandbox.io/embed/o7lyqwmvmq

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vue-editor-js

vue-editor-js is editorjs wrapper component.

Please see this first. https://editorjs.io/

For before 2.0.0 version users.

This plugins is turned to be just wrapper component. If you need to use plugin for editor.js, just import and set to config property.

Please See the Demo.vue

For before 1.0.0 version users.

Please Vue.use vue-editor-js in main.js.

Supported Plugins

Installation

npm install --save vue-editor-js

# or Yarn
yarn add vue-editor-js

Usage

// In main.js
// ...
import Editor from 'vue-editor-js'

Vue.use(Editor)
// ...
// on Nuxt.js

// in nuxt.config.js
plugins: [
  {
    src: '~/plugins/vue-editor.js', ssr: false
  }
],

// in ~/plugins/vue-editor.js
import Vue from 'vue'
import Editor from 'vue-editor-js'

Vue.use(Editor)
  <editor ref="editor" :config="config" :initialized="onInitialized"/>

define initialize Function for get instance of editor.js when initialized

If you confused using on Nuxt, please see here

Local import

You can import Editor only in components where you need it.

  1. Make sure to install @vue/composition-api
npm i --save @vue/composition-api

#or Yarn
yarn add @vue/composition-api
  1. In main.js:
import Vue from 'vue'
import VueCompositionApi from '@vue/composition-api'

Vue.use(VueCompositionApi)
  1. Don't import anything from 'vue-editor-js' in main.js
  2. In your component:
import { Editor } from 'vue-editor-js'

export default {
  // ...
  components: {
    Editor,
  },
  // ...
}

Tools

Supported tools

Same as in Supported Plugins, but with different naming

  • header
  • list
  • code
  • inlineCode
  • personality
  • embed
  • linkTool
  • marker
  • table
  • raw
  • delimiter
  • quote
  • image
  • warning
  • paragraph
  • checklist

Usage

<editor header list code ... :config="config"/>

Upload Image (>= 1.1.0)

for upload image, You need a backend for processing image. vue-editor-js provide special config props for easy. If you server for test upload image, please see server example.

<editor :config="config" />

<script>
...
data() {
  return {
      config: {
        image: {
          // Like in https://github.com/editor-js/image#config-params
          endpoints: {
            byFile: 'http://localhost:8090/image',
            byUrl: 'http://localhost:8090/image-by-url',
          },
          field: 'image',
          types: 'image/*',
        },
      }
  }
}
</script>

upload personality avatar ( >= 2.0.1)

  config: {
    personality: {
      endpoints: 'http://localhost:8090/image'
    }

Other props:

  • customTools - Object with name (key) and class of a custom tool (value)

Enjoy editorjs with Vue.js Project 🎉

How to Contribute?

  1. fork this project.
  2. edit code.
  3. PR

OR

  1. Just submit a issue!

Contributors

About

editor.js for Vue users

https://codesandbox.io/embed/o7lyqwmvmq

License:MIT License


Languages

Language:JavaScript 69.6%Language:Vue 19.5%Language:HTML 10.8%