jekyll-link-checker 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|