vue-markdown|基于marked.js的Vue Markdown插件

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

vue-markdown 是一个基于 marked.js 的 Vue Markdown 插件。它是一个简单易用的 Markdown 解析器,可以方便地将 Markdown 文档解析为 HTML。它有如下特点:

  • 功能强大:支持 Markdown 语法的全部特性,例如标题、列表、链接等。

  • 易于使用:只需要在 Vue 组件中引入 vue-markdown 插件,并使用简单的模板语法即可实现 Markdown 的解析和渲染。

  • 高性能:基于 marked.js,性能优异,可以快速地解析和渲染大量的 Markdown 文档。

  • 扩展性强:支持自定义渲染规则,可以通过插件扩展功能,以满足更多的需求。

  • 如果您需要在 Vue 项目中使用 Markdown,可以考虑使用 vue-markdown 插件。它是一个简单易用的解决方案,可以让您快速地实现 Markdown 的解析和渲染。

使用方法

  1. 安装
// npm
npm install vue-markdown
// yarn
yarn add vue-markdown --save
  1. 使用
// 1. 在 Vue 组件中引入插件:在组件中引入 vue-markdown 插件,代码如下:
import VueMarkdown from 'vue-markdown'
 
// 2. 注册组件:在组件中注册 vue-markdown 组件,代码如下
components: {
    'vue-markdown': VueMarkdown
}
 
// 3. 使用组件:在组件模板中使用 vue-markdown 组件,代码如下:
<template>
  <vue-markdown :source="markdownText"></vue-markdown>
</template>   

其中,markdownText 是一个存储了 Markdown 文本的变量。

这是一个简单的使用 vue-markdown 插件的示例。您可以根据需求适当的扩展其功能,例如添加自定义渲染规则、使用插件扩展功能等。

例如,在组件中使用 vue-markdown 插件,可以在模板中添加 slots、props 和 events 的代码,如下:

<template>
  <vue-markdown :source="markdownText" :highlight="false" :options="options" @before-render="beforeRender" @after-render="afterRender">
    <template v-slot:pre="">
      <p>这是一个自定义的前置处理。</p>
    </template>
    <template v-slot:code="props">
      <pre :class="'language-' + props.language">{{ props.code }}</pre>
    </template>
    <template v-slot:blockquote="">
      <blockquote>{{ props.content }}</blockquote>
    </template>
  </vue-markdown>
</template> 

在 script 标签中,可以定义相应的数据、方法和事件处理器。

  1. 配置参数

以下是 vue-markdown 插件的 options 选项的详细列表:

  • html:是否允许解析 HTML 标签。默认为 false。

  • xhtmlOut:是否输出 XHTML 格式。默认为 false。

  • breaks:是否将换行符解析为 <br> 标签。默认为 false。

  • langPrefix:语法高亮语言前缀。默认为 language-。

  • linkify:是否将纯文本链接转换为链接。默认为 false。

  • typographer:是否开启排版选项,例如引号转换、省略号转换等。默认为 false。

  • quotes:引用标记。默认为 “”‘’。

  • highlight:是否高亮代码块。默认为 null。

  • watches:是否观察 source 数据的变化。默认为 true。

  • source:要转换为 HTML 的 Markdown 字符串。默认为空字符串。

  • show:是否显示转换后的 HTML 内容。默认为 true。

  • emoji:是否支持 emoji 表情。默认为 false。

  • tableClass:表格的 CSS 类名。默认为 'markdown-table'。

  • taskLists:是否支持任务列表。默认为 false。

  • anchorAttributes:锚点标签的属性。默认为 {}。

  • prerender:在转换 HTML 前的回调函数。默认为 null。

  • postrender:在转换 HTML 后的回调函数。默认为 null。

  • toc:是否生成目录。默认为 false。

  • tocClass:目录的 CSS 类名。默认为 'markdown-toc'。

  • tocFirstLevel:目录最顶层标题的级别,取值范围为 1-6。默认为 1。

  • tocLastLevel:目录最后一层标题的级别,取值范围为 1-6。默认为 6。

  • tocCallback:目录生成后的回调函数。默认为 null。

  • tocAnchorLinkSymbol:目录中的锚点链接的符号。默认为 '#'。

  • tocAnchorLinkSpace:目录中的锚点链接前的空格。默认为 true。

  • tocAnchorLinkClass:目录中的锚点链接的 CSS 类名。默认为 'markdown-toc-anchor'。

注意:请确保开启了 html 选项,否则目录生成不会生效。

除了以上选项外,还可以添加其他 markdown-it 渲染选项,例如自定义标记、自定义插件等。详细信息请参考 markdown-it 官方文档。

  1. 事件

在 vue-markdown 插件中,events 包含以下两个事件:

  • rendered:在 Markdown 内容被渲染成 HTML 后触发的事件。

  • toc-rendered:在目录被渲染成 HTML 后触发的事件。

您可以通过在组件的 template 中添加 v-on:rendered 和 v-on:toc-rendered 监听器来使用这两个事件。例如:

<vue-markdown
  :source="markdownSource"
  @rendered="handleRendered"
  @toc-rendered="handleTocRendered"
