class Kramdown::Parser::Html
Used for parsing a HTML document.
The parsing code is in the Parser module that can also be used by other parsers.
Public Instance Methods
parse()
click to toggle source
Parse the source string provided on initialization as HTML document.
# File lib/kramdown/parser/html.rb, line 559 def parse @stack, @tree = [], @root @src = Kramdown::Utils::StringScanner.new(adapt_source(source)) while true if result = @src.scan(/\s*#{HTML_INSTRUCTION_RE}/) @tree.children << Element.new(:xml_pi, result.strip, nil, :category => :block) elsif result = @src.scan(/\s*#{HTML_DOCTYPE_RE}/) # ignore the doctype elsif result = @src.scan(/\s*#{HTML_COMMENT_RE}/) @tree.children << Element.new(:xml_comment, result.strip, nil, :category => :block) else break end end tag_handler = lambda do |c, closed, handle_body| parse_raw_html(c, &tag_handler) if !closed && handle_body end parse_raw_html(@tree, &tag_handler) ElementConverter.convert(@tree) end