jekyll-link-checker 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/link-checker.rb +37 -21
- data/lib/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01f23b2d446c6bdf94e74a381754a960c3eb392c1b9db5feb13270e08d0c2a9d
|
4
|
+
data.tar.gz: 51da2d5886173b96927bdde66dd89253186241ad1d68fbd94c45bd127deb6423
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48598dbc05e15090eb67baa58af5f1f6d6de52c7affafae89be6a48acf928895b81abc762c51f7095a9a34989234910abf821983b293173378c5e7bd5a689a9c
|
7
|
+
data.tar.gz: 4271bad2dab2adb222795fca82f6a2cc6f7c31ca43fcfd38b27f8ed54f616e988872575e95bc2fcd117ed5d1ef8915a36d8e7d8fc294008da83cb4fdb668fabb
|
data/lib/link-checker.rb
CHANGED
@@ -153,35 +153,47 @@ class LinkChecker
|
|
153
153
|
end
|
154
154
|
else
|
155
155
|
error = true
|
156
|
-
puts "Invalid internal link '#{
|
156
|
+
puts "Invalid internal link '#{uri}' is present in:"
|
157
157
|
fragments.flat_map { |_, files| files }.uniq
|
158
158
|
.each { |file| puts "\t#{file}" }
|
159
159
|
end
|
160
160
|
elsif fragments.keys == [nil]
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
161
|
+
begin
|
162
|
+
status = make_request(conn, uri)
|
163
|
+
error = !status_allowed?(status)
|
164
|
+
if error
|
165
|
+
puts "Request to #{uri} returned #{status} present in"
|
166
|
+
fragments[nil].each { |file| puts "\t#{file}" }
|
167
|
+
end
|
168
|
+
rescue StandardError => e
|
169
|
+
puts "Request to #{uri} produced the error #{e.class} present in"
|
165
170
|
fragments[nil].each { |file| puts "\t#{file}" }
|
171
|
+
puts e.message, "\n"
|
166
172
|
end
|
167
173
|
else
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
174
|
+
begin
|
175
|
+
response = get_request(conn, uri)
|
176
|
+
status = response.status
|
177
|
+
if status == 200
|
178
|
+
valid_fragments = uniq_string_matches(response.body, ID)
|
179
|
+
fragments.each do |fragment, files|
|
180
|
+
unless valid_fragments.include?(fragment)
|
181
|
+
puts "Invalid link to fragment '#{fragment}' present in: "
|
182
|
+
files.each { |file| puts "\t#{file}" }
|
183
|
+
end
|
176
184
|
end
|
185
|
+
else
|
186
|
+
error = true
|
187
|
+
puts "Request to #{link} in #{files} returned #{status}"
|
188
|
+
error = true
|
189
|
+
puts "Invalid internal link '#{link}' is present in:"
|
190
|
+
fragments.flat_map { |_, files| files }.uniq
|
191
|
+
.each { |file| puts "\t#{file}" }
|
177
192
|
end
|
178
|
-
|
179
|
-
error
|
180
|
-
|
181
|
-
|
182
|
-
puts "Invalid internal link '#{link}' is present in:"
|
183
|
-
fragments.flat_map { |_, files| files }.uniq
|
184
|
-
.each { |file| puts "\t#{file}" }
|
193
|
+
rescue StandardError => e
|
194
|
+
puts "Request to #{uri} produced the error #{e.class} present in"
|
195
|
+
fragments[nil].each { |file| puts "\t#{file}" }
|
196
|
+
puts e.message, "\n"
|
185
197
|
end
|
186
198
|
end
|
187
199
|
|
@@ -260,7 +272,11 @@ class LinkChecker
|
|
260
272
|
|
261
273
|
# For each link in the file
|
262
274
|
uniq_file_matches(file, HREF).each do |link|
|
263
|
-
|
275
|
+
begin
|
276
|
+
uri = Addressable::URI.parse(link)
|
277
|
+
rescue
|
278
|
+
puts "Link \"#{uri}\" in file \"#{file}\" can't be parsed."
|
279
|
+
end
|
264
280
|
|
265
281
|
# Skip the emails and phone numbers URIs
|
266
282
|
next if uri.site&.end_with?(":")
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-link-checker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zakary Kamal Ismail
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.17'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.17'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday-cookie_jar
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|