gvisor/images/jekyll/checks.rb

37 lines
818 B
Ruby

#!/usr/local/bin/ruby
#
# HTMLProofer checks for the gVisor website.
#
require 'html-proofer'
# NoOpenerCheck checks to make sure links with target=_blank include the
# rel=noopener attribute.
class NoOpenerCheck < ::HTMLProofer::Check
def run
@html.css('a').each do |node|
link = create_element(node)
line = node.line
rel = link.respond_to?(:rel) ? link.rel.split(' ') : []
if link.respond_to?(:target) && link.target == "_blank" && !rel.include?("noopener")
return add_issue("You should set rel=noopener for links with target=_blank", line: line)
end
end
end
end
def main()
options = {
:check_html => true,
:check_favicon => true,
:disable_external => true,
}
HTMLProofer.check_directories(ARGV, options).run
end
if __FILE__ == $0
main
end