middleman-simple-thumbnailer 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c5f9fba464c6115cd6443277d404334f4362f9b8
4
- data.tar.gz: 7e667fae2a59f05459919daed248e6c9ea440238
3
+ metadata.gz: f738be722cfd75602105485c2d54b3b4ff3b20d2
4
+ data.tar.gz: 6ac6bd63e0f0edca8da22098fd592a9561815830
5
5
  SHA512:
6
- metadata.gz: 8f06323a24426b629c6c6a786f1d2eba8fd6a6ec1fbd387b783427dfd95efa507ee1f7f66ee803d9674fe16eb057fdbb160fa771998cad5e2566b56473cc0976
7
- data.tar.gz: 49ad31bf2a908ff68167e39f4789c1695fab81793895a44a34ccb1ad9d7738ba791e0035c7a9c8ab97ce0250bb6bea667b8b68a53f4f5f29b9fed25c69d624a2
6
+ metadata.gz: 79a5a651236dbb42beb6ebeb1eb0d121ab37f58436b2c830a943d49f55ed07ebf20288e28cb38955a964e3b678cc0ae6bd3df4ca960841b812995261974829c3
7
+ data.tar.gz: 9f136cefaf74ed148b79cd1e8e7de2347d10e8eeb6b60e7f22e682ed5faee63b8ee2b72e442cd0223b1a65793a95f7eb03348deedf8ddf4ef73e665578a044fc
@@ -4,6 +4,7 @@ script:
4
4
  - bundle exec cucumber
5
5
  rvm:
6
6
  - ruby-head
7
+ - 2.4.0
7
8
  - 2.3.1
8
9
  - 2.2.4
9
10
  matrix:
