markback
Sensible conversion from HTML to markdown. Will run in a browser, in a command line, or as a node module. It uses the DOM to do its magic: Whatever the browser sees should be what you get.
Still a work in progress -- some of the information in this document might not yet be true.
How to run:
In a browser:
Convert to markdown! <!-- html to convert goes here -->
From the command line:
$ npm install -g markback$ markback < input.html > output.md
As a node module:
var Markback = // Can be done with regular callbacks:Markback;// => # Hello world // Can also be done with promises:Markback ;// => # Hello world
Example output:
INPUT OUTPUT This is a test # This is a test Lorem ipsum dolor sit amet, consectetur **Lorem ipsum** dolor sit amet, consecteturelit, sed do eiusmod tempor incididunt ut labore et elit, sed do eiusmod tempor incididunt ut labore etdolore magna aliqua. Ut enim ad minim veniam, qui dolore magna aliqua. Ut enim ad minim veniam, quisnostrud exercitation ullamco laboris nisi ut aliquip nostrud exercitation ullamco laboris nisi ut aliquipex ea commodo consequat. Duis aute irure dolor in ex ea commodo consequat. Duis aute irure dolor inreprehenderit in voluptate velit esse cillum dolore reprehenderit in voluptate velit esse cillum doloreeu fugiat nulla pariatur. Excepteur sint occaecat eu fugiat nulla pariatur. Excepteur sint occaecatcupidatat non proident, sunt in culpa qui officia cupidatat non proident, sunt in culpa qui officiadeserunt mollit anim id est laborum deserunt mollit anim id est laborum
FAQ:
Q: Will it leave HTML it doesn't understand untouched?
A: It will try. No guarantees, though.
Q: Is it compatible with GitHub Flavored Markdown?
A: Not quite yet. The HTML for GitHub's flavor seems really complex. Maybe it would be a good v2.0 feature.
License:
MIT.