vue3 markdown编辑器推荐(maven-editor vditor tiptap )

本文主要是介绍vue3 markdown编辑器推荐(maven-editor vditor tiptap ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近项目需要用到markdown编辑器,使用了三种

  1. maven-editor (http://www.mavoneditor.com/?spm=a2c6h.12873639.article-detail.9.aaad62affAKmTV)
  2. vditor (https://b3log.org/vditor/demo/index.html?utm_source=ld246.com)
  3. tiptap (https://github.com/ueberdosis/tiptap/blob/main/docs/api/commands.md#content)

经过多次的踩坑之后

优缺点分析

  • 最推荐使用的是 maven-editor
  • 如果想要所见即所得的效果的话 只有vditor支持,但是vditor是不支持 ==标记== x^2^
    H~2~0这种的markdown语言的,有需要的可以斟酌一下
  • 如果需要html内容的话 maven-editor和vditor都是可以支持的

简单用法

maven-editor

下载

npm install mavon-editor --save

引入 main.js

import Vue from 'vue'
import mavonEditor from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'
// use
Vue.use(mavonEditor)

页面中使用

基础使用

<mavon-editor v-model="value"/>

自定义操作框 其中@save是点击保存按钮的时候调取的函数

<mavon-editorref="mavonEditorContinue":toolbars="toolBar"v-model="continueValue":ishljs="true"@save="saveContinue"/>const toolBar = ref({bold: true, // 粗体italic: true, // 斜体header: true, // 标题underline: true, // 下划线strikethrough: false, // 中划线mark: false, // 标记superscript: false, // 上角标subscript: false, // 下角标quote: false, // 引用ol: true, // 有序列表ul: true, // 无序列表link: false, // 链接imagelink: false, // 图片链接code: true, // codetable: true, // 表格fullscreen: false, // 全屏编辑readmodel: false, // 沉浸式阅读htmlcode: false, // 展示html源码help: false, // 帮助/* 1.3.5 */undo: true, // 上一步redo: true, // 下一步trash: false, // 清空save: true, // 保存(触发events中的save事件)/* 1.4.2 */navigation: false, // 导航目录/* 2.1.8 */alignleft: false, // 左对齐aligncenter: false, // 居中alignright: false, // 右对齐/* 2.2.1 */subfield: false, // 单双栏模式preview: false // 预览
})

如果想获得html的内容怎么办

<mavon-editorref="mavonEditorRef"v-model="testContent" 
/>
const mavonEditorRef = ref()
mavonEditorRef.value.d_render

vditor

下载

npm i vditor --save

引入

import Vditor from 'vditor'
import 'vditor/dist/index.css'

使用

<div id="vditor"></div>

这里cdn注意一下 他的不是很稳定 建议将他的包下载到本地 否则很容易出现白屏

vditor.value = new Vditor('vditor', {cdn: window.location.origin + '/cdn',mode: 'sv',minHeight: 200,// 工具栏toolbar: ['headings','table','bold','code','|','ordered-list','list','|','insert-before','insert-after','|','undo','redo','|',{name: '保存',tip: '保存',icon: '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1700206010742" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4033" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M925.248 356.928l-258.176-258.176a64 64 0 0 0-45.248-18.752H144a64 64 0 0 0-64 64v736a64 64 0 0 0 64 64h736a64 64 0 0 0 64-64V402.176a64 64 0 0 0-18.752-45.248zM288 144h192V256H288V144z m448 736H288V736h448v144z m144 0H800V704a32 32 0 0 0-32-32H256a32 32 0 0 0-32 32v176H144v-736H224V288a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32V144h77.824l258.176 258.176V880z" p-id="4034"></path></svg>',click() {markedResStr.value[ele] = vditor.value.getValue()vditorShow.value = falsevditor.value?.destroy()//   document.getElementById('vditor').innerHTML = ''}}],// 计数counter: { enable: true, type: 'text' },after: () => {if (content) {vditor.value.setValue(content)} else {vditor.value.setValue('')}}})

这篇关于vue3 markdown编辑器推荐(maven-editor vditor tiptap )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673536

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用