def read_raw_html(src)
extra_line = nil
h = HTMLHelper.new
begin
l = src.shift_line
h.eat_this(l)
while src.cur_line && !h.is_finished?
l = src.shift_line
h.eat_this "\n" + l
end
rescue => e
maruku_error "Bad block-level HTML:\n#{e.inspect.gsub(/^/, '|')}\n", src
end
unless h.rest =~ /^\s*$/
extra_line = h.rest
end
raw_html = h.stuff_you_read
is_inline = HTML_INLINE_ELEMS.include?(h.first_tag)
if extra_line
remainder = is_inline ? parse_span(extra_line) : parse_text_as_markdown(extra_line)
if extra_line.start_with?(' ')
remainder[0] = ' ' + remainder[0] if remainder[0].is_a?(String)
end
is_inline ? [md_html(raw_html), md_par(remainder)] : [md_html(raw_html)] + remainder
else
[md_html(raw_html)]
end
end