Cleanup the thumbnail generator script
This commit is contained in:
+11
-7
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user