vue使用markdown

简介: 一款使用marked和highlight.js开发的一款markdown编辑器,除常见markdown语法外,支持快捷输入、图片粘贴、代码复制、全屏编辑、预览等功能使用简单,安装npm包或者引入js包就行方便扩展,定制型比较强功能强大,总分3个版本,简单版、预览版、专业版体积小,加载速度快,npm包删除了highlight.js和codemirror里的依赖

前言:



项目开发需要用到富文本编辑器,最终确定使用vue框架 vue-meditor 。


1、vue-meditor简介


一款使用marked和highlight.js开发的一款markdown编辑器,除常见markdown语法外,支持快捷输入、图片粘贴、代码复制、全屏编辑、预览等功能


1.1、优点:


使用简单,安装npm包或者引入js包就行

方便扩展,定制型比较强

功能强大,总分3个版本,简单版、预览版、专业版

体积小,加载速度快,npm包删除了highlight.js和codemirror里的依赖

1.2、实现思路:


通过监听文本输入区域内内容的变化,实时将输入的markdown语法进行编译,并渲染到预览区域。

编辑器大致分为头部菜单栏、左侧内容输入区域、右侧预览区域三个部分。

头部菜单主要为定自定义标题区域和菜单按钮,菜单按钮可通过配置文件进行显示和隐藏;左侧编辑区域,简单版使用textarea开发,满足基本需求,

专业版使用codemirror开发,编辑区域支持手动输入文本和通过头部菜单插入;右侧预览区域可实时预览输入文本,并可通过菜单按钮,进行编辑区域和预览区域的切换


1.3详细文档:


github项目地址:GitHub - zhaoxuhui1122/vue-markdown: 一款使用marked和highlight.js开发的一款markdown编辑器


github文档地址:介绍 | vue-markdown


2、安装使用


2.1、使用npm方式引入

1、npm安装

vue项目中,确保npm,node版本没有问题,直接用npm安装,

npm install vue-meditor --save

2、项目中使用

注意,count初始化赋值的时候,如果是后台传输数据,一定坐下异常处理。否则如果count为null,组件会报错。

//简单版
import Markdown from 'vue-meditor'
export default {
  name: 'markdownTest',
  data: {
    count: '测试预览'
  },
  components: {
    Markdown
  }
}
//html
<MarkdownPro
v-model="count"
:height="400"
@on-paste-image="onPasteImage"
@on-ready="onReady"
@on-copy="onCopy"
@on-save="onSave"
theme="light"
/>
//专业版
import { MarkdownPro } from 'vue-meditor
export default {
  name: 'markdownTest',
  data: {
    count: '测试预览'
  },
  components: {
    MarkdownPro
  },
  methods: {
    onReady (data) {
      console.log(data)
    },
    onCopy (text) {
      console.log(text)
    },
    onPasteImage (file) {
      console.log(file)
    },
    onSave (data) {
      console.log(data)
    },
  }
}
//html
<MarkdownPro
v-model="count"
:height="400"
@on-paste-image="onPasteImage"
@on-ready="onReady"
@on-copy="onCopy"
@on-save="onSave"
theme="light"
/>
//预览版
import { MarkdownPreview } from 'vue-meditor'
export default {
  name: 'markdownTest',
  data: {
    count: '测试预览'
  },
  components: {
    MarkdownPreview
  }
}
//html
<MarkdownPro
v-model="count"
:height="400"
theme="light"
/>                   

2.2、js安装包引用


1、下载github代码


git clone https://github.com/zhaoxuhui1122/vue-markdown.git

2、复制文件


复制src文件夹下内容至components文件夹下

//简单版
import Markdown from '@/components/markdown/...';
//专业版 
import MarkdownPro from '@/components/markdown/pro';
//预览组件
import MarkdownPreview from '@/components/markdown/preview';

最后看下效果图,左边是富文本编辑器,右边是设置了属性,预览功能,边写边预览

b8cb25cacbfff068ebc2e47717e5cf8.png


目录
相关文章
|
5月前
|
JavaScript
vue 加载展示md文件(markdown语法 .md后缀的文件)
vue 加载展示md文件(markdown语法 .md后缀的文件)
853 0
|
7月前
|
JavaScript
vue 显示 markdown 文件
vue 显示 markdown 文件
120 0
|
JavaScript 前端开发 API
Markdown文件居然也可以直接作为Vue路由组件?
本文为Varlet组件库源码主题阅读系列第五篇,读完本文你可以了解到如何通过编写一个`Vite`插件来支持使用`md`文件直接作为路由组件。
280 0
|
JavaScript
vue项目中如何使用markdown编辑器插件
vue项目中如何使用markdown编辑器插件
461 0
|
JavaScript
Vue:MarkDown编辑器mavon-editor
Vue:MarkDown编辑器mavon-editor
749 0
Vue:MarkDown编辑器mavon-editor
|
JavaScript
Vue:引入markdown(.md)文件
Vue:引入markdown(.md)文件
171 0
|
28天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
29天前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
3天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
1月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
36 1
vue学习第一章