Skip to content

Commit 34e56ef

Browse files
authored
update
1 parent e9f376a commit 34e56ef

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

_plugins/link.rb

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,18 @@ def relative_url(input)
110110
webp_list = []
111111
site.each_site_file do |file|
112112
Link::HtmlExtension.file[file.relative_path] = file
113-
if ENV["JEKYLL_ENV"] == "production" && ENV["WEBP"] == "enabled"
114-
require "webp-ffi"
115-
if file.is_a?(Jekyll::StaticFile) && %w[.png .jpg .jpeg .tif .tiff].include?(file.extname.downcase)
116-
webp_url = "#{file.url}.webp"
117-
destination = File.join(site.dest, webp_url)
118-
FileUtils.mkdir_p(File.dirname(destination))
119-
WebP.encode(file.path, destination)
120-
webp_list.push(Link::WebpFile.new(site, site.dest, File.dirname(webp_url), File.basename(webp_url)))
121-
Link::HtmlExtension.webp[file.url] = webp_url
113+
require "webp-ffi" if ENV["JEKYLL_ENV"] == "production" && ENV["WEBP"] == "enabled"
114+
if file.is_a?(Jekyll::StaticFile) && %w[.png .jpg .jpeg .tif .tiff].include?(file.extname.downcase)
115+
url = "#{file.url}.webp"
116+
source = "#{file.path}.webp"
117+
destination = File.join(site.dest, url)
118+
if File.exist?(source) || ENV["JEKYLL_ENV"] == "production" && ENV["WEBP"] == "enabled"
119+
unless File.exist?(source)
120+
FileUtils.mkdir_p(File.dirname(destination))
121+
WebP.encode(file.path, destination)
122+
end
123+
webp_list.push(Link::WebpFile.new(site, site.dest, File.dirname(url), File.basename(url)))
124+
Link::HtmlExtension.webp[file.url] = url
122125
end
123126
end
124127
end

0 commit comments

Comments
 (0)