用showdown预览markdown文件(vue3.0)

前言

需求:针对对后台爬去的markdown数据,页面做展示,无需编辑

使用

  • 安装

    npm install showdown --save
    
  • 组件中使用

    import showdown from "showdown";
    	data() {
    	    return {
    	      converter: null,
    	      suggestionsRepairhtml:'',
    	    };
    	  },
    
    	// 使用
    	methods: {
    	     // 转换markdown语法为html语法 val为接口获取的markdown字符串
    	    transMarkDown(val) {
    	      this.suggestionsRepairhtml = this.converter.makeHtml(val);
    	    },
      },
      mounted(){
      	this.converter = new showdown.Converter();
    	// 支持解析表格
    	this.converter.setOption("tables", true);
     }
    
  • github-markdown-css(markdown文件css插件)

     // 安装
     npm i github-markdown-css
     // 组件导入
     import 'mavon-editor/dist/markdown/github-markdown.min.css';
     // 使用
     <div class="markdown-body">
         <pre
             v-html="suggestionsRepairhtml"
           />
      </div>
    

vue3.0+ts中使用

  • 额外安装

    npm install @types/showdown
    
  • 使用

    <script lang='ts' setup>
    import 'mavon-editor/dist/markdown/github-markdown.min.css';
    import showdown from 'showdown'
    const converter = new showdown.Converter()
    converter.setOption('tables', true);
    const suggestionsRepairhtml = ref<any>('11')
    // data为接口数据
    suggestionsRepairhtml.value = converter.makeHtml(data.suggestion || '暂无')
    </script>
    

css样式

<style lang="scss">
ol{
    list-style-type: decimal !important;
    margin-block-start: 1em;
    margin-block-end: 1em;
    li{
      list-style-type: decimal !important;
      margin: 4px 20px;
    }
    white-space: nowrap;
  }
.markdown-body p {
  margin-top: 0;
  margin-bottom: 0px;
}
.markdown-body table {
    display:inline-table;
    width: 100%;
    overflow: auto;
}
em{
    font-weight: 500;
    color: #ffa300;
}
.markdown-body ol, .markdown-body ul {
    padding-left: 0em;
}
</style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值