Transform html into markdown. Useful for example if you want to import html into your markdown based application.
See Change Log
- Nokogiri
- Ruby 2.0.0 or higher
Install the gem
[sudo] gem install reverse_markdownor add it to your Gemfile
gem 'reverse_markdown'- Supports all the established html tags like
h1,h2,h3,h4,h5,h6,p,em,strong,i,b,blockquote,code,img,a,hr,li,ol,ul,table,tr,th,td,br,figure - Module based - if you miss a tag, just add it
- Can deal with nested lists
- Inline and block code is supported
- Supports blockquote
You can convert html content as string or Nokogiri document:
input = '<strong>feelings</strong>'
result = ReverseMarkdown.convert input
result.inspect # " **feelings** "It's also possible to convert html files to markdown using the binary:
$ reverse_markdown file.html > file.md
$ cat file.html | reverse_markdown > file.mdThe following options are available:
unknown_tags(defaultpass_through) - how to handle unknown tags. Valid options are:pass_through- Include the unknown tag completely into the resultdrop- Drop the unknown tag and its contentbypass- Ignore the unknown tag but try to convert its contentraise- Raise an error to let you know
github_flavored(defaultfalse) - use github flavored markdown (yet only code blocks are supported)tag_border(default' ') - how to handle tag borders. valid options are:' '- Add whitespace if there is none at tag borders.''- Do not not add whitespace.
Just pass your chosen configuration options in after the input. The given options will last for this operation only.
ReverseMarkdown.convert(input, unknown_tags: :raise, github_flavored: true)Or configure it block style on a initializer level. These configurations will last for all conversions until they are set to something different.
ReverseMarkdown.config do |config|
config.unknown_tags = :bypass
config.github_flavored = true
config.tag_border = ''
end- Write custom converters - Wiki entry about how to write your own converter
- html_massage - A gem by Harlan T. Wood to convert regular sites into markdown using reverse_markdown
- word-to-markdown - Convert word docs into markdown while using reverse_markdown, by Ben Balter
- markdown syntax - The markdown syntax specification
- github flavored markdown - Githubs extension to markdown
- wmd-editor - Markdown flavored text editor
Thanks to all contributors and all other helpers:
- Empact Ben Woosley
- harlantwood Harlan T. Wood
- aprescott Adam Prescott
- danschultzer Dan Schultzer
- Benjamin-Dobell Benjamin Dobell
- schkovich Goran Miskovic
- craig-day Craig Day
- grmartin Glenn R. Martin
- willglynn Will Glynn