></vue-markdown>

然后,您可以在组件的 script 部分中定义事件处理程序:

methods: {
  handleRendered() {
    console.log('Markdown has been rendered.');
  },
  handleTocRendered() {
    console.log('Table of Contents has been rendered.');
  }
}
  1. 效果演示

👉👉👉 传送门

Vue实现Markdown 本文介绍了如何使用Vue和SpringBoot实现一个Markdown编辑器,涉及了前后端开发中的状态管理、路由设计、API封装、Markdown解析和数据库映射等方面内容。通过本项目,读者可以掌握Vue和SpringBoot在前后端开发中的应用及其基本原理。 阅读详情

相关推荐

Vue中集成marked实现Markdown实时渲染

本文详细介绍了如何在Vue项目中集成marked库实现Markdown实时渲染功能。通过安装marked和highlight.js核心依赖,配置解析器并绑定响应式数据,快速构建一个双栏实时预览编辑器。文章还涵盖了性能优化、自定义渲染规则、XSS安全防范等进阶实践,帮助开发者高效打造流畅的Markdown编辑体验。

weixin_29009971的博客 203

常无欲以观 CAP 之妙,常有欲以观企业应用之徼

摘要: 在 SAP CAP 项目开发中,技术欲望常导致过早陷入微服务、事件驱动等技术细节,而忽视业务本质。CAP 的核心价值在于引导开发者回归业务语言与领域模型,通过 CDS 建模捕捉业务骨架而非数据库表结构。开发初期应保持「无欲」——专注领域对象与关系,让业务逻辑自然呈现;后期则需「有欲」——明确服务边界、权限控制等系统约束。CAP 的妙处在于平衡声明式建模与命令式扩展,避免过度技术化,真正实现「以业务观技术」而非「以技术扭曲业务」。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1888

Markdown 转 HTML 库,推荐大家收藏

Markdown 转 HTML 是前端开发中不可或缺的技能,而选择合适的工具可以事半功倍。

wjianwei666的专栏 1326

vue - marked 解析插件报错:marked__WEBPACK_IMPORTED_MODULE_5___default(...) is not a function(完美解决marked报错)

vuemarkedmarked插件报错,markdown解析插件vue项目,vue网页网站报错,浏览器控制台报错,import marked from 'marked'引入报错,如何解决marked插件报错,vue使用marked解析markdown文件文档内容时报错,TypeError: marked__WEBPACK_IMPORTED_MODULE_5___default(...) is not a function,vue怎么解决marked引入报错,vue3报错解决办法,详细解决方案,Vue

✅ 精选推荐文章 6508

VUEvue-markdown插件实现markdown文件预览(含目录大纲展示)

Vue-Markdown是一个轻量级且高效的库,用于在Vue.js应用程序中渲染Markdown文本。它允许开发者以简洁的方式将Markdown的强大功能与Vue组件的灵活性相结合,提升开发效率和用户体验。vue-markdown 是一个基于 marked.jsVue Markdown 插件。它是一个简单易用的 Markdown 解析器,可以方便地将 Markdown 文档解析为 HTML。它有如下特点:功能强大:支持 Markdown 语法的全部特性,例如标题、列表、链接等。

VT_馒头的博客 1万+

Vue中如何进行Markdown文档展示与解析?

Vue项目中,Markdown文档的使用越来越普遍,因此在Vue中进行Markdown文档展示与解析也变得越来越重要。本文介绍了两个第三方库:vue-markdownmarkdown-it,它们可以帮助我们展示和解析Markdown文档。除此之外,还介绍了一些配置选项和插件,可以帮助我们定制Markdown解析器的行为。希望本文能够对你有所帮助!

it_xushixiong的博客 3万+

vue使用markdown

前言: 项目开发需要用到富文本编辑器,最终确定使用vue框架 vue-meditor 。 1、vue-meditor简介 一款使用marked和highlight.js开发的一款markdown编辑器,除常见markdown语法外,支持快捷输入、图片粘贴、代码复制、全屏编辑、预览等功能 1.1、优点: 使用简单,安装npm包或者引入js包就行 方便扩展,定制型比较强 功能强大,总...

西洲 9108

vue2使用MarkDown的回显与生成自定义目录

注意prism.highlightAll()并不会自己生效,所以我们需要监听对应显示的数据调用该方法。选择你想要的主题换上去。使用也很简单,选择自己想要的模板,点击下载样式就好了。这里的hljs.highlightAll()不确实是否要监听!此时页面应渲染出来了,但是没有markdown的样式!安装完毕会生成一个babel.config.js。注意样式可能会影响页面滚动!使用highlight.js

m0_64787068的博客 1617

vue使用marked和highlight.js实现代码高亮效果

marked是对markdown进行解析的插件,它可以把markdown语法解析成html语法,从而实现页面效果,而highlight.js是对解析出的代码实现高亮效果。安装:避免踩我走的坑,安装尽量按照这个版本安装。代码:index.vue

CC酱写前端的博客 2607

vue3解析markdown文件为html并且高亮显示代码块

