Files
Ian LewisandgVisor bot feb1d3d5a7 Clean up html on the website.
- Fixes some html validation issues.
- Fixes links on security basics blog post.
- Adds rel=noopener to links with target=_blank and adds a check to
  htmlproofer.
- Add favicon check to htmlproofer.

Fixes #3286
Fixes #3284

PiperOrigin-RevId: 321892602
2020-07-17 18:27:41 -07:00

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