一、md文件的存储

因为是vue-cli项目,所以使用的是mavonEditor.

github地址:https://github.com/hinesboy/mavonEditor

使用方法:

首先安装:

  1. npm install mavon-editor --save

然后在相应的组件里引用:

  1. //引入
    import {mavonEditor} from 'mavon-editor'
  2. import 'mavon-editor/dist/css/index.css'
  1. //标签使用,注意这里是mavon-editor
    <mavon-editor style="height: 100%;width: 100%;"
  2. v-model="form.content"
  3. ref="md"
  4. defaultOpen="edit"
  5. :toolbars="toolbarsValue"
  6. @imgAdd="$imgAdd"
  7. @change="changeMavon"
  8. @save="saveMavon" />

//mavon-editor菜单栏的相关配置

  1. toolbarsValue: {
  2. bold: true, // 粗体
  3. italic: true, // 斜体
  4. header: true, // 标题
  5. underline: true, // 下划线
  6. strikethrough: true, // 中划线
  7. mark: true, // 标记
  8. superscript: true, // 上角标
  9. subscript: true, // 下角标
  10. quote: true, // 引用
  11. ol: true, // 有序列表
  12. ul: true, // 无序列表
  13. link: true, // 链接
  14. imagelink: true, // 图片链接
  15. code: true, // code
  16. table: true, // 表格
  17. fullscreen: true, // 全屏编辑
  18. readmodel: true, // 沉浸式阅读
  19. htmlcode: true, // 展示html源码
  20. help: true, // 帮助
  21. /* 1.3.5 */
  22. undo: true, // 上一步
  23. redo: true, // 下一步
  24. trash: true, // 清空
  25. save: false, // 保存(触发events中的save事件)
  26. /* 1.4.2 */
  27. navigation: true, // 导航目录
  28. /* 2.1.8 */
  29. alignleft: true, // 左对齐
  30. aligncenter: true, // 居中
  31. alignright: true, // 右对齐
  32. /* 2.2.1 */
  33. subfield: true, // 单双栏模式
  34. preview: true, // 预览
  35. },

//相关的方法

  1. //富文本保存的方法
  2. saveMavon(value,render){
  3.  
  4. console.log("this is render"+render);
  5. console.log("this is value"+value);
  6. },
  7. // 绑定@imgAdd event
  8. $imgAdd(pos, $file){
  9. console.log("触发图片上传");
  10. console.log(pos);
  11. console.log($file);
  12. // 第一步.将图片上传到服务器.
  13. var formdata = new FormData();
  14. formdata.append('file', $file);
  15. console.log(formdata);
  16. imgeApi(formdata).then(res=>{
  17. // 第二步.将返回的url替换到文本原位置![...](0) -> ![...](url)
  18. /**
  19. * $vm 指为mavonEditor实例,可以通过如下两种方式获取
  20. * 1. 通过引入对象获取: `import {mavonEditor} from ...` 等方式引入后,`$vm`为`mavonEditor`
  21. * 2. 通过$refs获取: html声明ref : `<mavon-editor ref=md ></mavon-editor>,`$vm`为 `this.$refs.md`
  22. */
  23. console.log(res.data);
  24. let url="/server/"+res.data.data;
  25. this.$refs.md.$img2Url(pos, url);
    //相应的md格式的文件内容就是它绑定的变量
                                 //得到相应的html/文件
                                console.log(this.$refs.md.d_render);
 
  1. });
  2. },  

我选择的是直接将md格式的文本保存到数据库中,然后再将其从数据库中取出来解析。

二、md格式的文本的解析

使用marked框架来解析。

方法步骤:

npm install marked --save

在组件中引用:

import marked from 'marked'

相应的标签:

<div v-html="readmeContent" ></div>

js方法:

  1. //这里的newDate[0].content就是取出来的md格式的文本内容
  2. this.readmeContent=marked(newData[0].content||'',{
  3. sanitize:true
  4. })

  

存在问题:现在纯粹的只是将其解析成了html文件,相应的样式查了下,可以用highlight.js,但折腾了好久都没引用成功,等之后再仔细看看marked的官方文档再说....

地址:https://marked.js.org/#/README.md#README.md 

