All Projects → ChangJoo-Park → Vue Editor Js

ChangJoo-Park / Vue Editor Js

Licence: mit
editor.js for Vue users

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Editor Js

Scxcodeeditorinset
Xcode plugin that adds an empty (configurable) space to the end of the editor text view
Stars: ✭ 64 (-68.78%)
Mutual labels:  plugin, editor
Awesome Wysiwyg
A curated list of awesome WYSIWYG editors.
Stars: ✭ 1,801 (+778.54%)
Mutual labels:  editor, wysiwyg-editor
React Page
Next-gen, highly customizable content editor for the browser - based on React and written in TypeScript. WYSIWYG on steroids.
Stars: ✭ 8,704 (+4145.85%)
Mutual labels:  editor, wysiwyg-editor
Header
Header Tool for Editor.js 2.0
Stars: ✭ 39 (-80.98%)
Mutual labels:  plugin, editor
Pell
📝 the simplest and smallest WYSIWYG text editor for web, with no dependencies
Stars: ✭ 11,653 (+5584.39%)
Mutual labels:  editor, wysiwyg-editor
Cm3d2.maidfiddler
A real-time game editor for CM3D2
Stars: ✭ 39 (-80.98%)
Mutual labels:  plugin, editor
Vim Kubernetes
vim-kubernetes
Stars: ✭ 112 (-45.37%)
Mutual labels:  plugin, editor
Sceditor
A lightweight HTML and BBCode WYSIWYG editor
Stars: ✭ 503 (+145.37%)
Mutual labels:  editor, wysiwyg-editor
Rich Markdown Editor
The open source React and Prosemirror based markdown editor that powers Outline. Want to try it out? Create an account:
Stars: ✭ 2,468 (+1103.9%)
Mutual labels:  editor, wysiwyg-editor
Guppy
WYSIWYG mathematics editor with structured, searchable, LaTeX-compatible, and parseable output
Stars: ✭ 147 (-28.29%)
Mutual labels:  editor, wysiwyg-editor
Megadraft
Megadraft is a Rich Text editor built on top of Facebook's Draft.JS featuring a nice default base of components and extensibility
Stars: ✭ 982 (+379.02%)
Mutual labels:  editor, wysiwyg-editor
Flutter image editor
Flutter plugin, support android/ios.Support crop, flip, rotate, color martix, mix image, add text. merge multi images.
Stars: ✭ 181 (-11.71%)
Mutual labels:  plugin, editor
Jodit
Jodit - Best WYSIWYG Editor for You
Stars: ✭ 947 (+361.95%)
Mutual labels:  editor, wysiwyg-editor
Canner Slate Editor
📝Rich Text / WYSIWYG Editor built for Modularity and Extensibility.
Stars: ✭ 1,071 (+422.44%)
Mutual labels:  editor, wysiwyg-editor
Proton
Purely native and extensible rich text editor for iOS and macOS Catalyst apps
Stars: ✭ 685 (+234.15%)
Mutual labels:  editor, wysiwyg-editor
Tiptap
The headless editor framework for web artisans.
Stars: ✭ 13,629 (+6548.29%)
Mutual labels:  editor, wysiwyg-editor
React Quill
A Quill component for React.
Stars: ✭ 4,739 (+2211.71%)
Mutual labels:  editor, wysiwyg-editor
Core2d
A multi-platform data driven 2D diagram editor.
Stars: ✭ 475 (+131.71%)
Mutual labels:  editor, wysiwyg-editor
My Vue Editor
a rich text editor for Vue 2.x
Stars: ✭ 129 (-37.07%)
Mutual labels:  editor, wysiwyg-editor
Nib
Wysiwyg / Text editor components built using React and Prosemirror
Stars: ✭ 181 (-11.71%)
Mutual labels:  editor, wysiwyg-editor

vue-editor-js

Wallaby.js

vue-editor-js is editorjs wrapper component.

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

For before 2.0.0 version users.

This plugins is a wrapper component for editorjs. If you need to use the plugin for editor.js then import it and set the config property.

Please See the Demo.vue

For before 1.0.0 version users.

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

Supported Plugins

Installation

# NPM
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)
// ...

In 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 the initialization function to get the instance of editor.js when initializing

If you are confused with using it with Nuxt, please see here

Local import

If you wish to only import Editor on a single component then you can do so by following the instructions below

  1. Make sure to install @vue/composition-api
# NPM
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

  1. Install the editorjs tool
# NPM
npm install --save @editorjs/header

# or Yarn
yarn add @editorjs/header
  1. Insert the package into the config prop
<editor
    ...
    :config="{
        tools: {
          header: require('@editorjs/header')
        }
    }"
/>

Saving Example Code

<template>
	<div id="app">
		<Editor ref="editor" :config="config" />

		<button @click="invokeSave">Save</button>
	</div>
</template>

<script>
	export default {
		methods: {
			invokeSave() {
				this.$refs.editor._data.state.editor.save()
					.then((data) => {
						// Do what you want with the data here
						console.log(data)
					})
					.catch(err => { console.log(err) })
			}
		},
	}
</script>

Upload Image (>= 1.1.0)

for uploading images, You will need a backend for processing the images. vue-editor-js provides a special config prop for easability. If you are testing your server to upload an 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

Wallaby.js

Wallaby.js

This repository contributors are welcome to use Wallaby.js OSS License to get test results immediately as you type, and see the results in your editor right next to your code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].