怎么将文件夹里的所有 js 文件按照名称跟内容拼接生成一个 md 文件?

实现

编写脚本 build/generate-md.js

const fs = require("fs");
const path = require("path");function traverseDirectorySync(dirPath) {const files = fs.readdirSync(dirPath);files.forEach((file) => {const filePath = path.join(dirPath, file);const stats = fs.statSync(filePath);if (stats.isDirectory()) {traverseDirectorySync(filePath);} else if (path.extname(filePath) === ".js") {jsFilePaths.push(filePath);}});
}function createMarkdownFile(jsFilePaths, outputFilePath) {let mdContent = `## 30 天 JavaScript 挑战专为 JavaScript 初学者设计掌握必备 JavaScript 技能前端人,前端魂,刷完 JS 即入门!题目地址:[https://leetcode.cn/studyplan/30-days-of-javascript/](https://leetcode.cn/studyplan/30-days-of-javascript/)个人学习笔记:[https://github.com/kaimo313/30-days-of-javascript](https://github.com/kaimo313/30-days-of-javascript)\n\n`;jsFilePaths.forEach((filePath) => {const content = fs.readFileSync(filePath, "utf8");mdContent += "### " + filePath.substring(filePath.indexOf("doc\\") + 4, filePath.lastIndexOf(".")) + "\n\n";mdContent += "```javascript\n" + content + "\n```\n\n";});fs.writeFileSync(outputFilePath, mdContent);
}// 调用遍历函数和生成 Markdown 函数
const folderPath = "./doc"; // 文件夹路径
const outputFilePath = "./README.md"; // 生成的 Markdown 文件路径const jsFilePaths = [];
traverseDirectorySync(folderPath);createMarkdownFile(jsFilePaths, outputFilePath);

添加脚本

"scripts": {"build": "node ./build/generate-md.js"},

执行命令生成 md 文件

npm run build

效果

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/459696.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow——命令执行

文章目录 web 29——通配符*绕过web30——调用其他命令执行函数web 31——参数逃逸web 32-web 36——配合文件包含伪协议web 37-web 39——文件包含web 40—— web 29——通配符*绕过 i不区分大小写,直接?csystem(tac fl*.php); web30——调用其他命令执行函数 调用…

携程网首页案例制作(移动端)

技术选型 方案:采用单独制作移动页面方案 技术:布局采用flex布局 body样式 通常要设置最大宽度,最小宽度,水平居中,字体设置,背景颜色以及相关初始化 body {max-width: 540px;min-width: 320px;margin…

Apollo分布式配置中心

携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端 用户在配置中心对配置进行修改并发布配置中心通知Apollo客户端有配置更新Apollo客户端从配置中心拉取最新的配置、更新本地配置并通知…

Vue前端框架--Vue工程项目问题总结{脚手架 Vue-cli}

Vue脚手架部署问题总结 我所遇到的一共两大问题 只有先执行npm install之后 才能run serve 否则会报错 vue-cli-serve不是内部或者外部的命令,也不是可运行的程序或者批处理文件的错误 1. 运行npm install会报错 2. 运行npm run serve报错 nodejs官网为 https://no…

03-抓包_封包_协议_APP_小程序_PC应用_WEB应用

抓包_封包_协议_APP_小程序_PC应用_WEB应用 一、参考工具二、演示案例:2.1、WEB应用站点操作数据抓包-浏览器审查查看元素网络监听2.2、APP&小程序&PC抓包HTTP/S数据-Charles&Fiddler&Burpsuite2.3、程序进程&网络接口&其他协议抓包-WireSh…

嵌入式学习之Linux入门篇笔记——18,makefile基本语法(下)

配套视频学习链接:http://【【北京迅为】嵌入式学习之Linux入门篇】 https://www.bilibili.com/video/BV1M7411m7wT/?p4&share_sourcecopy_web&vd_sourcea0ef2c4953d33a9260910aaea45eaec8 1.wildcard 函数 格式:$(wildcard PAT…

优化 IT 支出和消除浪费的 8 种主要方法

不懈追求最佳 IT 支出对于任何组织的长期可持续发展和成功都至关重要。在这个技术快速进步的时代,您必须做出明智的决策,消除浪费,同时最大限度地提高技术投资的价值。 从进行 IT 成本分析到采用敏捷预算和技术标准化,这些策略对…

网络安全产品之认识准入控制系统

文章目录 一、什么是准入控制系统二、准入控制系统的主要功能1. 接入设备的身份认证2. 接入设备的安全性检查 三、准入控制系统的工作原理四、准入控制系统的特点五、准入控制系统的部署方式1. 网关模式2. 控制旁路模式 六、准入控制系统的应用场景七、企业如何利用准入控制系统…

07 A B 从计数器到可控线性序列机

07. A.从计数器到可控线性序列机 让LED灯按照亮0.25秒。灭0.75秒的状态循环亮灭让LED灯按照亮0.25秒,灭0.5秒,亮0.75秒,灭1秒的状态循环亮灭让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随即指定。以0.25秒为一…

kubectl 创建 Pod 背后到底发生了什么?

想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --imagenginx --replicas3然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作节点上。这一切就像变魔术一样…

SpringBoot + Tess4J 实现本地与远程图片的文字识别

1 前言 1.1 概要 在本文中,我们将探讨如何在Spring Boot应用程序里集成Tess4J来实现OCR(光学字符识别),以识别出本地和远程图片中的文字。 我们将从添加依赖说起,然后创建服务类以实现OCR,最后展示如何处…

jxls 2.4.5 —— 动态导出excel 表头与数据

文章目录 前言依赖引入制作导出模板测试类导出效果注意事项 前言 再之前的博客中,介绍了jxls的基础使用。但导出表头属于写死的,并未采取动态渲染。 本次进行动态渲染操作,动态渲染表头和填充数据。 依赖引入 springboot测试项目中&#…