mavon-editor 存储md文件以及md文件解析成html文件的更多相关文章

  1. Excelbatis-一个将excel文件读入成实体列表、将实体列表解析成excel文件的ORM框架,简洁易于配置、可扩展性好

    欢迎使用Excelbatis! github地址:https://github.com/log4leo/Excelbatis Excelbatis的优点 和spring天然结合,易于接入 xsd支持, ...

  2. PyCharm将main.py解析成text文件的解决方法

    问题:PyCharm将main.py解释成文本文件,没有代码提示,也无法执行 解决方法:File->Settings->Editor->File Types ->选则Text ...

  3. jar包/class文件如何快速反编译成java文件

    有时编写的java代码打包为可执行jar包后需要查看工程结构是否是且只有我们需要的包,故需要查看jar包层级. 1.windows系统可以直接在网上下载jd-gui.exe包,然后傻瓜安装: 2.Ma ...

  4. 将java文件编译成class文件

    一般情况下,在myeclipse中保存java文件后会自动编译成class文件,但是这种情况只能编译当前工程的java文件,但是如果需要编译不是一个工程的java文件,比如在网上拷贝的java文件改如 ...

  5. stm32启动文件ld md hd cl vl xl分析及选择

    startup_stm32f10x_cl.s互联型的STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx, ...

  6. Linux文件查找.md

    Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...

  7. - Gradle 翻译 Analyzer APK文件分析 MD

    目录 目录 APK文件分析 使用 APK 分析器分析您的编译版本 查看文件和大小信息 查看 AndroidManifest.xml 查看 DEX 文件 过滤DEX文件树视图 加载 Proguard 映 ...

  8. python检测文件的MD值

    使用hashlib模块,可对文件MD5一致性加密验证: #python 检测文件MD5值 #python version 2.6 import hashlib import os,sys #简单的测试 ...

  9. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

随机推荐

  1. [FJOI 2016] 神秘数

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4408 [算法] 首先考虑一组询问怎样做 : 将数组按升序排序 , 假设我们现在可以表 ...

  2. P4147玉蟾宫——最大子矩阵

    悬线法裸题. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace ...

  3. PHP开发api接口 -- 安全验证 生成签名

    转载博客 ————. http://blog.csdn.net/li741350149/article/details/62887524 REST模式中HTTP请求方法(GET,POST,PUT,DE ...

  4. 联想Y450在Ubuntu下调节屏幕亮度

    今天觉得ubuntu下编程时屏幕太亮,上网查了下怎样设置屏幕亮度,按住Fn 的同时调节,结果木有反应啊,杯催.... 继续搜索,最终解决了, happy... 1. 设置屏幕亮度初始值,解决reboo ...

  5. web.xml报错Cannot resolve class 'StrutsPrepareAndExecuteFilter' (idea创建SSH项目)

    原因: xwork-core.jar包已经合并到struts2-core.jar下,并且点开jar包,发现没有 org.apache.struts2.dispatcher.ng.filter.Stru ...

  6. 【Hadoop】MapReduce笔记(四):MapReduce优化策略总结

    Cloudera 提供给客户的服务内容之一就是调整和优化MapReduce job执行性能.MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速 ...

  7. springboot+mongodb报错Caused by: java.net.ConnectException: Connection refused (Connection refused)

    com.mongodb.MongoSocketOpenException: Exception opening socket at com.mongodb.connection.SocketStrea ...

  8. XP系统显示控件异常解决方法

    XP下显示WPF控件异常,一般通过关闭Direct 3D加速即可.1.按“WIN”+R键,在“运行”输入框中输入“dxdiag”:2.在DirectX诊断工具”对话框,选择“显示”页面,在“Direc ...

  9. 使用ant时 出现 java.lang.OutOfMemoryErro r: Java heap space的解决办法

    在Linux的shell中,使用export设置ANT_OPTS变量,值为1G export ANT_OPTS=-Xmx1g ant 同理在windows的cmd中,使用set设置ANT_OPTS变量 ...

  10. hihocoder #1335 : Email Merge(map+sort)

    传送门 题意 分析 每次插入人名与邮箱的时候,做一次并查集,然后做一次sort即可 trick 3 a 1 first@hihocoder.com b 1 second@hihocoder.com c ...