class Kramdown::Parser::GFM
def initialize(source, options)
def initialize(source, options) super i = @block_parsers.index(:codeblock_fenced) @block_parsers.delete(:codeblock_fenced) @block_parsers.insert(i, :codeblock_fenced_gfm) end
def parse_paragraph
def parse_paragraph result = @src.scan(PARAGRAPH_MATCH) while !@src.match?(self.class::PARAGRAPH_END) result << @src.scan(PARAGRAPH_MATCH) end result.chomp! unless @tree.children.last && @tree.children.last.type == :p @tree.children << new_block_el(:p) end lines = result.lstrip.split(/\n/) lines.each_with_index do |line, index| @tree.children.last.children << Element.new(@text_type, line) << Element.new(:br) << Element.new(@text_type, "\n") end @tree.children.last.children.pop # added one \n too many @tree.children.last.children.pop # added one :br too many true end