island205 / h2m

Tool for converting HTML to Markdown, like html2markdown.
http://island205.github.io/h2m/
271 stars 44 forks source link

h2m

logo

npm Build Status Coverage Status

Tool for converting HTML to Markdown, like html2markdown.

online converter: http://island205.github.io/h2m/

online converter

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

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

h2m downloads

usage

$h2m -h

Usage: h2m [options]

Options:

  -V, --version      output the version number
  -f, --file <file>  HTML file path or an url adress (default: )
  -c, --clipboard    read HTML from clipboard
  -h, --help         output usage information

Convert a local file:

$ h2m  -f 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 -f https://baidu.com

Convert from clipboard:

$ h2m -c

Save result:

$ h2m  -f https://google.com > google.md

Support

h2m supports standard Markdown sytax: CommonMark now and Markdown Extra.

CommonMark

Markdown Extra

Contribution

PRs are welcome to implement other extend Markdown language, like Markdown Extra, GFM and so on.