html-proofer 3.17.4 → 3.18.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fdcf7fa13f788c5839a1878a8a261d812fc399b4552362db458fc2d7e72c795c
4
- data.tar.gz: 9996e3534390ab7796a59cfe8afcf06eb10025f2ac9c050bf80394c6f2d76494
3
+ metadata.gz: 8232203ce195b44adb3f672b9e132b75c81cfaad59dc8340e35c7f6183b8eb41
4
+ data.tar.gz: 9ef4b713c060de1a91781725e0771842d8dd9a716a172ef23fa140929f12b8fc
5
5
  SHA512:
6
- metadata.gz: 5f78ec4bd00a705dc332a14837f5e3f4b4b16bddafe48d20a24db3281f5d142f456690c9486eedcac4828fc3639fa46130079c490209942172c24b2012739c42
7
- data.tar.gz: 602aff4a287ef6d40d72da5497d9ba5d7c01c13d45157d5d29215e35d0fcde2db244c9e4da9206452425a6b03fa437dc6c483651f12be80209cda5ec0e54050a
6
+ metadata.gz: 7ec514672b80820d78e56a9773cb4dd6952f84ad8556b6271e1b64307b80c3c07c952ef9eea0c9fb87a4d578757e6c6c1dbac232265ac7f11301169fceb63da2
7
+ data.tar.gz: d25e811c505fdc3f940b4646eb916db8d64de32ab03b7be707c5fa4e7fd94080722dc2e3147a257d2714cfaf83a9acc4abb9b636bb0400a409d41538842c72bc
@@ -1,3 +1,4 @@
1
+ # rubocop:disable Naming/FileName
1
2
  # frozen_string_literal: true
2
3
 
3
4
  def require_all(path)
@@ -52,3 +53,4 @@ module HTMLProofer
52
53
  HTMLProofer::Runner.new(links, options)
53
54
  end
54
55
  end
56
+ # rubocop:enable Naming/FileName
@@ -45,7 +45,7 @@ class LinkCheck < ::HTMLProofer::Check
45
45
  # intentionally here because we still want valid? & missing_href? to execute
46
46
  next if @link.non_http_remote?
47
47
 
48
- if !@link.internal? && @link.remote?
48
+ if !@link.href&.start_with?('#') && !@link.internal? && @link.remote?
49
49
  check_sri(line, content) if @link.check_sri? && node.name == 'link'
50
50
  # we need to skip these for now; although the domain main be valid,
51
51
  # curl/Typheous inaccurately return 404s for some links. cc https://git.io/vyCFx
@@ -54,7 +54,7 @@ class LinkCheck < ::HTMLProofer::Check
54
54
  add_to_external_urls(@link.href || @link.src)
55
55
  next
56
56
  elsif @link.internal?
57
- if @link.exists?
57
+ if @link.exists? || @link.hash
58
58
  add_to_internal_urls(@link.href, InternalLink.new(@link, @path, line, content))
59
59
  else
60
60
  add_issue("internally linking to #{@link.href}, which does not exist", line: line, content: content)
@@ -72,10 +72,10 @@ class LinkCheck < ::HTMLProofer::Check
72
72
  return false
73
73
  end
74
74
 
75
- # verify the target hash
76
- return handle_hash(link, path, line, content) if link.hash
75
+ return true unless link.hash
77
76
 
78
- true
77
+ # verify the target hash
78
+ handle_hash(link, path, line, content)
79
79
  end
80
80
 
81
81
  def check_schemes(link, line, content)
@@ -157,11 +157,12 @@ module HTMLProofer
157
157
  @cache.write
158
158
  else
159
159
  @internal_urls.values.flatten.each do |internal_url|
160
- @internal_link_checks.check_internal_link(internal_url.link, internal_url.path, internal_url.line, internal_url.content)
160
+ result = @internal_link_checks.check_internal_link(internal_url.link, internal_url.path, internal_url.line, internal_url.content)
161
+ next if result
162
+
163
+ @failures.concat(@internal_link_checks.issues) unless @internal_link_checks.issues.length.zero?
161
164
  end
162
165
  end
163
-
164
- @failures.concat(@internal_link_checks.issues) unless @internal_urls.length.zero?
165
166
  end
166
167
 
167
168
  def files
@@ -214,7 +215,8 @@ module HTMLProofer
214
215
  sorted_failures.sort_and_report
215
216
  count = @failures.length
216
217
  failure_text = pluralize(count, 'failure', 'failures')
217
- raise @logger.colorize :fatal, "HTML-Proofer found #{failure_text}!"
218
+ @logger.log :fatal, "\nHTML-Proofer found #{failure_text}!"
219
+ exit 1
218
220
  end
219
221
 
220
222
  # Set before_request callback.
@@ -120,7 +120,7 @@ module HTMLProofer
120
120
  def clean_url(href)
121
121
  # catch any obvious issues, like strings in port numbers
122
122
  parsed = Addressable::URI.parse(href)
123
- if href =~ /^([!#{$&}-;=?-\[\]_a-z~]|%[0-9a-fA-F]{2})+$/
123
+ if href =~ /^([!#{Regexp.last_match(0)}-;=?-\[\]_a-z~]|%[0-9a-fA-F]{2})+$/
124
124
  href
125
125
  else
126
126
  parsed.normalize
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HTMLProofer
4
- VERSION = '3.17.4'
4
+ VERSION = '3.18.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html-proofer
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.17.4
4
+ version: 3.18.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-03 00:00:00.000000000 Z
11
+ date: 2021-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -285,16 +285,19 @@ require_paths:
285
285
  - lib
286
286
  required_ruby_version: !ruby/object:Gem::Requirement
287
287
  requirements:
288
- - - "~>"
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ version: 2.4.10
291
+ - - "<"
289
292
  - !ruby/object:Gem::Version
290
- version: '2.4'
293
+ version: '4.0'
291
294
  required_rubygems_version: !ruby/object:Gem::Requirement
292
295
  requirements:
293
296
  - - ">="
294
297
  - !ruby/object:Gem::Version
295
298
  version: '0'
296
299
  requirements: []
297
- rubygems_version: 3.1.2
300
+ rubygems_version: 3.1.4
298
301
  signing_key:
299
302
  specification_version: 4
300
303
  summary: A set of tests to validate your HTML output. These tests check if your image