-
Notifications
You must be signed in to change notification settings - Fork 637
/
Copy pathimages.rake
32 lines (26 loc) · 1.32 KB
/
images.rake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# on MacOS install the following:
# brew install imagemagick mozjpeg
# ln -s /usr/local/Cellar/mozjpeg/{version}/bin/cjpeg /usr/local/bin/mozcjpeg
require 'pathname'
require 'image_processing/mini_magick'
namespace :images do
task :resize do
board_images_path = File.expand_path('../../assets/images/boards', __dir__)
original_images_path = File.join(board_images_path, 'original')
Pathname.new(original_images_path).children.each do |path|
next unless path.file?
puts "processing #{path}"
original_image = File.join(original_images_path, path.basename)
large_image = File.join(board_images_path, 'large', path.basename)
small_image = File.join(board_images_path, 'small', path.basename)
small_processed = ImageProcessing::MiniMagick.source(original_image)
.resize_to_limit(300, 225)
.call
large_processed = ImageProcessing::MiniMagick.source(original_image)
.resize_to_limit(800, 600)
.call
`mozcjpeg -quality 80 -optimize -outfile #{large_image} #{large_processed.path}`
`mozcjpeg -quality 80 -optimize -outfile #{small_image} #{small_processed.path}`
end
end
end