本文主要记录了vue3项目里怎么引入解析markdown文件为html,并且高亮显示代码块。(vue3+vite+marked+highlight.js)。希望能给有这方面需求的伙伴们带来不同的思路

零凌林的博客 5511

让页面支持markdown

vue中使页面支持markdown 在最近的开发中,遇到一个问题,就是博客都是使用markdown语法写的,我在自己的页面中怎么才能很好的渲染它们。 确定两种方法 1.markdown转为html,网页读取html内容进行渲染。 2.网页直接读取markdown内容,然后解析为html进行渲染。 最终确定使用第二种方法,因为使用第一种方法的话,维护起来太不容易,想要修改博客内容时,每修改一次都得重新转一次html,而第二种方法只需要修改markdown内容即可。 这时候就需要考虑我们的网页拿到mar

tao_meng_的博客 2507

Vue3】实现一个高可用的 markdown 显示组件

这篇文章是 Q&A 系统实现续篇。如果你看过之前的文章,并且也跟着提供的代码尝试了,你应该会觉得里面的 Markdown 组件对代码、表格、流程图、时序图等等的显示效果不尽人意,那么如何实现像 DeepSeek 、Kimi 等官网实现的效果呢,这篇文章将带你实现。

herogus的博客 5873

前端好用的markdown 插件总结(涉及生成目录)

兜兜转转没有发现特别好用的插件,最后自己用正则解析marked.js,生成的html实现。代码实现this.mdContent (markdown 内容)return {}})

weixin_43856422的博客 3291

vue3 - 详细实现安装引入tinymce富文本编辑器教程,并且在编辑器里内置markdown编辑器,支持富文本转换为markdown语法并且解析显示,vue集成tinymce和markdown插件

vue3,nuxt3,tinymce,富文本编辑器,markdown,编辑器,vue3 引入tinymce详细教程,vue3引入markdown编辑器详细教程,如何让两个语法的编辑器同时存在,vue3集成Tinymce富文本和markdown编辑器,vue3 中使用 TinyMCE 富文本编辑器,互相切换,同时内置两种编辑器,转换,所见所得,vue3项目中使用markdown编辑器(v-md-editor),让用户自己选择用哪个编辑器,富文本内容可以转成markdown内容吗,vue3实现富文本转mark

✅ 精选推荐文章 4176

开源项目 vue-doc-preview 的扩展与二次开发潜力

vue-doc-preview 是一个基于 Vue.js 的开源项目,它提供了一个用于在网页上预览 Markdown 文档的组件。该项目旨在帮助开发者快速集成 Markdown 文档的预览功能,无需担心复杂的 Markdown 解析和渲染问题,使得文档展示更加直观和方便。 ## 2. 项目的核心功能 - **Markdown 预览**:vue-doc-preview 支持标准的 Markdow...

gitblog_00498的博客 506

vite实现md转vue

前言: 早期UI库文档代码与渲染用的是 2 套代码,自然改文档时需要改 2 份代码。 md 转 vue 的目的就是为了能让渲染代码与文档代码共用一套代码。 整体思路 我们知道,vite pulgin 将 md 文件转换成 vue 组件渲染的主要流程是: 配置 vue router 路由,指向 .md 文件 编写 vite 插件.md 文件解析成 vue 文件字符串 最后由 vite 的插件 @vitejs/plugin-vuevue 文件字符串编译成函数组件返回给前端 我们知道,.md 文件

舜岳的博客 2415

Vite Markdown生成文档和演示案例插件

实现基于`Vite`插件机制实现对`markdown`文件内容进行转换。核心通过`marked`结合`hightlight.js`实现代码高亮和美化。并且可让文档中带有如`preview`指定标识的`markdown`代码块替换为组件,体验预览效果。支持`Vue`和`React`框架

dsyuan001的博客 976

vue中使用marked+highlight.js实现代码高亮效果

marked是对markdown进行解析的插件,它可以把markdown语法解析成html语法,从而实现页面效果,而highlight.js是对解析出的代码实现高亮效果,在实现代码高亮的时候我也用了其他方式,效果并不理想,踩了一些坑,下面给大家介绍如何避免这些坑! 安装 marked npm install marked --save 安装 highlight.js npm install highlight.js --save 实现代码 <template> <div class.

qq_41965819的博客 9874

Vue 技术博客:从零开始构建一个 Vue Markdown 编辑器

Markdown 是一种轻量级标记语言,它允许我们使用易读的格式编写文档,并能轻松转换为结构化的 HTML 页面。Vue.js 则是一个用于构建用户界面的渐进式框架。结合两者,我们可以创建出既美观又实用的应用程序。这篇文章的目标是教你如何在 Vue 项目中实现一个简单的 Markdown 编辑器。通过上述步骤,我们就成功地构建了一个基本但功能齐全的 Vue Markdown 编辑器。这个过程不仅展示了 Vue 的强大能力,还让我们对 Markdown 的工作原理有了更深的理解。

王大师企业官方博客 1043
上一篇: vue评分组件|awesome-vue-star-rating
下一篇: vuejs-datepicker|简单易用的Vue.js日期选择组件
delmarks
博客等级 码龄14年 17粉丝 46原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值