/h2m

Tool for converting HTML to Markdown, like html2markdown.

Primary LanguageHTML

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

  • converter: the converter you can choose. now support CommonMark(default) and MarkdownExtra
  • 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

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

  • ✅ 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 (tks @天凉's PR')

Contribution

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