diff --git a/_plugins/link-checker.rb b/_plugins/link-checker.rb index 58726b35..3eebed64 100644 --- a/_plugins/link-checker.rb +++ b/_plugins/link-checker.rb @@ -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