Skip to content

Instantly share code, notes, and snippets.

@danhper
Created May 3, 2014 23:56
Show Gist options
  • Save danhper/11508284 to your computer and use it in GitHub Desktop.
Save danhper/11508284 to your computer and use it in GitHub Desktop.
require 'redcarpet'
class CustomMarkdownRenderer < Redcarpet::Render::Base
@section_opened = false
def header(text, header_level, options)
s = ''
if header_level == 1
s << "</div>\n" if @section_opened
s << "<div class=\"section\">\n<h1>"
s << text
s << "</h1>\n"
@section_opened = true
else
s << "<h#{header_level}>#{text}</h#{header_level}>\n"
end
s
end
def postprocess(full_document)
full_document << '</div>' if @section_opened
end
end
renderer = CustomMarkdownRenderer.new
markdown = Redcarpet::Markdown.new(renderer, extensions = {})
s = markdown.render <<-EOF
# foo
## bar
# baz
## foobar
EOF
puts s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment