rsvg_convert.run(stylesheet: Rails.root.join('lib', 'assets', 'wordmark.light.css'), input: Rails.root.join('app', 'javascript', 'images', 'logo-symbol-wordmark.svg'), size: 102, output: output_dest.join('wordmark.light.png'))
end
- desc 'Generate favicons and app icons from SVG source files'
+ desc 'Generate favicons and app icons from source files'
task generate_app_icons: :environment do
- favicon_source = Rails.root.join('app', 'javascript', 'images', 'logo.svg')
- app_icon_source = Rails.root.join('app', 'javascript', 'images', 'app-icon.svg')
+ favicon_source = Rails.root.join('app', 'javascript', 'images', 'logo.png') # ideally, we would use an SVG
+ app_icon_source = favicon_source
output_dest = Rails.root.join('app', 'javascript', 'icons')
- rsvg_convert = Terrapin::CommandLine.new('rsvg-convert', '-w :size -h :size --keep-aspect-ratio :input -o :output')
convert = Terrapin::CommandLine.new('convert', ':input :output')
+ convert_resize = Terrapin::CommandLine.new('convert', ':input -resize :size :output')
favicon_sizes = [16, 32, 48]
apple_icon_sizes = [57, 60, 72, 76, 114, 120, 144, 152, 167, 180, 1024]
favicon_sizes.each do |size|
output_path = output_dest.join("favicon-#{size}x#{size}.png")
favicons << output_path
- rsvg_convert.run(size: size, input: favicon_source, output: output_path)
+ convert_resize.run(size: "#{size}x#{size}", input: favicon_source, output: output_path)
end
convert.run(input: favicons, output: Rails.root.join('public', 'favicon.ico'))
apple_icon_sizes.each do |size|
- rsvg_convert.run(size: size, input: app_icon_source, output: output_dest.join("apple-touch-icon-#{size}x#{size}.png"))
+ convert_resize.run(size: "#{size}x#{size}", input: app_icon_source, output: output_dest.join("apple-touch-icon-#{size}x#{size}.png"))
end
android_icon_sizes.each do |size|
- rsvg_convert.run(size: size, input: app_icon_source, output: output_dest.join("android-chrome-#{size}x#{size}.png"))
+ convert_resize.run(size: "#{size}x#{size}", input: app_icon_source, output: output_dest.join("android-chrome-#{size}x#{size}.png"))
end
end