Skip to content

Instantly share code, notes, and snippets.

@willwade
Created March 14, 2018 20:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save willwade/3b64da42a277629c828e03cc04e2bee0 to your computer and use it in GitHub Desktop.
Save willwade/3b64da42a277629c828e03cc04e2bee0 to your computer and use it in GitHub Desktop.
Convert a site of HTML to Markdown
// For Node.js
var TurndownService = require('turndown')
var fs = require('fs')
var path = require("path");
var turndownService = new TurndownService()
var Glob = require('Glob');
var pattern = "/Users/willwade/bin/dasher-site/static/dasher/*/*.html"
function convertHTMLtoMD(file,fileMD,fromN,fromEndFile){
fs.readFile(file, {encoding: 'utf-8'}, function(err,data){
if (!err) {
var rawHtml = data;
var markdown = turndownService.turndown(rawHtml);
var lines = markdown.split("\n");
var newLines = lines.slice(fromN,lines.length-fromEndFile)
var newFile = newLines.join("\n");
fs.writeFile(fileMD, newFile, function(err) {
if(err) {
console.log(err);
return false;
} else {
return true;
}
});
} else {
console.log(err);
return false;
}
});
}
function cutLines(fromN,fromEndFile,file){
var lines = fs.readFileSync(file).toString().split("\n");
var newLines = lines.slice(fromN,lines.length-fromEndFile)
var newFile = newLines.join("\n");
console.log(file);
fs.writeFile(file, newFile, function(err) {
if(err) {
console.log(err);
return false;
} else {
return true;
}
});
}
var mg = new Glob(pattern, {mark: true}, function (er, matches) {
for (var i = 0; i < matches.length; i++) {
var file = matches[i];
console.log(file);
var fileName = file.substring(0, file.lastIndexOf('.'));
var toPath = fileName+'.md';
console.log(toPath);
convertHTMLtoMD(file,toPath,179,11);
}});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment