Class: ImageThumbnails
Constant Summary
collapse
- VALID_THUMBNAIL_EXTENSIONS =
%w[bmp gif jpeg jpg png tif tiff]
Dropsite::DirRenderer::TEMPLATE_EXTENSIONS
Instance Attribute Summary
#assets_dir, #template_path
Instance Method Summary
collapse
inherited, #plugin_assets_dir, #render, renderers
Instance Method Details
#built_in? ⇒ Boolean
40
41
42
|
# File 'lib/dropsite/plugins/image_thumbnails/image_thumbnails.rb', line 40
def built_in?
true
end
|
#can_render?(site_dir) ⇒ Boolean
6
7
8
9
|
# File 'lib/dropsite/plugins/image_thumbnails/image_thumbnails.rb', line 6
def can_render?(site_dir)
return false if not thumbnail_generator
!site_dir.files.empty? && site_dir.files.all? {|e| e.file_type == :image}
end
|
#thumbnail_generator ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/dropsite/plugins/image_thumbnails/image_thumbnails.rb', line 44
def thumbnail_generator
return @thumbnail_generator_cache if instance_variables.include?('@thumbnail_generator_cache')
begin
require 'image_science'
return @thumbnail_generator_cache = :image_science
rescue LoadError
end
begin
require 'rmagick'
return @thumbnail_generator_cache = :rmagick
rescue LoadError
end
return @thumbnail_generator_cache = nil
end
|
#write_page_assets(site_dir) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/dropsite/plugins/image_thumbnails/image_thumbnails.rb', line 11
def write_page_assets(site_dir)
raise 'No thumbnail generator' if not thumbnail_generator
assets_dir = site_dir.page_assets_dir
site_dir.entries.find_all {|e| e.is_a? SiteFile}.each do |e|
src_image = e.abs_path
case thumbnail_generator
when :image_science
begin
write_thumb_with_image_science(src_image, assets_dir)
rescue RuntimeError => e site_dir.warning "Could not create thumbnail for #{src_image} with ImageScience, " +
"a possible reason is that ImageScience cannot create thumbs for animated gifs" +
"\nError message: #{e.message}"
write_default_thumbnail(src_image, site_dir)
end
when :rmagick
begin
write_thumb_with_rmagick(src_image, assets_dir)
rescue ImageMagickError => e
site_dir.warning "Could not create thumbnail for #{src_image} with RMagick\n#{e.message}"
write_default_thumbnail(src_image, assets_dir)
end
else
site_dir.error "Unrecognized thumbnail generator: #{thumbnail_generator}"
end
end
end
|