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

vue3使用v-md-editor完成Markdown内容展示

安装

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

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

引入文件

        在main.js中引入,并初始化VMdPreview

import './assets/main.css'

import { createApp } from 'vue'
import { createPinia } from 'pinia'

import App from './App.vue'
import router from './router'

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

// highlightjs
import hljs from 'highlight.js';
// 高亮语法
import Prism from "prismjs";

VMdPreview.use(vuepressTheme, {
    Hljs: hljs,
    Prism: Prism,
    config: {
        toc: {
          includeLevel: [3, 4],
        },
      },
});

const app = createApp(App)

app.use(createPinia())
app.use(router)
app.use(VMdPreview);

app.mount('#app')

注册代码语法高亮

        官方文档上用的是github风格样式,不好看。换成vuepress风格。先安装语言包

# yarn
yarn add vite-plugin-prismjs --dev

# npm
npm install vite-plugin-prismjs

vite方式

        在vite.config.js中注册vuepress 主题 | v-md-editor

// vite.config.js
import { defineConfig } from 'vite';
import prismjs from 'vite-plugin-prismjs';

export default defineConfig({
  plugins: [
    prismjs({
      languages: 'all',
    }),
  ],
});

页面使用

<script setup lang="ts">
import { ref, onMounted, onUnmounted, watch } from "vue";

let scriptUrl = ref('/public/md/font.md');
let text = ref('');
let init = function(){
    fetch(scriptUrl.value)
    .then(function (data) {
        let tempText = data.text();
      return tempText;
    })
    .then(function (data) {
        let tempText = data;
        text.value = tempText;
    });
};

onMounted(() => {
    init();
});

</script>
<template>
    <v-md-preview :text="text"></v-md-preview>
</template>
  
<style>
  
</style>
  

参考

vue使用v-md-editor完成Markdown内容展示起因 参加了校外的一个比赛,主题是智慧教育,想要做一个Mar - 掘金

预览组件 | v-md-editor

vuepress 主题 | v-md-editor

相关文章:

  • 正则表达式核心语法 + Python的 re 库中常用方法
  • 二分答案-P8647 [蓝桥杯 2017 省 AB] 分巧克力
  • iCare Format Recovery:轻量级数据恢复工具
  • 某地老旧房屋自动化监测项目
  • JVM 每个区域分别存储什么数据?
  • Apache SeaTunnel 2.3.10 正式发布 —— 全新功能与多项改进,助力数据集成再升级!
  • 量子计算与AI音乐——解锁无限可能的音色宇宙
  • 【C++ SIMD】第1篇:SIMD基础概念与开发环境配置
  • 离散数学问题集--问题4.40
  • Burp Suite如何配置证书
  • 增加等IO状态的唤醒堆栈打印及缺页异常导致iowait分析
  • 2个 C# 的文本解析工具开源项目
  • 【操作系统】查内存泄漏方法
  • ROS相关学习笔记
  • 第二十一章:Python-Plotly库实现数据动态可视化
  • 私有IP地址和公有IP地址的范围有哪些?你了解吗?
  • JAVA数据库增删改查
  • 总结面试中可能会涉及到简历的问题
  • C++练习3
  • Seg-Zero:通过认知强化实现的推理链引导分割
  • 网站怎么做才不会被封/百度top排行榜
  • 做网站app怎么赚钱吗/宣传渠道和宣传方式有哪些
  • wordpress 精品主题/厦门百度seo公司
  • 用cms做个网站/seo精准培训课程
  • 基于c 的网站开发/百度一下你就知道
  • 网站哪家做的比较好/免费职业技能培训网