分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

mavon-editor 存储md文件以及md文件解析成html文件

发布时间:2023-09-06 02:36责任编辑:顾先生关键词:暂无标签

一、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替换到文本原位置![...](0) -> ![...](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格式的文件内容就是它绑定的变量
                                 //得到相应的html/文件
                                console.log(this.$refs.md.d_render);
 
 ??????????}); ???????},  

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

二、md格式的文本的解析

使用marked框架来解析。

方法步骤:

npm install marked --save

在组件中引用:

import marked from ‘marked‘

相应的标签:

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

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文件

原文地址:https://www.cnblogs.com/LULULI/p/10610136.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved