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

这篇具有很好参考价值的文章主要介绍了vue-markdown|基于marked.js的Vue Markdown插件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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. 效果演示

👉👉👉 传送门文章来源地址https://www.toymoban.com/news/detail-620678.html

到了这里,关于vue-markdown|基于marked.js的Vue Markdown插件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VUE2.0集成 Markdown 编辑器

    Markdown编辑器的使用 这是一款基于Vue的markdown编辑器。既可以用来编辑Markdown语法,又可以用来解析 效果图,mavonEditor实现了Markdown集成 Markdown是一种标记语言,相较于word文档更加清晰方便,适合进行笔记等。将Markdown集成进入自己项目之后,就可以在项目中使用的Markdown编辑器

    2024年02月10日
    浏览(88)
  • vue页面中展示markdown以及katex公式

    数据库中有markdown语法的字符串,需要展示为正常的页面,难点在于其中的katex数学公式 使用 showdown 及其族系插件 npm i showdown npm i showdown-katex 如果公式中有开根号,那么这个公式会出现两次。第一次是正常根号展示,第二次是根号内公式和一个无限长的根号。解决方法是用样

    2024年02月03日
    浏览(35)
  • 如何在vue3中加入markdown语法

    yarn add md-editor-v3 或者是在vue图形化界面中直接搜索 md-editor-v3 进行安装。 引入可以参考这个,根据自己的需求进行修改和添加。 参考md-editor-v3,文档比较详细。可以参考一下。=

    2024年02月13日
    浏览(42)
  • Vue项目集成Markdown标记语言编辑器(MavonEditor)

    这是一款基于Vue的markdown编辑器。既可以用来编辑Markdown语法,又可以用来解析 效果图,mavonEditor实现了Markdown集成 Markdown是一种标记语言,相较于word文档更加清晰方便,适合进行笔记等。将Markdown集成进入自己项目之后,就可以在项目中使用的Markdown编辑器了 mavon-editor:  2.1

    2024年02月07日
    浏览(104)
  • vue3中使用cherry-markDown步骤

    附cherry-markDown官网及api使用示例 官网:GitHub - Tencent/cherry-markdown: ✨ A Markdown Editor api:Cherry Markdown API 考虑到复用性,我在插件的基础上做了二次封装,步骤如下: 1.下载  npm install cherry-markdown --save 2..先在html中定义一个markDown容器,设置id及样式 3.在js中引入markDown 4.定义需

    2024年02月12日
    浏览(32)
  • vue中实现markdown+代码高亮格式渲染,及内容一键复制功能

    涉及组件:vue-markdown、highlight.js、clipboard 完成功能:将数据以markdown格式渲染,代码部分高亮,内容可一键复制 ①main.js ②CodeCopy.vue vue-markdown可能存在某些问题,比如数据中的1. 2. 3. 等标号会被莫名吞掉隐藏。 经观察发现 : 这样格式的数据,标号会被隐藏:nn1. 空格 ;如

    2024年02月10日
    浏览(36)
  • 探索uniapp+vue3解析markdown语法|uniapp键盘撑起

    最近正在尝试使用uniapp+vue3开发仿制chatgpt会话功能。 如上图:经过测试在 h5/App端/小程序端 均支持markdown语法解析,键盘撑起后,整体页面和顶部自定义导航栏不会被顶起。 使用了 markdown-it 和 highlight.js 插件实现markdown语法解析及高亮代码。 初始化markdown插件 解析markdown语法

    2024年02月11日
    浏览(61)
  • vue3 + mark.js | 实现文字标注功能

    1、监听鼠标抬起事件,通过 window.getSelection() 方法获取鼠标用户选择的文本范围或光标的当前位置。 2、通过 选中的文字长度是否大于0 或 window.getSelection().isCollapsed (返回一个布尔值用于描述选区的起始点和终止点是否位于一个位置,即是否框选了)来判断是否展示标签选择的

    2024年02月08日
    浏览(43)
  • vue3 + mark.js 实现文字标注功能

    2024年02月04日
    浏览(57)
  • vscode 编写markdown的相关插件

    Mermaid Preview +Markdown All in One即可 在 Visual Studio Code (VS Code) 中编写 Markdown,有许多相关的插件可供选择。以下是一些常用的插件: Markdown All in One : 提供了许多实用的功能,如快速预览、表格格式化、自动补全、目录生成等。 Markdownlint : 用于检查和纠正 Markdown 文件中的语法和

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包