首页 > 其他分享 >vue项目中展示markdown文件(markdown-it-vue)

vue项目中展示markdown文件(markdown-it-vue)

时间:2024-04-16 09:22:39浏览次数:17  
标签:lang MarkdownItVue markdown md 展示 vue import

//安装依赖
npm i markdown-it-vue

//引入markdown-ite-vue
import MarkdownItVue from "markdown-it-vue";
import "markdown-it-vue/dist/markdown-it-vue.css";

//注册组件
 components: {
        MarkdownItVue
},

//使用组件
<markdown-it-vue class="md-body" :content="htmlMD" />

//将.md文件转化为markdown-it-vue可以解析的字符串
loadMarkdown()方法

//完整代码
<template>
  <div class="md-content">
    <markdown-it-vue class="md-body" :content="htmlMD" />
  </div>
</template>
<script>
import MarkdownItVue from "markdown-it-vue";
import "markdown-it-vue/dist/markdown-it-vue.css";
export default {
    components: {
        MarkdownItVue
    },
    data(){
      return{
        htmlMD: "",
      }
    },
    methods:{
    loadMarkdown() {
		    // 假设您有一个本地markdown文件路径
		    const markdownPath = '/static/test.md'
            //通过fetch请求将.md文件转化为markdown-it-vue可以解析的字符串
		    fetch(markdownPath)
			    .then(response => response.text())
			    .then(markdown => {
                    //实验highlight未生效
				    // const md = new MarkdownIt({
					//     html: true,
					//     linkify: true,
					//     typographer: true,
					//     highlight: function (str, lang) {
					// 	    if (lang && hljs.getLanguage(lang)) {
					// 		    try {
					// 			    return hljs.highlight(lang, str).value;
					// 		    } catch (e) { }
					// 	    }
					//
					// 	    return ''; // use external default escaping
					//     }
				    // });
				    // this.markdownContent = md.render(markdown);
                    
                    //此处的markdown即为字符串
				    this.htmlMD = markdown
			    })
			    .catch(error => {
				    console.error('Error loading markdown:', error);
			    });
	    }
    },
    created(){
      this.loadMarkdown()
    }
}
</script>

标签:lang,MarkdownItVue,markdown,md,展示,vue,import
From: https://www.cnblogs.com/LiZiheng/p/18137399

相关文章

  • VUE:vite添加环境变量(一)
    新建'.env'(和vite.config.js同一个路径下)VITE_APP_API_URL=http://localhostvite.config.jsimport{defineConfig,loadEnv}from'vite'exportdefaultdefineConfig((mode)=>{constenv_config=loadEnv(mode,process.cwd())constV......
  • 《Vue.js设计与实现》 第七章 渲染器的设计
    7.1渲染器与响应系统的结合最简单的渲染器及其使用//渲染器functionrenderer(domString,container){container.innerHTML=domString}//使用letcount=1renderer(`<h1>${count}</h1>`,document.getElementById('app'))渲染器与响应式系统结合constcount......
  • markdown
    markdown基础语法1.标题#标题一##标题二###标题三####标题四2.字体*这是斜体字体***这是加粗字体*****这是加粗斜体字体***~~这是带有删除线的文字~~这是删除线文字3.引用>这是一个引用>>这是一个嵌套引用4.分割线---***5.列表-列表1-列表21.......
  • 03 Vue3路由
    Vue3的路由与Vue2相似,关于Vue2的路由器相关可以参考Vue2vue-router下面是一些补充路由器工作模式history模式优点:URL更加美观,不带有#,更接近传统的网站URL。缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有404错误。constrouter=createRouter({ history:c......
  • MarkDown流程图
    markdown语法```mermaid流程图/时序图```.流程图布局TB,从上到下TD,从上到下BT,从下到上RL,从右到左LR,从左到右```mermaidgraphLR```.Example```mermaidgraphLRA(体素化)-->B[体素编码器]B[体素编码器]-->C[中间编码器] C[中间编码器]-->D[......
  • vue:日期的相关方法
    1、获取当天日期,格式:yyyy-MM-ddgetCurrentDate(n){vardd=newDate();if(n){dd.setDate(dd.getDate()-n);}varyear=dd.getFullYear();varmonth=dd.getMonth()+1<10?"0"+(dd.getMonth......
  • vue2项目 network无法访问此网站
    vue2项目启动后,local可以访问,但是network不能访问防火墙等等都检查了查到原因如下:本来写的是这样,实际上端口号需要保持一致devServer:{disableHostCheck:true,open:true,host:'0.0.0.0',port:8002,https:false,hotOnly:false,public......
  • vue指令中的import不生效,如何在指令中使用import { useBaseStore, useLocalStore } fr
    在Vue指令中,不能直接使用父组件中的导入语句和变量。指令是在模板编译阶段执行的,而不是在JavaScript的运行时执行的。因此,无法在指令中直接访问父组件的导入和变量。在Vue指令中,不能直接使用ES6的import语法,因为指令是在模板编译阶段执行的,而不是在JavaScript的运行......
  • Vue中的this.$options.data()和this.$data
    Vue中的this.$options.data()和this.$data:https://blog.csdn.net/mocoe/article/details/89682022?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171316202916800178541038%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171316......
  • 若依解决VUE前端时间显示问题
    参考:https://blog.csdn.net/qq_43544074/article/details/119139313#:~:text=%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E7%9A%84%E6%98%BE%E7%A4%BA%E6%97%B6%E9%97%B4%E3%80%82%20%E8%A7%A3%E5%86%B3%E5%A6%82%E4%B8%8B%EF%BC%9A%201%E3%80%81%E5%9C%A8%E5%90%8E%E7%AB%AF%E4%BB......