parent
2b28f9fd57
commit
da65e94728
|
@ -1,3 +1,5 @@
|
||||||
|
require "addressable/uri"
|
||||||
|
|
||||||
module Jekyll
|
module Jekyll
|
||||||
module Commands
|
module Commands
|
||||||
class Doctor < Command
|
class Doctor < Command
|
||||||
|
@ -36,6 +38,7 @@ module Jekyll
|
||||||
!deprecated_relative_permalinks(site),
|
!deprecated_relative_permalinks(site),
|
||||||
!conflicting_urls(site),
|
!conflicting_urls(site),
|
||||||
!urls_only_differ_by_case(site),
|
!urls_only_differ_by_case(site),
|
||||||
|
proper_site_url?(site),
|
||||||
].all?
|
].all?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -91,6 +94,15 @@ module Jekyll
|
||||||
urls_only_differ_by_case
|
urls_only_differ_by_case
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def proper_site_url?(site)
|
||||||
|
url = site.config["url"]
|
||||||
|
[
|
||||||
|
url_exists?(url),
|
||||||
|
url_valid?(url),
|
||||||
|
url_absolute(url),
|
||||||
|
].all?
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def collect_urls(urls, things, destination)
|
def collect_urls(urls, things, destination)
|
||||||
things.each do |thing|
|
things.each do |thing|
|
||||||
|
@ -110,6 +122,29 @@ module Jekyll
|
||||||
(memo[dest.downcase] ||= []) << dest
|
(memo[dest.downcase] ||= []) << dest
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def url_exists?(url)
|
||||||
|
return true unless url.nil? || url.empty?
|
||||||
|
Jekyll.logger.warn "Warning:", "You didn't set an URL in the config file, "\
|
||||||
|
"you may encounter problems with some plugins."
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
def url_valid?(url)
|
||||||
|
Addressable::URI.parse(url)
|
||||||
|
true
|
||||||
|
rescue
|
||||||
|
Jekyll.logger.warn "Warning:", "The site URL does not seem to be valid, "\
|
||||||
|
"check the value of `url` in your config file."
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
def url_absolute(url)
|
||||||
|
return true if Addressable::URI.parse(url).absolute?
|
||||||
|
Jekyll.logger.warn "Warning:", "Your site URL does not seem to be absolute, "\
|
||||||
|
"check the value of `url` in your config file."
|
||||||
|
false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue