class HTML::Proofer
def self.create_nokogiri(path)
def self.create_nokogiri(path) Nokogiri::HTML(File.read(path)) end
def get_checks
def get_checks HTML::Proofer::Checks::Check.subclasses end
def initialize(src, opts={})
def initialize(src, opts={}) @srcDir = src @options = {:ext => ".html"}.merge(opts) end
def print_issues(issues)
def print_issues(issues) return if issues.empty? issues.each do |issue| $stderr.puts issue + "\n\n" end end
def run
def run get_checks.each do |klass| issues = [] puts "Running #{klass.name.split(/:/).pop()} check... \n\n" Find.find(@srcDir) do |path| if File.extname(path) == @options[:ext] html = HTML::Proofer.create_nokogiri(path) check = klass.new(path, html, @options) check.run self.print_issues(check.issues) end end end end