markdown回転pdfおよびmardown回転html
2791 ワード
プロジェクトのアドレス:https://github.com/klren0312/markdownConvert
1.markdown回転pdf
1.サードパーティ製ライブラリの使用 markdown-pdf rimraf
2.コード解読
1.ライブラリの導入
2.ファイルディレクトリを初期化するには、存在するpdfディレクトリを消去して再構築する必要がある
3.pdfファイルを生成mardownフォルダ内のファイルをループして読み込み、markdownファイルストリームを読み出し、pdfデータストリームに変換し、最後にpdfファイルに格納する
mardown回転html
1.サードパーティ製ライブラリの使用 showdown rimraf
2.コード解読
1.ライブラリの導入
2.ファイルディレクトリの初期化
3.htmlファイルの生成
1.markdown回転pdf
1.サードパーティ製ライブラリの使用
2.コード解読
1.ライブラリの導入
const mtp = require('markdown-pdf')
const fs = require('fs')
const path = require('path')
const rm = require('rimraf')
2.ファイルディレクトリを初期化するには、存在するpdfディレクトリを消去して再構築する必要がある
const mdFolder = 'markdown' // md
const pdfFolder = 'pdf' // pdf
rm.sync(path.resolve(pdfFolder)) // pdf
if (!fs.existsSync(pdfFolder)) {
fs.mkdirSync(pdfFolder); // pdf
}
3.pdfファイルを生成mardownフォルダ内のファイルをループして読み込み、markdownファイルストリームを読み出し、pdfデータストリームに変換し、最後にpdfファイルに格納する
fs.readdir(path.resolve(mdFolder), (err, files) => { // md
if (err) throw err
let sum = 0 // markdown
const total = files.length //
files.forEach(file => { //
sum++
const fileName = file.match(/(.*)\.[^.]+$/)[1] // test.md => test
fs.createReadStream(path.resolve(`${mdFolder}/${file}`)) //
.pipe(mtp()) // pdf
.pipe(fs.createWriteStream(path.resolve(`${pdfFolder}/${fileName}.pdf`))) //
console.log(`${file} => ${fileName}.pdf , ${sum} / ${total}`)
})
})
mardown回転html
1.サードパーティ製ライブラリの使用
2.コード解読
1.ライブラリの導入
const showdown = require('showdown')
const converter = new showdown.Converter()
converter.setFlavor('github') // github
const fs = require('fs')
const path = require('path')
const rm = require('rimraf')
2.ファイルディレクトリの初期化
const mdFolder = 'markdown' // md
const htmlFolder = 'html' // html
rm.sync(path.resolve(htmlFolder)) // html
if (!fs.existsSync(htmlFolder)) {
fs.mkdirSync(htmlFolder) // html
}
3.htmlファイルの生成
fs.readdir(path.resolve(mdFolder), (err, files) => { // md
if (err) throw err
let sum = 0 // markdown
const total = files.length //
files.forEach(file => { //
sum++
const fileName = file.match(/(.*)\.[^.]+$/)[1] // test.md => test
fs.readFile(path.resolve(`${mdFolder}/${file}`), 'utf8', (err, data) => { //
if (err) {
console.error(err)
return
}
const htmlContent = converter.makeHtml(data) // md html
fs.writeFile(path.resolve(`${htmlFolder}/${fileName}.html`), htmlContent, 'utf8', (err) => { // html
if (err) throw err;
console.log(`${file} => ${fileName}.html , ${sum} / ${total}`)
})
})
})
})