class Jekyll::CompressImages
Public Instance Methods
analyze(image)
click to toggle source
# File lib/jekyll-compress-images.rb, line 34 def analyze(image) if @last_update.has_key? image optimize image if @last_update[image] != File.basename(image) else optimize image end end
default_options()
click to toggle source
# File lib/jekyll-compress-images.rb, line 27 def default_options { "cache_file" => "_compress_images_cache.yml", "images_path" => "assets/img/**/*.{gif,png,jpg,jpeg,svg}", } end
generate(site)
click to toggle source
# File lib/jekyll-compress-images.rb, line 9 def generate(site) config = YAML::load_file "_config.yml" config = config["compress_images"] || {} @config = default_options.merge! config @image_optim = ImageOptim.new pngout: false, svgo: true, verbose: false @last_update = YAML::load_file @config["cache_file"] if File.file? @config["cache_file"] @last_update ||= {} Dir.glob(@config["images_path"]) { |image| analyze image } File.open(@config["cache_file"], "w") { |file| file.write @last_update.to_yaml } end
optimize(image)
click to toggle source
# File lib/jekyll-compress-images.rb, line 42 def optimize(image) puts "Optimizing #{image}".green @image_optim.optimize_image! image @last_update[image] = File.basename image end