h2m
Tool for converting HTML to Markdown, like html2markdown.
online converter: http://island205.github.io/h2m/
Install
$npm install h2m
How to use
h2m(html[, options])
example
var h2m = require('h2m')
var md = h2m('<h1>Hello World</h1>')
// md = '# Hello World'
options
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/)
Command Line Tool
install
$ npm install h2m -g
usage
$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
Support
h2m
supports standard Markdown sytax: CommonMark now and Markdown Extra.
CommonMark
- ✅ br
- ✅ em
✅ strong✅ code✅ a- ✅ img
✅ hr✅ ul, ol✅ pre✅ div✅ p✅ blockquote✅ h1 ~ h6
Markdown Extra
✅ Special Attributes for headers link and image✅ Fenced Code Blocks- ✅ dl, dt, dd Definition Lists
✅ abbr Abbreviations☑️ table welcome PR.
Contribution
PRs are welcome to implement other extend Markdown language, like Markdown Extra, GFM and so on.