Tool for converting HTML to Markdown, like html2markdown.
online converter: http://island205.github.io/h2m/
$npm install h2m
h2m(html[, options])
var h2m = require('h2m')
var md = h2m('<h1>Hello World</h1>')
// md = '# Hello World'
converter
: the converter you can choose. now supportCommonMark
(default) andMarkdownExtra
overides
: custom converter behavior:
h2m('<a href="http://island205.github.io/h2m/">h2m</a>', {
overides: {
a: function(node) {
/**
node is an object as the a tag:
{
name: "a",
attrs: {
href: 'http://island205.github.io/h2m/'
},
md: 'h2m'
}
*/
return `[This is an link element](${node.attrs.href})`
}
}
}
// output [This is an link element](http://island205.github.io/h2m/)
$ npm install h2m -g
$h2m -h
Usage: h2m [options] <file>
Options:
-h, --help output usage information
-V, --version output the version number
Convert a local file:
$ h2m index.html
converting HTML to Markdown
made by [@island205](https://github.com/island205)
Can't be convert? welcome to submit an [issue](https://github.com/island205/h2m/issues/new).
Convert an online url:
$ h2m https://baidu.com
Save result:
$ h2m https://google.com > google.md
h2m
supports standard Markdown sytax: CommonMark now and Markdown Extra.
- ✅ br
- ✅ em
- ✅ strong
- ✅ code
- ✅ a
- ✅ img
- ✅ hr
- ✅ ul, ol
- ✅ pre
- ✅ div
- ✅ p
- ✅ blockquote
- ✅ h1 ~ h6
- ✅ Special Attributes for headers link and image
- ✅ Fenced Code Blocks
- ✅ dl, dt, dd Definition Lists
- ✅ abbr Abbreviations
- ✅ table (tks @天凉's PR')
PRs are welcome to implement other extend Markdown language, like Markdown Extra, GFM and so on.