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

nodejs md文件转html

const marked = require('marked');// 要转换的 Markdown 文本
const markdownText = `
# Hello, Markdown!This is a paragraph.- List item 1
- List item 2
`;// 使用 marked 将 Markdown 转换为 HTML
const html = marked(markdownText);console.log(html);

我直接读取md文件转换结果有误,第1行本应是标题1却变成了段落。文件内容跟上面字符串完全一样。后来打印二进制才知道从文件读取的前面多了些东西,原因是文件用了UTF8 BOM编码,最后改成UTF8编码问题解决。

markdownContent = fs.readFileSync('.test.md', 'utf8');
const encoder = new TextEncoder();
console.log(encoder.encode(markdownContent));

marked用法

覆盖默认的渲染函数
const marked = require('marked');// 覆盖默认的渲染函数
const renderer = {// 处理标题的渲染函数,text 是标题文本,depth 是标题级别heading(text, depth) {// 将文本转换为小写,并将非单词字符替换为连字符 -const escapedText = text.toLowerCase().replace(/[^\w]+/g, '-');// 返回生成的 HTML 代码片段,包含锚点和标题文本return `<h${depth}><a name="${escapedText}" class="anchor" href="#${escapedText}"><span class="header-link"></span></a>${text}</h${depth}>`;},code(raw, lang) {return `<pre><code class="prism language-${lang}">${raw}</code></pre>`;
}
};// 将自定义的渲染函数应用于 marked 模块
marked.use({ renderer });// 解析并输出 Markdown 文本
console.log(marked.parse('# heading+'));
const markdownText = `
\`\`\`python
print("Hello, World!")
\`\`\`
`;
console.log(marked.parse(markdownText));

官方资料:
https://marked.js.org/using_pro

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何在 Microsoft Edge 上使用开发人员工具
  • Spring Boot Vue 毕设系统讲解 3
  • 高效利用iCloud:释放你的数字生活
  • Spring框架Mvc(2)
  • jmeter-beanshell学习5-beanshell加减乘除运算
  • 推荐一款Win11主题WPF UI框架
  • Mysql 高性能索引
  • AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.07.01-2024.07.05
  • 使用pycuda + skcuda 遇到 OSError: CUDA runtime library not found 的解决方案
  • Python酷库之旅-第三方库Pandas(012)
  • Django QuerySet对象,exclude()方法
  • 【QT】QComboBox允许输入查询,且不区分大小写
  • Edge浏览器油猴插件的安装与使用
  • 【Proteus】按键的实现『⒉种』
  • 汇编语言:进制基础!!!
  • Android优雅地处理按钮重复点击
  • Bootstrap JS插件Alert源码分析
  • GraphQL学习过程应该是这样的
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JavaScript新鲜事·第5期
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Java知识点总结(JavaIO-打印流)
  • JS函数式编程 数组部分风格 ES6版
  • Linux CTF 逆向入门
  • maya建模与骨骼动画快速实现人工鱼
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • python学习笔记-类对象的信息
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 入门级的git使用指北
  • 深度学习中的信息论知识详解
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 提醒我喝水chrome插件开发指南
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 阿里云ACE认证学习知识点梳理
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #pragma multi_compile #pragma shader_feature
  • (¥1011)-(一千零一拾一元整)输出
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (3)(3.5) 遥测无线电区域条例
  • (强烈推荐)移动端音视频从零到上手(下)
  • (三)docker:Dockerfile构建容器运行jar包
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (一)认识微服务
  • (自用)仿写程序
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .apk文件,IIS不支持下载解决
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .net 受管制代码