mavon-editor 存储md文件以及md文件解析成html文件
一、md文件的存储
因为是vue-cli项目,所以使用的是mavonEditor.
github地址:https://github.com/hinesboy/mavonEditor
使用方法:
首先安装:
npm install mavon-editor --save
然后在相应的组件里引用:
- //引入
import {mavonEditor} from 'mavon-editor'- import 'mavon-editor/dist/css/index.css'
- //标签使用,注意这里是mavon-editor
<mavon-editor style="height: 100%;width: 100%;"- v-model="form.content"
- ref="md"
- defaultOpen="edit"
- :toolbars="toolbarsValue"
- @imgAdd="$imgAdd"
- @change="changeMavon"
- @save="saveMavon" />
//mavon-editor菜单栏的相关配置
- toolbarsValue: {
- bold: true, // 粗体
- italic: true, // 斜体
- header: true, // 标题
- underline: true, // 下划线
- strikethrough: true, // 中划线
- mark: true, // 标记
- superscript: true, // 上角标
- subscript: true, // 下角标
- quote: true, // 引用
- ol: true, // 有序列表
- ul: true, // 无序列表
- link: true, // 链接
- imagelink: true, // 图片链接
- code: true, // code
- table: true, // 表格
- fullscreen: true, // 全屏编辑
- readmodel: true, // 沉浸式阅读
- htmlcode: true, // 展示html源码
- help: true, // 帮助
- /* 1.3.5 */
- undo: true, // 上一步
- redo: true, // 下一步
- trash: true, // 清空
- save: false, // 保存(触发events中的save事件)
- /* 1.4.2 */
- navigation: true, // 导航目录
- /* 2.1.8 */
- alignleft: true, // 左对齐
- aligncenter: true, // 居中
- alignright: true, // 右对齐
- /* 2.2.1 */
- subfield: true, // 单双栏模式
- preview: true, // 预览
- },
//相关的方法
- //富文本保存的方法
- saveMavon(value,render){
- console.log("this is render"+render);
- console.log("this is value"+value);
- },
- // 绑定@imgAdd event
- $imgAdd(pos, $file){
- console.log("触发图片上传");
- console.log(pos);
- console.log($file);
- // 第一步.将图片上传到服务器.
- var formdata = new FormData();
- formdata.append('file', $file);
- console.log(formdata);
- imgeApi(formdata).then(res=>{
- // 第二步.将返回的url替换到文本原位置 -> 
- /**
- * $vm 指为mavonEditor实例,可以通过如下两种方式获取
- * 1. 通过引入对象获取: `import {mavonEditor} from ...` 等方式引入后,`$vm`为`mavonEditor`
- * 2. 通过$refs获取: html声明ref : `<mavon-editor ref=md ></mavon-editor>,`$vm`为 `this.$refs.md`
- */
- console.log(res.data);
- let url="/server/"+res.data.data;
- this.$refs.md.$img2Url(pos, url);
//相应的md格式的文件内容就是它绑定的变量
- });
- },
我选择的是直接将md格式的文本保存到数据库中,然后再将其从数据库中取出来解析。
二、md格式的文本的解析
使用marked框架来解析。
方法步骤:
npm install marked --save
在组件中引用:
相应的标签:
js方法:
- //这里的newDate[0].content就是取出来的md格式的文本内容
- this.readmeContent=marked(newData[0].content||'',{
- sanitize:true
- })
存在问题:现在纯粹的只是将其解析成了html文件,相应的样式查了下,可以用highlight.js,但折腾了好久都没引用成功,等之后再仔细看看marked的官方文档再说....
地址:https://marked.js.org/#/README.md#README.md
mavon-editor 存储md文件以及md文件解析成html文件的更多相关文章
- Excelbatis-一个将excel文件读入成实体列表、将实体列表解析成excel文件的ORM框架,简洁易于配置、可扩展性好
欢迎使用Excelbatis! github地址:https://github.com/log4leo/Excelbatis Excelbatis的优点 和spring天然结合,易于接入 xsd支持, ...
- PyCharm将main.py解析成text文件的解决方法
问题:PyCharm将main.py解释成文本文件,没有代码提示,也无法执行 解决方法:File->Settings->Editor->File Types ->选则Text ...
- jar包/class文件如何快速反编译成java文件
有时编写的java代码打包为可执行jar包后需要查看工程结构是否是且只有我们需要的包,故需要查看jar包层级. 1.windows系统可以直接在网上下载jd-gui.exe包,然后傻瓜安装: 2.Ma ...
- 将java文件编译成class文件
一般情况下,在myeclipse中保存java文件后会自动编译成class文件,但是这种情况只能编译当前工程的java文件,但是如果需要编译不是一个工程的java文件,比如在网上拷贝的java文件改如 ...
- stm32启动文件ld md hd cl vl xl分析及选择
startup_stm32f10x_cl.s互联型的STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx, ...
- Linux文件查找.md
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...
- - Gradle 翻译 Analyzer APK文件分析 MD
目录 目录 APK文件分析 使用 APK 分析器分析您的编译版本 查看文件和大小信息 查看 AndroidManifest.xml 查看 DEX 文件 过滤DEX文件树视图 加载 Proguard 映 ...
- python检测文件的MD值
使用hashlib模块,可对文件MD5一致性加密验证: #python 检测文件MD5值 #python version 2.6 import hashlib import os,sys #简单的测试 ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
随机推荐
- [FJOI 2016] 神秘数
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4408 [算法] 首先考虑一组询问怎样做 : 将数组按升序排序 , 假设我们现在可以表 ...
- P4147玉蟾宫——最大子矩阵
悬线法裸题. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace ...
- PHP开发api接口 -- 安全验证 生成签名
转载博客 ————. http://blog.csdn.net/li741350149/article/details/62887524 REST模式中HTTP请求方法(GET,POST,PUT,DE ...
- 联想Y450在Ubuntu下调节屏幕亮度
今天觉得ubuntu下编程时屏幕太亮,上网查了下怎样设置屏幕亮度,按住Fn 的同时调节,结果木有反应啊,杯催.... 继续搜索,最终解决了, happy... 1. 设置屏幕亮度初始值,解决reboo ...
- web.xml报错Cannot resolve class 'StrutsPrepareAndExecuteFilter' (idea创建SSH项目)
原因: xwork-core.jar包已经合并到struts2-core.jar下,并且点开jar包,发现没有 org.apache.struts2.dispatcher.ng.filter.Stru ...
- 【Hadoop】MapReduce笔记(四):MapReduce优化策略总结
Cloudera 提供给客户的服务内容之一就是调整和优化MapReduce job执行性能.MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速 ...
- springboot+mongodb报错Caused by: java.net.ConnectException: Connection refused (Connection refused)
com.mongodb.MongoSocketOpenException: Exception opening socket at com.mongodb.connection.SocketStrea ...
- XP系统显示控件异常解决方法
XP下显示WPF控件异常,一般通过关闭Direct 3D加速即可.1.按“WIN”+R键,在“运行”输入框中输入“dxdiag”:2.在DirectX诊断工具”对话框,选择“显示”页面,在“Direc ...
- 使用ant时 出现 java.lang.OutOfMemoryErro r: Java heap space的解决办法
在Linux的shell中,使用export设置ANT_OPTS变量,值为1G export ANT_OPTS=-Xmx1g ant 同理在windows的cmd中,使用set设置ANT_OPTS变量 ...
- hihocoder #1335 : Email Merge(map+sort)
传送门 题意 分析 每次插入人名与邮箱的时候,做一次并查集,然后做一次sort即可 trick 3 a 1 first@hihocoder.com b 1 second@hihocoder.com c ...