data/README.md CHANGED
@@ -4,17 +4,19 @@ Middleman Simple Thumbnailer [![Build Status](https://travis-ci.org/kubenstein/m
4
4
  Middleman Simple Thumbnailer is a [Middleman](http://middlemanapp.com/) extension that allows you to create image thumbnails by providing `resize_to` option to image_tag helper.
5
5
 
6
6
 
7
- Installation
8
- -------
7
+ ## Installation
8
+
9
9
  Put this line into your `Gemfile`:
10
10
  ```
11
11
  gem 'middleman-simple-thumbnailer'
12
12
  ```
13
13
 
14
- Usage
15
- -----
14
+ ## Usage
15
+
16
+ ### All mode
17
+
16
18
  Enable the extension in `config.rb`:
17
- ```
19
+ ```ruby
18
20
  activate :middleman_simple_thumbnailer
19
21
  ```
20
22
 
@@ -24,9 +26,9 @@ And modify your `image_tag`'s by adding `resize_to` parameter:
24
26
  ```
25
27
 
26
28
  You can also use the `image_path` helper the same way in place where you need only the path of the resized image:
27
- ```
29
+ ```html
28
30
  <picture>
29
- <source srcset="<%= image_path "original.jpg", resize_to: 1200 %>" media="(min-width: 900px)">
31
+ <source srcset="<%= image_path 'original.jpg', resize_to: 1200 %>" media="(min-width: 900px)">
30
32
  <%= image_tag "original.jpg", resize_to: "400%", class: 'the-image-class' %>
31
33
  </picture>
32
34
  ```
@@ -34,19 +36,67 @@ You can also use the `image_path` helper the same way in place where you need on
34
36
  This extension use ImageMagick (via mini_magick) to resize the images.
35
37
  The `resize_to` format is therefore the one defined ny ImageMagick. The documentation can be found [there](http://www.imagemagick.org/script/command-line-processing.php#geometry).
36
38
 
37
- Known limitation
38
- ----------------
39
+ ### Dynamic mode
40
+
41
+ This mode is the default operating mode for this extension.
42
+ The images are generated according to their declaration in the helpers.
43
+ See the [known limitations](#known-limitation) paragraph below for known limitation in this mode.
44
+
45
+ ### Declarative mode
46
+
47
+ In this mode, the resized file are declared. They are then added to the sitemap and generated at the same time than the other files.
48
+
49
+ To activate this new mode, the option `:use_specs` must be used when activating the extension.
50
+
51
+ ```ruby
52
+ activate :middleman_simple_thumbnailer, use_specs: true
53
+ ```
54
+
55
+ Then the resizing specifications must be declared in a special [Middleman data file](https://middlemanapp.com/advanced/data-files/). By default the extension will look for `data/simple_thumbnailer.yaml`.
56
+
57
+ This file must contains a list of mappings with the following keys:
58
+ - `path`: the relative path of the image file in the `source\images` folder. This can be a glob pattern (https://ruby-doc.org/core/Dir.html#method-c-glob) (still relative to the `source\images` folder).
59
+ - `resize_to`: the [ImageMagix resize](http://www.imagemagick.org/script/command-line-processing.php#geometry) parameter
60
+
61
+ example (in yaml, file `data/simple_thumbnailer.yaml`):
62
+
63
+ ```yaml
64
+ ---
65
+ - path: original.jpg
66
+ resize_to: 10x10
67
+ - path: "*.jpg"
68
+ resize_to: 5x5
69
+ ```
70
+
71
+ The use of the `image_tag` and `image_path` helpers stay the same.
72
+
73
+ In this mode if a resizing specification found in an `image_tag` or `image_path` helper is not declared in the specification data file, a warning is emitted and the data file is rewritten to include the resizing specification. If the specification file doesn't exist, it is created (this behavior can be configured).
74
+
75
+
76
+ ### options
77
+
78
+ Option | default value | Description
79
+ ------------------------------|----------------------------------|-------------
80
+ :cache_dir | `'tmp/simple-thumbnailer-cache'` | Directory (relative to project root) for cached thumbnails.
81
+ :use_specs | `false` | Wether or not use resize specfication data file
82
+ :specs\_data | `'simple_thumbnailer'` | name of the specification data file. It must follow the Middleman data file name convention.
83
+ :specs\_data\_default\_format | `'yaml'` | defaut specification format (and extension). Can be 'yml', 'yaml', 'json'
84
+ :specs\_data\_save\_old | `true` | save previous specification data file
85
+ :update\_specs | `true` | Warn about missing image files in the specification file and add them to it. The spécification file will be overwritten.
86
+
87
+
88
+ ## Known limitation
89
+
90
+ In the dynamic mode, this extension is unable to update the [sitemap](https://middlemanapp.com/advanced/sitemap/). Some extensions (like [middleman-s3_sync](https://github.com/fredjean/middleman-s3_sync)) uses the content of the sitemap to do their work. Therefore, the generated resized images will not be seen by such extensions, even if they are corectly generated.
91
+
92
+
93
+ ## Build/Development modes
94
+
95
+ During development thumbnails will be created on fly and presented as a base64 strings.
39
96
 
40
- In this current implementation, this extension is unable to update the [sitemap](https://middlemanapp.com/advanced/sitemap/). Some extensions (like [middleman-s3_sync](https://github.com/fredjean/middleman-s3_sync)) uses the content of the sitemap to do their work. Therefore, the generated resized images will not be seen by such extensions, even if they are corectly generated.
97
+ During build thumbnails will be created as normal files and stored in same dir as their originals.
41
98
 
42
- This issue [#13](https://github.com/kubenstein/middleman-simple-thumbnailer/issues/13) has been opened to describe the problem and discuss the possible solutions to this limitation.
43
99
 
44
- Build/Development modes
45
- -----
46
- During development thumbnails will be created on fly and presented as a base64 strings.
47
- During build thumbnails will be created as normal files and stored in same dir as their originals.
48
-
100
+ ## LICENSE
49
101
 
50
- LICENSE
51
- -----
52
102
  MIT
@@ -0,0 +1,21 @@
1
+ Feature: Generate data file
2
+
3
+ Scenario: Check images
4
+ Given a fixture app "basic-app-data-file-generate"
5
+ And a successfully built app at "basic-app-data-file"
6
+ When I cd to "build"
7
+ Then the following images should exist:
8
+ | filename | dimensions |
9
+ | images/original.10x10gt.jpg | 10x5 |
10
+ | images/original.5x5.jpg | 5x2 |
11
+
12
+ Scenario: Check generated data file content
13
+ Given a fixture app "basic-app-data-file-generate"
14
+ And a successfully built app at "basic-app-data-file-generate"
15
+ When I cd to "data"
16
+ Then a file named "simple_thumbnailer.yaml" should exist
17
+ And file "simple_thumbnailer.yaml" should contain the following data:
18
+ | path | resize_to |
19
+ | original.jpg | 5x5 |
20
+ | original.jpg | 10x10> |
21
+
@@ -0,0 +1,30 @@
1
+ Feature: Use data file
2
+
3
+ Scenario: Check images from data file
4
+ Given a fixture app "basic-app-data-file"
5
+ And a successfully built app at "basic-app-data-file"
6
+ When I cd to "build"
7
+ Then the following images should exist:
8
+ | filename | dimensions |
9
+ | images/original.10x10.jpg | 10x5 |
10
+ | images/original.10x10gt.jpg | 10x5 |
11
+ | images/original.5x5.jpg | 5x2 |
12
+
13
+ Scenario: Check data file content
14
+ Given a fixture app "basic-app-data-file"
15
+ And a successfully built app at "basic-app-data-file"
16
+ When I cd to "data"
17
+ Then a file named "simple_thumbnailer.yml" should exist
18
+ And file "simple_thumbnailer.yml" should contain the following data:
19
+ | path | resize_to |
20
+ | original.jpg | 10x10 |
21
+ | *.jpg | 5x5 |
22
+ | original.jpg | 10x10> |
23
+
24
+ Scenario: Check sitemap file
25
+ Given a successfully built app at "basic-app-data-file"
26
+ When I cd to "build"
27
+ Then a file named "sitemap.html" should exist
28
+ And the file "sitemap.html" should contain '<li><a href="/images/original.10x10.jpg">/images/original.10x10.jpg</a></li>'
29
+ And the file "sitemap.html" should contain '<li><a href="/images/original.5x5.jpg">/images/original.5x5.jpg</a></li>'
30
+ And the file "sitemap.html" should not contain '<li><a href="/images/original.10x10gt.jpg">/images/original.10x10gt.jpg</a></li>'
@@ -1,4 +1,6 @@
1
1
  require 'base64'
2
+ require 'yaml'
3
+
2
4
  def calculate_resized_image_b64(resize_str)
3
5
  base_image = MiniMagick::Image.open(File.expand_path("../../fixtures/basic-app/source/images/original.jpg", __dir__))
4
6
  base_image.resize(resize_str)
@@ -74,3 +76,18 @@ Then(/^the following images should exist:$/) do |table|
74
76
  end
75
77
  end
76
78
  end
79
+
80
+ Then(/^file "([^"]+)" should contain the following data:$/) do |file, data|
81
+ expect(file).to be_an_existing_file
82
+ cd('.') do
83
+ specs = YAML.load_file(file)
84
+ expect(specs.length).to eq(data.hashes.length)
85
+ data.hashes.each do |hash|
86
+ expect(specs).to include(hash)
87
+ end
88
+ end
89
+ end
90
+
91
+ Then(/^the file "([^"]*)" should not contain '([^']*)'$/) do |file, partial_content|
92
+ expect(file).not_to have_file_content(Regexp.new(Regexp.escape(partial_content)), true)
93
+ end
@@ -0,0 +1 @@
1
+ activate :middleman_simple_thumbnailer, use_specs: true
@@ -0,0 +1,10 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Hello World</title>
5
+ </head>
6
+ <body>
7
+ <%= image_tag 'original.jpg', resize_to: '10x10>', class: 'image-resized-to10x10' %>
8
+ <%= image_tag 'original.jpg', resize_to: '5x5', class: 'image-resized-to5x5' %>
9
+ </body>
10
+ </html>
@@ -0,0 +1,9 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Hello World</title>
5
+ </head>
6
+ <body>
7
+ <%= image_tag 'original.jpg' %>
8
+ </body>
9
+ </html>
@@ -0,0 +1 @@
1
+ activate :middleman_simple_thumbnailer, use_specs: true
@@ -0,0 +1,5 @@
1
+ ---
2
+ - path: original.jpg
3
+ resize_to: 10x10
4
+ - path: "*.jpg"
5
+ resize_to: 5x5
@@ -0,0 +1,10 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Hello World</title>
5
+ </head>
6
+ <body>
7
+ <%= image_tag 'original.jpg', resize_to: '10x10>', class: 'image-resized-to10x10gt' %>
8
+ <%= image_tag 'original.jpg', resize_to: '5x5', class: 'image-resized-to5x5' %>
9
+ </body>
10
+ </html>
@@ -0,0 +1,9 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Hello World</title>
5
+ </head>
6
+ <body>
7
+ <%= image_tag 'original.jpg' %>
8
+ </body>
9
+ </html>
@@ -0,0 +1,5 @@
1
+ <ul>
2
+ <% sitemap.resources.each do |page| %>
3
+ <li><a href="<%= "#{page.url}" %>"><%= "#{page.url}" %></a></li>
4
+ <% end %>
5
+ </ul>
@@ -4,3 +4,4 @@ require "middleman-simple-thumbnailer/version"
4
4
  require "middleman-simple-thumbnailer/image"
5
5
  require "middleman-simple-thumbnailer/image_store"
6
6
  require "middleman-simple-thumbnailer/extension"
7
+ require "middleman-simple-thumbnailer/resource"
@@ -1,4 +1,7 @@
1
1
  require 'tmpdir'
2
+ require 'yaml'
3
+ require 'json'
4
+ require 'tempfile'
2
5
  # add resize_to param to image_tag to create thumbnails
3
6
  #
4
7
  #
@@ -9,39 +12,131 @@ module MiddlemanSimpleThumbnailer
9
12
  class Extension < Middleman::Extension
10
13
 
11
14
  option :cache_dir, 'tmp/simple-thumbnailer-cache', 'Directory (relative to project root) for cached thumbnails.'
15
+ option :use_specs, false, 'Wether or not use the specification data file'
16
+ option :specs_data, 'simple_thumbnailer', 'name of the specification data file. Must follow middleman data file name convention'
17
+ option :specs_data_default_format, 'yaml', 'defaut specification file format (and extension). Can be yaml, yml or json'
18
+ option :specs_data_save_old, true, 'save previous specification data file '
19
+ option :update_specs, true, 'Warn about missing image file in specification and add them to teh spec file'
12
20
 
13
21
  def initialize(app, options_hash={}, &block)
14
22
  super
15
23
  @images_store = MiddlemanSimpleThumbnailer::ImageStore.new
24
+ @resize_specs = app.data[options.specs_data] || []
25
+ if @resize_specs.length == 0
26
+ @resize_specs = []
27
+ end
28
+ if !%w(yaml yml json).include?(options.specs_data_default_format)
29
+ raise "value assigned to option specs_data_default_format is not correct. should be one of json, yaml, or yml"
30
+ end
16
31
  end
17
32
 
18
33
  def store_resized_image(img_path, resize_to)
19
34
  @images_store.store(img_path, resize_to)
20
35
  end
21
36
 
22
- def after_configuration
23
- MiddlemanSimpleThumbnailer::Image.options = options
37
+ # def after_configuration
38
+ # MiddlemanSimpleThumbnailer::Image.options = options
39
+ # end
40
+
41
+ def check_image_in_specs(img_path, resize_to)
42
+ @resize_specs.each do |resize_spec|
43
+ if resize_to == resize_spec.resize_to && File.fnmatch(resize_spec.path, img_path)
44
+ return true
45
+ end
46
+ end
47
+ return false
48
+ end
49
+
50
+
51
+ # def source_dir
52
+ # File.absolute_path(app.config[:source], app.root)
53
+ # end
54
+
55
+
56
+ def manipulate_resource_list(resources)
57
+ return resources unless options.use_specs
58
+ resources + @resize_specs.reduce([]) do |res, resize_spec|
59
+ Dir.chdir(File.absolute_path(File.join(app.root, app.config[:source], app.config[:images_dir]))) do
60
+ Dir.glob(resize_spec.path) do |image_file|
61
+ store_resized_image(image_file, resize_spec.resize_to)
62
+ img = MiddlemanSimpleThumbnailer::Image.new(image_file, resize_spec.resize_to, app, options).tap do |i|
63
+ i.prepare_thumbnail
64
+ end
65
+ resized_image_path = File.join(app.config[:images_dir],img.resized_img_path)
66
+ new_resource = MiddlemanSimpleThumbnailer::Resource.new(
67
+ app.sitemap,
68
+ resized_image_path,
69
+ img.cached_resized_img_abs_path,
70
+ )
71
+ res.push(new_resource)
72
+ end
73
+ end
74
+ res
75
+ end
24
76
  end
25
77
 
26
78
  def after_build(builder)
79
+ resize_specs_modified = false
27
80
  @images_store.each do |img_path, resize_to|
28
- img = MiddlemanSimpleThumbnailer::Image.new(img_path, resize_to, builder.app)
29
- builder.thor.say_status :create, "#{img.resized_img_abs_path}"
30
- img.save!
81
+ if options.use_specs && options.update_specs && !check_image_in_specs(img_path, resize_to)
82
+ builder.thor.say_status :warning, "#{img_path}:#{resize_to} not in resize spec", :yellow
83
+ @resize_specs.push(Middleman::Util::EnhancedHash.new({'path': img_path, 'resize_to': resize_to}))
84
+ resize_specs_modified = true
85
+ end
86
+ img = MiddlemanSimpleThumbnailer::Image.new(img_path, resize_to, builder.app, options)
87
+ if !File.exists?(img.resized_img_abs_path)
88
+ builder.thor.say_status :create, "#{img.resized_img_abs_path}"
89
+ img.save!
90
+ end
31
91
  end
32
92
  @images_store.delete
93
+ if options.update_specs && resize_specs_modified
94
+ builder.thor.say_status :warning, "Resize specs modified, rewrite", :yellow
95
+ write_specs_file
96
+ end
33
97
  end
34
98
 
99
+ def get_data_file_path_ext
100
+ specs_data_list = Dir.glob(File.absolute_path(File.join(app.root, app.config[:data_dir],"#{options.specs_data}.{json,yml,yaml}")))
101
+ if specs_data_list.length > 0
102
+ return specs_data_list[0], File.extname(specs_data_list[0])[1..-1]
103
+ else
104
+ return File.absolute_path(File.join(app.root, app.config[:data_dir],"#{options.specs_data}.#{options.specs_data_default_format}")), options.specs_data_default_format
105
+ end
106
+ end
107
+
108
+ def write_specs_file
109
+ data_file, ext = get_data_file_path_ext
110
+ FileUtils.mkdir_p File::dirname(data_file)
111
+ if File.exists?(data_file) && options.specs_data_save_old
112
+ i = 1
113
+ old_data_file = "#{data_file}.#{i}"
114
+ while File.exists?(old_data_file) && (i+=1) < ((2**16)-1)
115
+ old_data_file = "#{data_file}.#{i}"
116
+ end
117
+ raise "Middleman-simple-thumbnailer : could not find a filename for saving the data file " if i == ((2**16)-1)
118
+ FileUtils.cp(data_file, old_data_file)
119
+ end
120
+ new_specs = @resize_specs.map do |resize_spec|
121
+ resize_spec.to_hash
122
+ end
123
+ File.open(data_file, 'w') {|f| f.write ((%w(yaml yml).include?(ext))?new_specs.to_yaml():JSON.pretty_generate(new_specs)) }
124
+ end
125
+
126
+
127
+ private :check_image_in_specs, :get_data_file_path_ext, :write_specs_file
128
+
35
129
  helpers do
36
130
 
37
131
  def resized_image_path(path, resize_to=nil)
38
132
  return path unless resize_to
39
133
 
40
- image = MiddlemanSimpleThumbnailer::Image.new(path, resize_to, app)
134
+ ext = app.extensions[:middleman_simple_thumbnailer]
135
+
136
+ image = MiddlemanSimpleThumbnailer::Image.new(path, resize_to, app, ext.options)
41
137
  if app.development?
42
138
  "data:#{image.mime_type};base64,#{image.base64_data}"
43
139
  else
44
- ext = app.extensions[:middleman_simple_thumbnailer]
45
140
  ext.store_resized_image(path, resize_to)
46
141
  image.resized_img_path
47
142
  end
@@ -3,15 +3,15 @@ require 'base64'
3
3
 
4
4
  module MiddlemanSimpleThumbnailer
5
5
  class Image
6
- @@options = nil
7
6
 
8
7
  attr_accessor :img_path, :middleman_config, :resize_to
9
8
 
10
- def initialize(img_path, resize_to, app)
9
+ def initialize(img_path, resize_to, app, options_hash)
11
10
  @img_path = img_path
12
11
  @resize_to = resize_to
13
12
  @middleman_config = app.config
14
13
  @app = app
14
+ @options = options_hash
15
15
  end
16
16
 
17
17
  def mime_type
@@ -22,26 +22,32 @@ module MiddlemanSimpleThumbnailer
22
22
  img_path.gsub(image_name, resized_image_name)
23
23
  end
24
24
 
25
- def base64_data
25
+ def prepare_thumbnail
26
26
  unless cached_thumbnail_available?
27
27
  resize!
28
28
  save_cached_thumbnail
29
29
  end
30
+ end
31
+
32
+ def base64_data
33
+ prepare_thumbnail
30
34
  Base64.strict_encode64(File.read(cached_resized_img_abs_path))
31
35
  end
32
36
 
33
- def save!
34
- unless cached_thumbnail_available?
35
- resize!
36
- save_cached_thumbnail
37
- end
37
+ def render
38
+ prepare_thumbnail
39
+ File.read(cached_resized_img_abs_path)
40
+ end
41
+
38
42
 
43
+ def save!
44
+ prepare_thumbnail
39
45
  FileUtils.copy_file(cached_resized_img_abs_path, resized_img_abs_path)
40
46
  end
41
47
 
42
- def self.options=(options)
43
- @@options = options
44
- end
48
+ # def self.options=(options)
49
+ # @@options = options
50
+ # end
45
51
 
46
52
  def resized_img_abs_path
47
53
  File.join(build_dir, middleman_abs_path).gsub(image_name, resized_image_name)
@@ -55,6 +61,11 @@ module MiddlemanSimpleThumbnailer
55
61
  img_path.start_with?('/') ? img_path : File.join(images_dir, img_path)
56
62
  end
57
63
 
64
+ def cached_resized_img_abs_path
65
+ File.join(cache_dir, middleman_abs_path).gsub(image_name, resized_image_name).split('.').tap { |a|
66
+ a.insert(-2, image_checksum)
67
+ }.join('.')
68
+ end
58
69
 
59
70
  private
60
71
 
@@ -79,19 +90,13 @@ module MiddlemanSimpleThumbnailer
79
90
 
80
91
  def resized_image_name
81
92
  image_name.split('.').tap { |a| a.insert(-2, resize_to) }.join('.') # add resize_to sufix
82
- .gsub(/[%@!<>^]/, '>' => 'gt', '<' => 'lt', '^' => 'c') # sanitize file name
93
+ .gsub(/[%@!<>^]/, '>' => 'gt', '<' => 'lt', '^' => 'c') # sanitize file name
83
94
  end
84
95
 
85
96
  def abs_path
86
97
  File.join(source_dir, middleman_abs_path)
87
98
  end
88
99
 
89
- def cached_resized_img_abs_path
90
- File.join(cache_dir, middleman_abs_path).gsub(image_name, resized_image_name).split('.').tap { |a|
91
- a.insert(-2, image_checksum)
92
- }.join('.')
93
- end
94
-
95
100
  def cached_thumbnail_available?
96
101
  File.exist?(cached_resized_img_abs_path)
97
102
  end
@@ -114,7 +119,7 @@ module MiddlemanSimpleThumbnailer
114
119
  end
115
120
 
116
121
  def cache_dir
117
- File.absolute_path(@@options.cache_dir, @app.root)
122
+ File.absolute_path(@options.cache_dir, @app.root)
118
123
  end
119
124
  end
120
125
  end
@@ -0,0 +1,19 @@
1
+ module MiddlemanSimpleThumbnailer
2
+ class Resource < ::Middleman::Sitemap::Resource
3
+ def initialize(store, path, source)
4
+ super(store, path, source)
5
+ end
6
+
7
+ def ignored?
8
+ false
9
+ end
10
+
11
+ def template?
12
+ false
13
+ end
14
+
15
+ def binary?
16
+ true
17
+ end
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module MiddlemanSimpleThumbnailer
2
- VERSION = '1.2.1'
2
+ VERSION = '1.3.1'
3
3
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ['niewczas.jakub@gmail.com']
10
10
  s.homepage = 'https://github.com/kubenstein/middleman-simple-thumbnailer'
11
11
  s.license = 'MIT'
12
- s.summary = %q{Middleman extension that allows you to create image thumbnails by providing resize_to option to image_tag helper}
12
+ s.summary = %q{Middleman extension that allows you to create image thumbnails}
13
13
  s.description = %q{Middleman extension that allows you to create image thumbnails by providing resize_to option to image_tag helper}
14
14
 
15
15
  s.files = `git ls-files`.split("\n")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-simple-thumbnailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Niewczas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-11 00:00:00.000000000 Z
11
+ date: 2017-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core
@@ -126,8 +126,20 @@ files:
126
126
  - features/generate_image_thumbnails.feature
127
127
  - features/generate_image_thumbnails_image_path.feature
128
128
  - features/generate_image_thumbnails_relative_assets.feature
129
+ - features/generate_new_data_file.feature
130
+ - features/given_data_file.feature
129
131
  - features/support/env.rb
130
132
  - features/support/image_thumbnails_steps.rb
133
+ - fixtures/basic-app-data-file-generate/config.rb
134
+ - fixtures/basic-app-data-file-generate/source/images/original.jpg
135
+ - fixtures/basic-app-data-file-generate/source/page-with-images-to-resize.html.erb
136
+ - fixtures/basic-app-data-file-generate/source/page-with-untouched-image.html.erb
137
+ - fixtures/basic-app-data-file/config.rb
138
+ - fixtures/basic-app-data-file/data/simple_thumbnailer.yml
139
+ - fixtures/basic-app-data-file/source/images/original.jpg
140
+ - fixtures/basic-app-data-file/source/page-with-images-to-resize.html.erb
141
+ - fixtures/basic-app-data-file/source/page-with-untouched-image.html.erb
142
+ - fixtures/basic-app-data-file/source/sitemap.html.erb
131
143
  - fixtures/basic-app-image-path/config.rb
132
144
  - fixtures/basic-app-image-path/source/images/original.jpg
133
145
  - fixtures/basic-app-image-path/source/page-with-images-to-resize.html.erb
@@ -159,6 +171,7 @@ files:
159
171
  - lib/middleman-simple-thumbnailer/extension.rb
160
172
  - lib/middleman-simple-thumbnailer/image.rb
161
173
  - lib/middleman-simple-thumbnailer/image_store.rb
174
+ - lib/middleman-simple-thumbnailer/resource.rb
162
175
  - lib/middleman-simple-thumbnailer/version.rb
163
176
  - middleman-simple-thumbnailer.gemspec
164
177
  homepage: https://github.com/kubenstein/middleman-simple-thumbnailer
@@ -184,15 +197,26 @@ rubyforge_project:
184
197
  rubygems_version: 2.6.8
185
198
  signing_key:
186
199
  specification_version: 4
187
- summary: Middleman extension that allows you to create image thumbnails by providing
188
- resize_to option to image_tag helper
200
+ summary: Middleman extension that allows you to create image thumbnails
189
201
  test_files:
190
202
  - features/caching_thumbnails_in_development.feature
191
203
  - features/generate_image_thumbnails.feature
192
204
  - features/generate_image_thumbnails_image_path.feature
193
205
  - features/generate_image_thumbnails_relative_assets.feature
206
+ - features/generate_new_data_file.feature
207
+ - features/given_data_file.feature
194
208
  - features/support/env.rb
195
209
  - features/support/image_thumbnails_steps.rb
210
+ - fixtures/basic-app-data-file-generate/config.rb
211
+ - fixtures/basic-app-data-file-generate/source/images/original.jpg
212
+ - fixtures/basic-app-data-file-generate/source/page-with-images-to-resize.html.erb
213
+ - fixtures/basic-app-data-file-generate/source/page-with-untouched-image.html.erb
214
+ - fixtures/basic-app-data-file/config.rb
215
+ - fixtures/basic-app-data-file/data/simple_thumbnailer.yml
216
+ - fixtures/basic-app-data-file/source/images/original.jpg
217
+ - fixtures/basic-app-data-file/source/page-with-images-to-resize.html.erb
218
+ - fixtures/basic-app-data-file/source/page-with-untouched-image.html.erb
219
+ - fixtures/basic-app-data-file/source/sitemap.html.erb
196
220
  - fixtures/basic-app-image-path/config.rb
197
221
  - fixtures/basic-app-image-path/source/images/original.jpg
198
222
  - fixtures/basic-app-image-path/source/page-with-images-to-resize.html.erb