前端解析markdown处理表格样式
后端返回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;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY