当前位置: 首页 > news >正文

react中解析markdown文本

背景

产品想把从某个地方复制出来的markdown文本,保存下来,并且在前端这边展示的时候,按照对应的格式展示

工具

  • marked
  • highlight.js
  • marked-highlight

原来的marked版本,是可以直接处理高亮配置,但是后续更新为了轻量化,就由marked-highlight来干这件事情

marked文档
在这里插入图片描述

安装

npm i -S marked highlight.js marked-highlight

使用

  1. 入口文件中增加,高亮所需要的样式文件
// todo 后续优化,根据用户选择的样式 动态导入
import 'highlight.js/styles/a11y-dark.css';
  1. marked的配置
import { Marked } from 'marked';
import highlight from 'highlight.js';
import { markedHighlight } from 'marked-highlight';const marked = new Marked(markedHighlight({langPrefix: 'hljs language-',highlight(code, lang) {const language = highlight.getLanguage(lang) ? lang : 'plaintext';return highlight.highlight(code, { language }).value;}}),{gfm: true,breaks: true,pedantic: false,}
)export default marked;
  1. 使用方式
// 伪代码
import marked from 'xxx';const func = async text => {const parseRES = await marked.parse(text ?? '')console.log(parseRES) // 这里打印出来带有标签
}// render部分
return (<div dangerouslySetInnerHTML={{__html: parseRES}}> />
)

效果如下:
在这里插入图片描述

写在最后

如果有帮到小伙伴们,就帮主播点个小小的赞支持一手,感谢!


http://www.mrgr.cn/news/33983.html

相关文章:

  • 机器学习与深度学习的区别:深入理解与应用场景
  • 控糖新食尚,糖尿病患者的美味与健康同行!
  • 【MYSQL】聚合查询、分组查询、联合查询
  • 【OSS安全最佳实践】对OSS内身份证图片中身份证号进行脱敏
  • 了解你的GPU:深入探讨AMD SMI
  • 教师管理系统小程序+ssm论文源码调试讲解
  • MyBatis-Plus 实体类注解
  • 网站建设中,sitemap是什么,有什么作用
  • 如何撰写出色的API接口文档:提升开发效率与用户体验
  • 爷爷不泡茶武汉头一杯,东方茶港主题店盛大开业!
  • Pandas-日期类型处理代码详解
  • SQLServer运维实用的几个脚本
  • 【题解】—— LeetCode一周小结38
  • ICM20948 DMP代码详解(38)
  • 【功能详解】IoTDB 与 ThingsBoard 成功集成!
  • NASA:ASTER L1A 重建未处理仪器数据 V003
  • Easy Excel从入门到精通!!!
  • 【Python】Tartiflette:用 Python 实现的 GraphQL 服务器
  • Android15音频进阶之新播放器HwAudioSource(八十六)
  • C++在线开发服务器环境搭建