Cleanup the thumbnail generator script

This commit is contained in:
Ufuk Kayserilioglu
2015-03-17 01:47:29 +02:00
parent 7eed3d91de
commit 9bf44b01d3
2 changed files with 23 additions and 17 deletions
+11 -7
View File
@@ -23,23 +23,28 @@ class Screenshot
@theme = theme @theme = theme
end end
def generate_theme_image def generate_theme_image(builder)
if File.exist? target_file if File.exist? target_file
puts "Image for theme #{theme.name} already exists" builder.say_status :exists, target_file, :blue
return return
end end
puts "Generating image for theme #{theme.name}" builder.say_status :generating, target_file, :green
visit '/' visit '/'
within ".theme_#{theme.slug}" do within ".theme_#{theme.slug}" do
choose 'sidebar_theme_rd' choose 'sidebar_theme_rd'
end end
sleep 1 sleep 1
file = Tempfile.new([theme.slug, ".png"]) create_thumbnail do |path|
begin page.save_screenshot(path, full: true)
page.save_screenshot(file.path, full: true) end
end
def create_thumbnail
file = Tempfile.new([theme.slug, ".png"])
yield(file.path)
MiniMagick::Tool::Convert.new do |convert| MiniMagick::Tool::Convert.new do |convert|
convert << file.path convert << file.path
convert.crop '220x220+0+0' convert.crop '220x220+0+0'
@@ -49,7 +54,6 @@ class Screenshot
file.close file.close
file.unlink file.unlink
end end
end
def target_file def target_file
"source/images/theme/#{theme.slug}-#{theme.digest}.png" "source/images/theme/#{theme.slug}-#{theme.digest}.png"
+4 -2
View File
@@ -5,12 +5,14 @@ class ScreenshotGenerator < ::Middleman::Extension
def initialize(app, options_hash={}, &block) def initialize(app, options_hash={}, &block)
super super
app.before_build do app.before_build do |builder|
builder.say "==> Begin - Theme thumbnail generator", :green
Screenshot.prepare Screenshot.prepare
themes.each do |theme| themes.each do |theme|
Screenshot.new(theme).generate_theme_image Screenshot.new(theme).generate_theme_image(builder)
end end
builder.say "==> End - Theme thumbnail generator", :green
end end
end end
end end