Cleanup the thumbnail generator script

This commit is contained in:
Ufuk Kayserilioglu committed 2015-03-17 01:47:29 +02:00
1 parent 7eed3d91de
commit 9bf44b01d3
2 files changed
+23 -17

No files matched your search

+19 -15
View File
@@ -23,34 +23,38 @@ class Screenshot
@theme = theme
end
def generate_theme_image
def generate_theme_image(builder)
if File.exist? target_file
puts "Image for theme #{theme.name} already exists"
builder.say_status :exists, target_file, :blue
return
end
puts "Generating image for theme #{theme.name}"
builder.say_status :generating, target_file, :green
visit '/'
within ".theme_#{theme.slug}" do
choose 'sidebar_theme_rd'
end
sleep 1
file = Tempfile.new([theme.slug, ".png"])
begin
page.save_screenshot(file.path, full: true)
MiniMagick::Tool::Convert.new do |convert|
convert << file.path
convert.crop '220x220+0+0'
convert << target_file
end
ensure
file.close
file.unlink
create_thumbnail do |path|
page.save_screenshot(path, full: true)
end
end
def create_thumbnail
file = Tempfile.new([theme.slug, ".png"])
yield(file.path)
MiniMagick::Tool::Convert.new do |convert|
convert << file.path
convert.crop '220x220+0+0'
convert << target_file
end
ensure
file.close
file.unlink
end
def target_file
"source/images/theme/#{theme.slug}-#{theme.digest}.png"
end
+4 -2
View File
@@ -5,12 +5,14 @@ class ScreenshotGenerator < ::Middleman::Extension
def initialize(app, options_hash={}, &block)
super
app.before_build do
app.before_build do |builder|
builder.say "==> Begin - Theme thumbnail generator", :green
Screenshot.prepare
themes.each do |theme|
Screenshot.new(theme).generate_theme_image
Screenshot.new(theme).generate_theme_image(builder)
end
builder.say "==> End - Theme thumbnail generator", :green
end
end
end