Improve logging of the link checker (#1252)

Signed-off-by: Miki <miki@amazon.com>

Signed-off-by: Miki <miki@amazon.com>
This commit is contained in:
Miki 2022-09-19 11:55:18 -07:00 committed by GitHub
parent fc03a5ea5d
commit 9da8dc23b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -61,6 +61,7 @@ module Jekyll::LinkChecker
@site = site
@urls = {}
@failures = []
@base_url_matcher = /^#{@site.config["url"]}#{@site.baseurl}(\/.*)$/.freeze
end
# Processes a Document or Page and adds the links to a collection
@ -74,9 +75,12 @@ module Jekyll::LinkChecker
relative_path = page.path[0] == '/' ? Pathname.new(page.path).relative_path_from(Dir.getwd) : page.path
if href.start_with? '#'
p relative_path if (page.content =~ /<[a-z0-9-]+[^>]+id="#{href[1..]}"/i).nil?
@failures << "##{href[1..]}, linked in ./#{relative_path}" if (page.content =~ /<[a-z0-9-]+[^>]+id="#{href[1..]}"/i).nil?
else
match = @base_url_matcher.match(href)
unless match.nil?
href = match[1]
end
@urls[href] = Set[] unless @urls.key?(href)
@urls[href] << relative_path
end
@ -101,8 +105,6 @@ module Jekyll::LinkChecker
end
end
@base_url_matcher = /^#{@site.config["url"]}#{@site.baseurl}(\/.*)$/.freeze
@urls.each do |url, pages|
@failures << "#{url}, linked to in ./#{pages.to_a.join(", ./")}" unless self.check(url)
end