vue项目引入markdown
前言
咳咳,终于终于终于将我的博客项目引入了markdown了,之前博客使用的是富文本编辑器,因为最近我都是使用的markdown做笔记和写博客,而自己的项目博客是个富文本编辑器这让我很不舒服,所以花了一整个晚上的时间把我的博客项目换成了markdown编辑器,让我先用这个markdown编辑器写一个博客试试哈哈哈哈!
操作步骤
引入markdown相关插件
mavonEditor
我现在博客使用的markdown编辑器是使用的是mavonEditor
我们需要使用它的话首先需要安装
npm install mavon-editor --save
然后我们在main.js中全局引用它
// 引入markdown组件
import Vue from 'vue'
import mavonEditor from 'mavon-editor'
import 'mavon-editor/dist/css/index.css'Vue.use(mavonEditor)new Vue({el: '#app',router,store,render: h => h(App)
})
随后我们便可以在项目中引用该组件,value绑定的是markdown的源内容
<div id="main"><mavon-editor v-model="value"/>
</div>
markdown中的图片上传
// 图片上传uploadImg(pos, $file) {// 定义上传uriconst uploadUri = 'img/blogImg/'// 定义上传对象var formData = new FormData()formData.append('file', $file)formData.append('uploadUri', uploadUri)uploadImage(formData).then(res => {// 将markdown插入的图片url更换为返回的ulthis.$refs.md.$img2Url(pos, res.data)})}
pos | $file | this.refs.md.refs.md.refs.md.img2Url |
---|---|---|
当前有插入了几张图片 | 文件对象 | 修改markdown源连接为新设置的值 |
更多api文档请自行查看官方文档:https://github.com/hinesboy/mavonEditor
marked
在引入了mavonEditor之后,确实是可以使用markdown编辑器写博客了,但是发现上传上去的是markdown的源代码,那得到的也只是markdown的源内容,那……谁又喜欢看这种东西呢,然后又去百度找解决的办法,发现了marked,该插件能够将markdown的内容转换为HTML格式渲染出来。
照例先安装
npm install --save marked
安装完后在需要使用到的页面引用该插件
import marked from 'marked'
然后就可以使用啦,直接调用一个方法即可转换
// 将Markdown源内容转换为HTML
this.content = marked(source)
具体使用方法可以参考
官网:https://marked.js.org/
GitHub:https://github.com/markedjs/marked
highlight
这是已经可以从Markdown转换为HTML来渲染了,但是郁闷的又来了,发现代码没有高亮显示,而且Markdown没有一点样式,非常的难看,这时又只能打开百度去找解决办法咯,就找到了highlight这个插件,这是专门用来给Markdown添加代码高亮的插件,与之相似的还有highlightjs-line-numbers.js这是用来显示行数的,但是我尝试了,好像需要JQuery才能够使用我就放弃了。
首先照例先安装
npm install --save highlight
然后在需要使用到的页面引用
// 引入代码高亮插件
import hljs from 'highlight.js'
import 'highlight.js/styles/atom-one-dark.css'
// 导入本地markdown样式
import '../../styles/markdown.css'
然后在marked转换格式之前执行一个方法
// 展现经过markdown渲染后的htmlmarked.setOptions({renderer: new marked.Renderer(),highlight: function(code) {return hljs.highlightAuto(code).value},pedantic: false,gfm: true,tables: true,breaks: false,sanitize: false,smartLists: true,smartypants: false,xhtml: false})this.blogContent = marked(res.data.blogContent)
当然我也只用到了这一个地方如果有想了解更多的可以到GitHub上查看源代码
https://github.com/highlightjs/highlight.js/
总结
更换这个Markdown编辑器真的花了我不少时间,确实感觉前端对我来说好难好难,每次出一点小问题就需要好久才能够解决,当然自己做出来了也还是很有成就感的,毕竟是自己做出来的东西。
我的个人博客:http://oopsw.top:1001
vue项目引入markdown相关推荐
- markdown html vue,vue项目引入markdown
npm install showdown 接下来是用法: export default { data () { return { 'content':'', 'converter':null } }, ...
- Vue项目集成Markdown标记语言编辑器(MavonEditor)
文章目录 前言 一.可用的Markdown集成技术 二.使用步骤 1.安装mavonEditor包 2.导入并使用mavonEditor 3.官方API 总结 前言 Markdown是一种标记语言,相 ...
- vue项目引入CNZZ数据专家(方法汇总篇)
vue项目引入CNZZ数据专家(方法汇总篇) 很多网站都有cnzz数据统计,用于分析网站页面受访情况. 今天就来备注一下开发经验: vue如何集成cnzz数据专家进行受访记录? 友盟+CNZZ官方文档 ...
- vue项目引入typescript(vue与ts混用)
说明 为什么要在vue项目中使用ts? 新公司给了一个关于vue项目的需求,又由于ts是JavaScript的超集,强类型数据,组件化友好.故我选择在vue项目中引入ts. 下载typescript和 ...
- VUE项目引入微信JSSDK 实现微信自定义分享
VUE项目引入微信JSSDK 实现自定义分享 前端vue.后端php 问题:后端获取config参数所需的url 需要和请求自定义分享页面url一致 一.微信公众号后台添加 js安全域名(白名单) 二 ...
- vue项目引入阿里巴巴矢量图标库 ——字体图标
1. 打开阿里巴巴矢量图标库官网 iconfont-阿里巴巴矢量图标库 2. 下载图标步骤 (1) (2) (3) (4) (5) (6)main.js 配置 引入assets中的图标路径 (7)页 ...
- 随笔-vue项目引入axios
随笔-vue项目引入axios 本文参考链接: 一 安装axios依赖 npm install axios 二 引入axios 在main.js中引入,注意与很多第三方模块不同的是,axios不能使用 ...
- vue项目引入不符合ES6模块化标准的JS文件
vue项目引入不符合ES6模块化标准的JS文件 实现方式 实现原理 实现方式 要引入的文件放在public目录下,在index.html中通过script标签引入 实现原理 参考vue官网–处理静态资 ...
- Vue 中引入markdown富文本编辑器并根据md格式渲染
Vue 中引入markdown富文本编辑器 在vue组件中,比较好用的是mavon-editor,github文档地址 https://github.com/hinesboy/mavonEditor ...
- Vue项目引入Echarts可视化图表库教程踩坑
Apache ECharts是一个基于 JavaScript 的开源可视化图表库,ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. ...
最新文章
- 滴滴CTO张博:我人生重要的四次选择
- (二)、MariaDB、Apache软件安装
- 【ZZ】IPv4与IPv6
- 深入分析 Flutter 初始化流程
- go加载python_python培训 | python调用go语言来提速
- uml学习之图书借阅简化用例图创建
- 上海交大发布全球首款专用光量子计算软件
- 《人性的弱点》--如欲采蜜,勿蹴蜂房。
- PHP之封装梦网云通讯短信发送类
- 用MACD决策树模型预测股票趋势
- 今晚8点,dotnet课堂全新起航,张善友/陈计节/刘腾飞我们一起来聊聊abp的故事...
- 劳动与社会保障法-作业
- Newt Scamander的恐惧
- 高通平台音频软件架构
- 如何进行SEO站内优化,让你的网站更易被搜索引擎收录
- 低成本无线门铃芯片_无线门铃ic选型分析
- 2022年武汉江岸区助企惠企政策汇总,附奖励补贴标准及申报条件
- 本地mysql设置成DMZ主机远程访问的方法
- Kotlin高仿微信-第35篇-支付-二维码收款(二维码)
- 四年级上册计算机知识点总结,四年级信息技术册主要知识点整理.doc