Skip to content

Commit af34556

Browse files
etewiahclaude
andcommitted
Add missing seed_images:generate_responsive rake task
The setup task was calling this task but it wasn't defined. Generates 400w and 800w variants (JPG + WebP) for srcset usage. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent f220f7c commit af34556

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

lib/tasks/seed_images_optimize.rake

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,42 @@ namespace :seed_images do
204204
end
205205
end
206206

207+
desc "Generate responsive image variants (400w, 800w) for srcset"
208+
task generate_responsive: :environment do
209+
check_dependencies!
210+
211+
puts "Generating responsive image variants..."
212+
213+
example_dir = Rails.root.join("db/example_images")
214+
sizes = [400, 800]
215+
216+
Dir.glob("#{example_dir}/*.jpg").each do |file|
217+
# Skip already-generated responsive variants
218+
next if file.match?(/-\d+\.jpg$/)
219+
220+
basename = File.basename(file, ".jpg")
221+
222+
sizes.each do |width|
223+
# Generate JPG variant
224+
jpg_output = "#{example_dir}/#{basename}-#{width}.jpg"
225+
unless File.exist?(jpg_output)
226+
system("magick", file, "-resize", "#{width}x>", "-quality", "82", jpg_output)
227+
puts " Created: #{File.basename(jpg_output)}"
228+
end
229+
230+
# Generate WebP variant
231+
webp_output = "#{example_dir}/#{basename}-#{width}.webp"
232+
unless File.exist?(webp_output)
233+
system("cwebp", "-q", "80", "-resize", width.to_s, "0", file, "-o", webp_output,
234+
out: File::NULL, err: File::NULL)
235+
puts " Created: #{File.basename(webp_output)}"
236+
end
237+
end
238+
end
239+
240+
puts "Done!"
241+
end
242+
207243
desc "Generate WebP versions of all seed images"
208244
task generate_webp: :environment do
209245
check_dependencies!

0 commit comments

Comments
 (0)