A markdown editor with Vue.js
yarn add simple-m-editor
npm install --save simple-m-editor
// you can add class "m-editor-preview" to your element to
// use the same style as the editor shows
<template>
<div>
<m-editor
v-model="text"
:debounce="true"
:debounce-wait="500"
@on-change="handleChange"
/>
<div class="m-editor-preview" v-html="markdownContent"></div>
</div>
</template>
import mEditor from 'simple-m-editor'
import 'simple-m-editor/dist/simple-m-editor.css'
export default {
component: {
mEditor
},
data () {
return {
text: '',
markdownContent: ''
}
},
methods: {
handleChange(data) {
this.markdownContent = data.htmlContent
}
}
}
name | type | default | description |
---|---|---|---|
value | String | value | |
placeholder | String | '' | placehoder |
mode | String | live | one of ['live', 'edit', 'preview'] |
full-screen | Boolean | false | full screen or not |
show-line-num | Boolean | true | show side line number or not |
theme | String | light | light or dark |
auto-scroll | Boolean | true | auto sroll or not |
debounce | Boolean | false | debounce render html when edit |
debounce-wait | Number | 200 | debounce wait time |
event name | description | return value |
---|---|---|
on-change | callback when editor is changed | Object: { content, htmlContent } |
on-mode-change | callback when editor's mode is change | mode, one of ['live', 'edit', 'preview']; oldMode, one of ['live', 'edit', 'preview'] |
on-full-screen-change | callback when editor's fullscreen change | fullscreen status, true or false |