require "htmlbeautifier/builder"
require "htmlbeautifier/html_parser"
require "htmlbeautifier/version"
module HtmlBeautifier
#
# Returns a beautified HTML/HTML+ERB document as a String.
# html must be an object that responds to +#to_s+.
#
# Available options are:
# tab_stops - an integer for the number of spaces to indent, default 2.
# Deprecated: see indent.
# indent - what to indent with (" ", "\t" etc.), default " "
# stop_on_errors - raise an exception on a badly-formed document. Default
# is false, i.e. continue to process the rest of the document.
# initial_level - The entire output will be indented by this number of steps.
# Default is 0.
# keep_blank_lines - an integer for the number of consecutive empty lines
# to keep in output.
#
def self.beautify(html, options = {})
if options[:tab_stops]
options[:indent] = " " * options[:tab_stops]
end
"".tap { |output|
HtmlParser.new.scan html.to_s, Builder.new(output, options)
}
end
end