class Nanoc::Checking::Checks::W3CValidator

@api private

Public Instance Methods

extension() click to toggle source
# File lib/nanoc/checking/checks/w3c_validator.rb, line 25
def extension
  raise NotImplementedError
end
run() click to toggle source
# File lib/nanoc/checking/checks/w3c_validator.rb, line 8
def run
  require 'w3c_validators'
  require 'resolv-replace'

  Dir[@config.output_dir + '/**/*.' + extension].each do |filename|
    results = validator_class.new.validate_file(filename)
    lines = File.readlines(filename)
    results.errors.each do |e|
      line_num = e.line.to_i - 1
      line = lines[line_num]
      message = e.message.gsub(%r{\s+}, ' ').strip.sub(/\s+:$/, '')
      desc = "line #{line_num + 1}: #{message}: #{line}"
      add_issue(desc, subject: filename)
    end
  end
end
validator_class() click to toggle source
# File lib/nanoc/checking/checks/w3c_validator.rb, line 29
def validator_class
  raise NotImplementedError
end