Skip to content
官方QQ交流群
pc端ui:468705115   点此加入
移动端ui:468217742   点此加入
技术交流1:87208295   点此加入
技术交流2:787747122   点此加入
官网
云控制台
开放平台
关注微信公众号
代码仓库: 码云

cv-editor-markdown markdown编辑器

简要

makrodwn 编辑器

示例

::: demo

vue
<template>
  <div>
    <h1>cv-editor-markdown 演示</h1>
    <div style="max-width: 1250px; margin: 20px auto">
      <cv-form-base ref="refFormBase" :rules="formRules" :model="formData">
        <cv-form-item label="内容">
          <cvEditorMarkdown v-model="content" height="500" v-model:options="config">
            <!-- <template #title>cvjs</template> -->
          </cvEditorMarkdown>
        </cv-form-item>
      </cv-form-base>
    </div>
    <h3 style="overflow: hidden">配置如下:</h3>
    <pre class="state" style="line-height: 14px">{{ config }}</pre>
    <h3 style="overflow: hidden">预览效果:</h3>
    <div v-if="content" class="editor-content">
      <div v-html="content" />
    </div>
    <div style="height: 100px"></div>
  </div>
</template>
<script>
import { uploadOption } from '/example/plugins/upload.js';
export default {
  data() {
    return {
      formRules: {},
      formData: {
        content: ''
      },
      config: {},
      content: '',
      editorContent: '',
      upOptions: uploadOption
    };
  },
  methods: {},
  created() {},
  mounted() {
    setTimeout(() => {
      this.content = `
# h1 Heading

* * *

## Emphasis

 _**Bold and italic**_ 

**This is bold text**

## Tables

| Option | Description |
| --- | --- |
| data | path to data files to supply the data that will be passed into templates. |
| engine | engine to be used for processing templates. Handlebars is the default. |
| ext | extension to be used for dest files. |

*   [x]  finish-1

*   [x]  finish-2

*   [x]  finish-3
      
      
# 测试标题


### 内容

你好啊

\`\`\`js

// 注释
/**
* 注释
*/
let asasd
function xxxx(){

}

\`\`\`

\`\`\`php
// 注释
/**
* 注释
*/
$aaaa = 123;


\`\`\`

`;
    }, 1200);
  }
};
</script>

:::

全局配置(一般情况下不需要)

如果需要全局配置,请修改 src/plugins/cv-pc-ui.js 扩展

js
import cvPcUI from '@10yun/cv-pc-ui'
// 注册 全局设置
Vue.use(cvPcUI, {
  // 可以为编辑器配置全局属性, 每个实例都共享这个属性
  // 属性请参考下面
  "cvEditorMarkdown": {
    options: {
      // ...详见[属性options参数]
    },
    toolbars:{

    }
  }
});

属性

属性名说明类型默认
v-model / modelValue组件接受的输入值也支持双向绑定。String/Number-
options参数,详见 属性 optionsObject
toolbars工具,详见 属性 toolbarsObject{copy:true}
language语言,详见 属性 languageStringPlain Text
theme主题,详见 属性 themeStringoneDark
readOnly是否只读Booleanfalse
autoSave自动保存,通过绑定@on-act-save事件Booleanfalse
interval自动保存间隔,单位:mm,需autoSave=true时才有效Number10000
width初始宽度String/Number'auto'
height初始高度,支持%String/Number600
bordered是否边框Booleantrue
exportFileName导出文件名称,默认YYYY-MM-DD_HH:mmStringYYYY-MM-DD_HH:mm
isFullscreen是否全局Booleanfalse
isPreview是否预览Booleantrue

属性options

参数名说明类型默认

属性toolbars

工具名说明类型默认
strong粗体Booleantrue
italic斜体Booleantrue
overline删除线Booleantrue
h1标题1Booleantrue
h2标题2Booleantrue
h3标题3Booleantrue
h4标题4Booleanfalse
h5标题5Booleanfalse
h6标题6Booleanfalse
hr分割线Booleantrue
quote引用Booleantrue
ul无序列表Booleantrue
ol有序列表Booleantrue
code代码块Booleantrue
link链接Booleantrue
imageimageBooleantrue
uploadImage本地图片Booleanfalse
table表格Booleantrue
checked已完成列表Booleantrue
notChecked未完成列表Booleantrue
preview预览Booleantrue
split分屏模式切换Booleantrue
print打印Booleanfalse
theme主题切换Booleantrue
fullscreen全屏Booleantrue
exportmd导出为*.md文件Booleantrue
importmd导入本地*.md文件Booleantrue
copy复制Booleantrue
clear清空内容Booleanfalse
save保存按钮Booleanfalse
toc目录Booleanfalse
custom_image自定义图片空间Booleantrue
custom_uploadImage自定义图片上传Booleantrue
custom_uploadFile自定义文件上传Booleantrue

属性language

支持的语法

语言
javascript
html
json
markdown
vue
php
java
sql
python
xml
go
css

详见:https://codemirror.net/

属性theme

支持的主题

主题
default /light
oneDark
materialLight
materialDark
solarizedLight
solarizedDark
dracula
githubLight
githubDark
aura
tokyoNight
tokyoNightStorm
tokyoNightDay

详见:https://codemirror.net/

Slots插槽

插槽名说明
title在toolbars 增加标题名称

emits事件

事件名说明参数
update:modelValue仅当内容发生更改时(value: string, viewUpdate: ViewUpdate)
on-ready加载成功时(payload: { view: EditorView; state: EditorState; container:HTMLDivElement })
on-action执行任意toolbars返回action(action, state)
on-act-copy复制成功后
on-act-save自动保存后
on-act-theme主题选择后
on-act-custom自定义事件
on-act-choose-image选择图片后
  • on-save 编辑器保存事件,自动保存或者手动保存时触发,支持ctrl+scommand+s触发保存,返回值类型为Object,包含当前输入值value和选择的代码块主题theme

  • on-act-choose-image

图片上传事件,用户自定义上传图片,复制粘贴图片截图、文件和点开菜单栏上传按钮时式触发,返回file文件,上传文件后可结合on-ready事件内返回的insertContent插入图片。 监听编辑器粘贴图片事件,在编辑区域内手动粘贴图片时触发,可用于支持粘贴插入图片文件,返回file文件,上传文件后可结合on-ready事件内返回的insertContent插入图片。

相关链接

UI库

编辑器

html-to-md

Copyright © 2017 10yun.com | 十云提供计算服务-IPV6 | ctocode组开发