不限于mad文件到html文件的转换,可对照着 做 txt html 等等的相互转换.
思路如下:
-
读取 Markdown 文件的内容
fs.readFile()
-
把 Markdown 内容转换为 HTML 标签
(1)把读取到的内容按照换行符(\n)进行 split 分割
(2)进行字符串的 replace 替换操作
-
写入 HTML 文件
fs.writeFile()
md内容如下
# Markdown 文件的一级标题
startsWith() 方法用来判断当前字符串是否以另外一个给定的子字符串开头,并根据判断结果返回 true 或 false。
正文段落部分正文段落部分正文段落部分
## Markdown 文件的二级标题
正文段落部分正文段落部分正文段落部分
正文段落部分正文段落部分正文段落部分
### Markdown 文件的三级标题
正文段落部分正文段落部分正文段落部分
正文段落部分正文段落部分正文段落部分
const fs = require('fs')
const path = require('path')
fs.readFile(path.join(__dirname, './template.md'),'utf8',(err,data)=>{
const arr = data.split('\n') //
console.log(arr)
const newArr = []
arr.forEach(item => {
if (item.startsWith('# ')) { // 1 级标题(h1)
newArr.push(`<h1>${item.replace('# ', '')}</h1>`)
} else if (item.startsWith('## ')) { // 2 级标题(h2)
newArr.push(`<h2>${item.replace('## ', '')}</h2>`)
} else if (item.startsWith('### ')) { // 3 级标题(h3)
newArr.push(`<h3>${item.replace('### ', '')}</h3>`)
} else { // 普通的段落(p 标签)
newArr.push(`<p>${item}</p>`)
}
})
// console.log(newArr)
fs.writeFile(path.join(__dirname, 'README1.html'), newArr.join(''), (err) => {
if (err) {
console.log('写入文件失败:' + err.message)
return
}
console.log('转换成功!')
})
})