Class: EasyHtmlGenerator::Generator::Minimize::Images

Inherits:
Base
  • Object
show all
Defined in:
lib/easy_html_generator/generator/minimize/images.rb

Overview

this generator minifies image files from src folder and copies them to the dist folder

Instance Attribute Summary

Attributes inherited from Base

#config

Instance Method Summary collapse

Methods inherited from Base

#dest_path, #do_input, #generate, #input_to_output_file, #log, #log_running, #resolve_path_prefix, #should_do_file?, #src_path, #walk_files

Constructor Details

#initialize(project, config) ⇒ Images

Returns a new instance of Images.



10
11
12
13
14
15
# File 'lib/easy_html_generator/generator/minimize/images.rb', line 10

def initialize(project, config)
  super(project, config)

  @config.src  = project.config.paths.src.images
  @config.dest = project.config.paths.dist.images
end

Instance Method Details

#do_file(src, target, *args) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/easy_html_generator/generator/minimize/images.rb', line 17

def do_file(src, target, *args)
  return unless File.exist?(src) && File.file?(src)
  log "-> do_file #{src}"

  FileUtils.mkdir_p File.dirname(target)

  args.push target

  FileUtils.copy(src, target)

  Piet.optimize(target, @config.options)

  EasyHtmlGenerator::Checksum.store_file(src)
rescue StandardError
  log '-> you have to install "optipng" and "jpegoptim"'.red
end