simple-m-editor
simple-m-editor
A markdown editor with Vue@3
If you want to use it with vue@2.7, you can use simple-m-editor@2.x. If you want to use it with vue@2.6 or older version, you can use simple-m-editor@0.4.
Install
use npm
npm install --save simple-m-editor
use yarn
yarn add simple-m-editor
use pnpm
pnpm i simple-m-editor
Usage with Vue.js
// you can add class "m-editor-preview" to your element to
// use the same style as the editor shows
<script setup>
import { MEditor, marked } from 'simple-m-editor'
import 'simple-m-editor/dist/style.css'
const text = ref('')
const markdownContent = ref('')
const handleChange = (data) => {
markdownContent.value = data.htmlContent
}
</script>
<template>
<div>
<m-editor
v-model="text"
:debounce-render="true"
:debounce-render-wait="500"
@on-change="handleChange"
/>
<div class="m-editor-preview" v-html="markdownContent"></div>
</div>
</template>
Preview
Api
props
| 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-render | Boolean | false | debounce render html when edit |
| debounce-render-wait | Number | 200 | debounce wait time |
event
| 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 |
Licence
MIT Licence
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 2.7.0 | ^2.7.0 | ||
| 0.4.6 | ^2.6.14 | ||
| 0.4.4 | ^2.6.14 | ||
| 0.4.3 | ^2.6.9 | ||
| 0.4.2 | ^2.6.9 | ||
| 0.4.1 | ^2.6.9 | ||
| 0.4.0 | ^2.6.9 | ||
| 0.3.5 | ^2.6.9 | ||
| 0.3.4 | ^2.6.9 | ||
| 0.3.3 | ^2.6.9 | ||
| 0.3.1 | ^2.6.9 | ||
| 0.3.0 | ^2.6.9 | ||
| 0.2.9 | ^2.6.9 | ||
| 0.2.8 | ^2.6.9 | ||
| 0.2.7 | ^2.6.9 | ||
| 0.2.6 | ^2.6.9 | ||
| 0.2.5 | ^2.6.9 | ||
| 0.2.4 | ^2.5.22 | ||
| 0.2.3 | ^2.5.22 | ||
| 0.2.2 | ^2.5.22 | ||
| 0.2.1 | ^2.5.22 | ||
| 0.2.0 | ^2.5.22 | ||
| 0.1.8 | ^2.5.22 | ||
| 0.1.7 | ^2.5.22 | ||
| 0.1.6 | ^2.5.22 | ||
| 0.1.5 | ^2.5.22 | ||
| 0.1.3 | ^2.5.22 | ||
| 0.1.1 | ^2.5.22 | ||
| 0.1.0 | ^2.5.22 |
Pre-releases (3)
| Version | Released | Vue | License |
|---|---|---|---|
| 3.0.0-beta.0 | ^3.0.0 | ||
| 1.0.0-beta.2 | ^2.7.0 | ||
| 1.0.0-beta.1 | ^2.7.0 |