当前位置: 首页 > news >正文

vue3中展示markdown格式文章的三种形式

一、安装

# 使用 npm
npm i @kangc/v-md-editor -S

# 使用yarn
yarn add @kangc/v-md-editor

二、三种实现形式

1、编辑器的只读模式

main.ts文件中配置:

import VMdEditor from '@kangc/v-md-editor';
import '@kangc/v-md-editor/lib/style/base-editor.css';

const app = createApp(/*...*/);

app.use(VMdEditor);

 使用的组件中:

<template>
  <v-md-editor v-model="text" mode="preview"></v-md-editor>
</template>、
//text为要传入的markdown格式的内容

2、预览组件

main.ts中配置:

import VMdPreview from '@kangc/v-md-editor/lib/preview';
import '@kangc/v-md-editor/lib/style/preview.css';

const app = createApp(/*...*/);

app.use(VMdPreview);

使用的组件中:

<template>
  <v-md-preview :text="text"></v-md-preview>
</template>
//text为要传入的markdown格式的内容

3、html预览组件

main.ts中配置:

import VMdPreviewHtml from '@kangc/v-md-editor/lib/preview-html';
import '@kangc/v-md-editor/lib/style/preview-html.css';

// 引入使用主题的样式
import '@kangc/v-md-editor/lib/theme/style/vuepress';

const app = createApp(/*...*/);

app.use(VMdPreviewHtml);

使用的组件中:

<template>
  <!-- preview-class 为主题的样式类名,例如vuepress就是vuepress-markdown-body -->
  <v-md-preview-html :html="html" preview-class="vuepress-markdown-body"></v-md-preview-html>
</template>

三、实现其他功能

1、设置外观

import vuepressTheme from '@kangc/v-md-editor/lib/theme/vuepress.js';

import '@kangc/v-md-editor/lib/theme/style/vuepress.css';    
//这个css文件,它与 vuepressTheme 主题相关,定义了主题的颜色、字体、间距等样式。

// 使用 vuepress 主题
VueMarkdownEditor.use(vuepressTheme);

2、对代码进行语法高亮并显示代码语言

import Prism from 'prismjs';

VueMarkdownEditor.use({
  Prism,
});

3、代码块显示行号

//main.ts中

import VueMarkdownEditor from '@kangc/v-md-editor';
import createLineNumbertPlugin from '@kangc/v-md-editor/lib/plugins/line-number/index';

VueMarkdownEditor.use(createLineNumbertPlugin());

4、高亮代码行 

import VueMarkdownEditor from '@kangc/v-md-editor';
import createHighlightLinesPlugin from '@kangc/v-md-editor/lib/plugins/highlight-lines/index';
import '@kangc/v-md-editor/lib/plugins/highlight-lines/highlight-lines.css';

VueMarkdownEditor.use(createHighlightLinesPlugin());

5、快捷复制代码

main.ts中配置:

import VueMarkdownEditor from '@kangc/v-md-editor';
import createCopyCodePlugin from '@kangc/v-md-editor/lib/plugins/copy-code/index';
import '@kangc/v-md-editor/lib/plugins/copy-code/copy-code.css';

VueMarkdownEditor.use(createCopyCodePlugin());

组件中使用:

<template>
  <v-md-editor v-model="text" height="500px" @copy-code-success="handleCopyCodeSuccess" />
</template>

//使用@copy-code-success
<script>
export default {
  methods: {
    handleCopyCodeSuccess(code) {
      console.log(code);
    },
  },
};
</script>

相关文章:

  • Solana 核心概念全解析:账户、交易、合约与租约,高流量区块链技术揭秘!
  • kan与小波,和不知所云的画图
  • 【Python】使用Python合并多个CSV文件
  • 【算法学习之路】4.简单数论(4)
  • (转)SpringBoot和SpringCloud的区别
  • 总结前端常用数据结构 之 队列篇【JavaScript 】
  • 数据库操作命令详解:CREATE、ALTER、DROP 的使用与实践
  • 探秘《矩阵之美》:解锁矩阵的无限魅力
  • 【在线用户监控】在线用户查询、强退用户
  • 7.1.1 计算机网络的组成
  • Q-Former 的设计与应用
  • (十 三)趣学设计模式 之 模版方法模式!
  • C++动态与静态转换区别详解
  • games101 作业5
  • 软件工程---净室软件工程
  • I2C驱动(九) -- i2c_adapter控制器驱动框架编写
  • [含文档+PPT+源码等]精品基于Python实现的vue3+Django计算机课程资源平台
  • GPON/4+1+wifi(2.4g)(c系统)获取超级管理员密码
  • 系统调用有哪些函数
  • Compose笔记(六)--Dialog
  • 新疆建设兵团职称网站/站长工具是干嘛的
  • 计算机网站开发论文参考文献/营销型企业网站建设步骤
  • 权威的合肥网站建设/自动点击器软件
  • 新网站的建设方案/百度sem是什么
  • 小程序商城模板免费/西安seo建站
  • 赣州做网站多少钱/百度推广按效果付费是多少钱