后端返回的数据拼接为字符串后使用markdown,highlight.js转换为html显示到页面

最近写了一个大模型请求的前端页面,后端返回的数据要使用markdown的格式显示出来,这里记录一下功能的实现

1.涉及到两个js插件,marked.js,highlight.js,两个插件的地址分别为marked.js,highlight.js

其中marked.js直接下载文件,highlight.js要先选择语言在下载,使用里面的min.js文件,高亮样式在下载的安装包里面,可以选择一个你喜欢的样式,我这里用的是dark.css

                        // 引入依赖                        
                        <script src="js/highlight.min.js"></script>
	                    <script src="js/marked.min.js"></script>
                        // 高亮样式
                        <link rel="stylesheet" href="style/dark.css" />                        
                        // 配置 marked 使用 highlight.js 进行代码高亮
						marked.setOptions({
							highlight: function (code, language) {
								// highlight.js 默认支持语言检测,所以我们可以传递 null 作为语言参数
								const highlighted = hljs.highlightAuto(code);
								const highCode = `<pre><code class="hljs 
 ${highlighted.language}">${highlighted.value}</code></pre>`; // 给代码块加背景
								return highCode;
							},
							renderer: new marked.Renderer(),
							pedantic: false,
							gfm: true,
							breaks: false,
							sanitize: false, // 禁用转义
							smartLists: true,
							smartypants: false,
							xhtml: false
						});
						const htmlContent = marked(markdownContent, {
						});
                        // 将解析后的HTML内容显示到页面上
						const lastNode = $('.talk').children().last();
						lastNode.find('p').html(htmlContent);

2.markdown和高亮用上面代码基本解决了,但还有一个问题,后端的数据是长连接逐条返回,前端要模拟键盘打字回显到页面,但是这样格式就有了问题,还没有解决,有大佬做过或者有思路欢迎留言,谢谢谢谢!!!!

以上是为了记录此次开发的问题。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值