首页 > 其他分享 >前端解析markdown处理表格样式

前端解析markdown处理表格样式

时间:2023-05-24 17:57:33浏览次数:36  
标签:markdown 表格 marked js ol 10px table 解析 border

后端返回markdown格式,前端解析,使用的是marked.js
安装

npm install marked --save

另外我也给代码做了高亮

npm install highlight.js --save

main.js

import hljs from 'highlight.js';
//封装成一个指令,highlight是指令的名称
Vue.directive('highlight', (el) => {
  let blocks = el.querySelectorAll('pre code')
  blocks.forEach((block) => {
    // 创建ol标签元素
    let ol = document.createElement("ol");
    block.parentNode.appendChild(ol);

    hljs.highlightBlock(block)
})

chatGpt.vue

 // html部分
<div class="detail" v-highlight v-html="answer"></div>
//js部分
import { marked } from 'marked';
// 引入代码高亮样式
import 'highlight.js/styles/darcula.css';

// res.data为后端返回的markdown格式的信息
this.answer = marked(res.data)

表格部分直接解析没有线条,我自己写了table的样式

   ::v-deep XXXXX{   
        table {
              border: 1px solid #ccc;
            }
            table td,
            table th {
              border-bottom: 1px solid #ccc;
              border-right: 1px solid #ccc;
              padding: 5px 10px;
            }
            table th {
              // border-bottom: 2px solid #ccc;
              text-align: center;
              background: #dee8ee;
            }
            table th:last-child {
              border-right: none;
            }
            table td:last-child {
              border-right: none;
            }

            table tr:last-child td {
              border-bottom: none;
            }
            tr:nth-child(even) {
              background: #eff3f5;
            }
            /* blockquote 样式 */
            blockquote {
              display: block;
              border-left: 8px solid #d0e5f2;
              padding: 5px 10px;
              margin: 10px 0;
              line-height: 1.4;
              font-size: 100%;
              background-color: #f1f1f1;
            }
 /* ul ol 样式 */
            ul,
            ol {
              margin: 10px 0 10px 20px;
            }
          }
}

标签:markdown,表格,marked,js,ol,10px,table,解析,border
From: https://www.cnblogs.com/sinceForever/p/17429040.html

相关文章

  • Flink白话解析Watermark
    一、摘要如果想使用Flink,Flink的Watermark是很难绕过去的概念。本文帮大家梳理Watermark概念 二、Watermark疑问1、Flink应用的常见需求是什么如公司运营一个官网,想统计下过去一分钟有多少用户访问官网。一分钟可以理解为Flink的窗口,在这一分钟统计有多少用户。窗口的作用......
  • Element 表格固定列横向滚动条无法拖动的问题解决
    在Element-UI中,当对表格列进行固定后,底部的横向滚动条就无法拖动了,主要的问题就是固定区域盖住了横向滚动条。方案一:修改el-table__body-wrapper样式的层级,随便设个层级就可::v-deep.el-table__body-wrapper{z-index:2}//加了fixed之后失效::v-deep.el-table__fi......
  • 【Netty 从成神到升仙系列 大结局】全网一图流死磕解析 Netty 源码
    ......
  • 用pageOffice控件实现 office word文档在线编辑 表格中写数据的方法
    PageOffice对Word文档中Table的操作,包括给单元格赋值和动态添加行的效果。1应用场景OA办公中,经常要在文档的指定位置表格,填充后端指定数据。如word文档中,表格数据如下表格中人员信息怎么把后端的关键数据,填充到word文档表格中呢?2实现方法文档中设置好书签,设置好表......
  • Markdown标题自动添加编号
    用markdown写文档很方便,但是有个困扰的地方,就是标题的编号问题。写文档的时候,经常会在中间插入新的标题和内容,所以手动管理编号的话,如果新的标题插在前面,则要调整后面所有的编号。如果在文档完成后再手动加上编号的话,不仅容易忘记,而且有时候我们是在其他编辑器里编辑文档再导出......
  • 关于GPUImage 两路输入 其中一路为 GPUImagePicture 的 问题的详细解析
    关于GPUImage两路输入其中一路为GPUImagePicture的问题的详细解析情况1:GPUImagePicture->添加到1此时调用不会crashGPUImageMovie->添加到0在GPUImageTwoInputFilter中由于纹理1为GPUImagePicture-(void)setInputFramebuffer:(GPUImageFramebuffer*)newInputFramebuffe......
  • 深入解析Docker(2)Docker引擎
    分享一下最近正在b站上看动力节点的docker课程,整理了相关学习笔记,会按照学习进度慢慢更新的,加油2Docker引擎2.1Docker引擎发展历程2.1.1首发版本架构Docker在首次发布时,其引擎由两个核心组件构成:LXC(LinuxContainer)与DockerDaemon。不过,该架构依赖于LXC,使得Docker存在严重的......
  • 常用的表格检测识别方法——表格结构识别方法(上)
    第三章 常用的表格检测识别方法3.2表格结构识别方法  表格结构识别是表格区域检测之后的任务,其目标是识别出表格的布局结构、层次结构等,将表格视觉信息转换成可重建表格的结构描述信息。这些表格结构描述信息包括:单元格的具体位置、单元格之间的关系、单元格的行列位置等。......
  • SpringBoot中操作Redis解析JsonArray数据为对象List(ruoyi字典值sys_dict为例)
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662在上面搭建系统的基础上,会将系统的字典值缓存进redis中。看数据格式存储的是Json数组,如何从redis中读取并解析成对象的list从而进行数据处理。注......
  • XML解析之DOM解析
    XML解析之DOM解析XML结构是一种树型结构,处理步骤都差不多,Java己经将它们封装成了现成的类库。目前流行的解析方法有三种,分别为DOM、SAX和DOM4j。本文将讲解DOM解析。DOM(DocumentObjectModel,文档对象模型)是W3C组织推荐的处理XML的一种方式。它是一种基于对象的API,......