UPDATE (based on Kerri's answer):
#!/usr/bin/env node
'use strict'
var fs = require('fs')
, filename = process.argv[2]
if (process.argv.length < 3) {
console.log('Usage: node ' + process.argv[1] + ' FILENAME')
process.exit(1)
}
function massReplace(text, replacementArray) {
let results = text
for (let [regex, replacement] of replacementArray) {
results = results.replace(regex, replacement)
}
return results
}
function transformHeadings(text, orig) {
if (orig.match(/^#{1,6}\s/)) {
return massReplace(text,
[ [/^###### (.*)/gm, '<h6>$1</h6>'],
[/^##### (.*)/gm, '<h5>$1</h5>'],
[/^#### (.*)/gm, '<h4>$1</h4>'],
[/^### (.*)/gm, '<h3>$1</h3>'],
[/^## (.*)/gm, '<h2>$1</h2>'],
[/^# (.*)/gm, '<h1>$1</h1>'] ]
)
}
}
fs.readFile(filename, 'utf8', function(err, data) {
if (err) throw err
data = data.split(/\n\n|^>(?!.)/gm)
var tree = data.slice()
console.log(transformHeadings(data, tree))
})
Content in data:
# Title
# Title
## Title 2
Paragraph