middleman-simple-thumbnailer 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a737cfbd8c307195f1b5c65a166b55537726c298
4
- data.tar.gz: b8cca78be777777673ca21d7505c9c9754dbec8f
3
+ metadata.gz: c5f9fba464c6115cd6443277d404334f4362f9b8
4
+ data.tar.gz: 7e667fae2a59f05459919daed248e6c9ea440238
5
5
  SHA512:
6
- metadata.gz: 0be2674631c601c265582e77870cd45850d99d07226cb4089a51dcb9b5294153c4c029009d9509fb3ce5d68020bac631d6b0ff9d301b9ba877eebb6091625358
7
- data.tar.gz: 883e8dd54a831943e2352f78b931b6938d634e9e1618c2f042a24f4b69cddf1c26b694e6bc0668f7971c4185bf8b87072dca159c0ea5221947d22710b224bd92
6
+ metadata.gz: 8f06323a24426b629c6c6a786f1d2eba8fd6a6ec1fbd387b783427dfd95efa507ee1f7f66ee803d9674fe16eb057fdbb160fa771998cad5e2566b56473cc0976
7
+ data.tar.gz: 49ad31bf2a908ff68167e39f4789c1695fab81793895a44a34ccb1ad9d7738ba791e0035c7a9c8ab97ce0250bb6bea667b8b68a53f4f5f29b9fed25c69d624a2
data/README.md CHANGED
@@ -34,11 +34,19 @@ You can also use the `image_path` helper the same way in place where you need on
34
34
  This extension use ImageMagick (via mini_magick) to resize the images.
35
35
  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
36
 
37
+ Known limitation
38
+ ----------------
39
+
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.
41
+
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
+
37
44
  Build/Development modes
38
45
  -----
39
46
  During development thumbnails will be created on fly and presented as a base64 strings.
40
47
  During build thumbnails will be created as normal files and stored in same dir as their originals.
48
+
41
49
 
42
50
  LICENSE
43
51
  -----
44
- MIT
52
+ MIT
@@ -6,7 +6,7 @@ Feature: Caching thumbnails in development
6
6
  When I go to "/page-with-images-to-resize.html"
7
7
  Then the cache directory should exist with the following files
8
8
  | images/original.10x10gt.eb4e78fd2554225b2.jpg |
9
- | images/original.5x5.eb4e78fd2554225b2.jpg |
9
+ | images/original.5x5.eb4e78fd2554225b2.jpg |
10
10
 
11
11
  Scenario: Cached thumbnails are used, if present
12
12
  Given the Server is running at "cached-thumbnails"
@@ -0,0 +1,32 @@
1
+ Feature: Generate image thumbnails
2
+
3
+ Scenario: Preserve default image_tag behaviour if no resize_to param is given
4
+ Given the Server is running at "basic-app-relative-assets"
5
+ When I go to "/page-with-untouched-image.html"
6
+ Then I should see '<img src="images/original.jpg" alt="Original" />'
7
+
8
+ Scenario: Preserve default image_tag behaviour after build if no resize_to param was given
9
+ Given a fixture app "basic-app-relative-assets"
10
+ And a successfully built app at "basic-app-relative-assets"
11
+ When I cd to "build"
12
+ Then the file "page-with-untouched-image.html" should contain '<img src="images/original.jpg" alt="Original" />'
13
+
14
+ Scenario: Generate base64 thumbnail of image with resize_to param given
15
+ Given the Server is running at "basic-app-relative-assets"
16
+ When I go to "/page-with-images-to-resize.html"
17
+ Then I should see base64ed thumbnails of the images
18
+
19
+ Scenario: After build server resized images
20
+ Given a fixture app "basic-app-relative-assets"
21
+ And a successfully built app at "basic-app-relative-assets"
22
+ When I cd to "build"
23
+ Then the following images should exist:
24
+ | filename | dimensions |
25
+ | images/original.10x10.jpg | 10x5 |
26
+ | images/original.5x5.jpg | 5x2 |
27
+ | images/original.20x20gt.jpg | 20x9 |
28
+ | images/original.15x15gt.jpg | 15x7 |
29
+ And the file "page-with-images-to-resize.html" should contain '<img src="images/original.10x10.jpg" class="image-resized-to10x10" alt="Original.10x10" />'
30
+ And the file "page-with-images-to-resize.html" should contain '<source srcset="images/original.20x20gt.jpg" media="(min-width: 900px)">'
31
+ And the file "page-with-images-to-resize.html" should contain '<img src="images/original.5x5.jpg" class="image-resized-to5x5" alt="Original.5x5" />'
32
+ And the file "page-with-images-to-resize.html" should contain '<source srcset="images/original.15x15gt.jpg" media="(min-width: 900px)">'
@@ -35,9 +35,9 @@ end
35
35
 
36
36
  Then(/^the cache directory should exist (?:at "([^"]+)" )?with the following files$/) do |cache_dir, files|
37
37
  cache_dir ||= MiddlemanSimpleThumbnailer::Extension.config.cache_dir
38
- check_directory_presence([cache_dir], true)
38
+ expect(cache_dir).to be_an_existing_directory
39
39
  cd cache_dir
40
- files.raw.map{|file_row| file_row[0]}.each { |f| expect(f).to be_existing_file }
40
+ files.raw.map{|file_row| file_row[0]}.each { |f| expect(f).to be_an_existing_file }
41
41
  end
42
42
 
43
43
  Then(/^I should see base64ed data of the cached thumbnails with image path$/) do
@@ -68,7 +68,7 @@ end
68
68
 
69
69
  Then(/^the following images should exist:$/) do |table|
70
70
  table.hashes.each do |row|
71
- in_current_dir do
71
+ cd('.') do
72
72
  image = MiniMagick::Image.open(row["filename"])
73
73
  expect(image.dimensions).to eq row["dimensions"].split("x").map(&:to_i)
74
74
  end
@@ -0,0 +1,2 @@
1
+ activate :middleman_simple_thumbnailer
2
+ activate :relative_assets
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>Hello World</title>
5
+ </head>
6
+ <body>
7
+ <picture>
8
+ <source srcset="<%= image_path 'original.jpg', resize_to: '20x20>'%>" media="(min-width: 900px)">
9
+ <%= image_tag 'original.jpg', resize_to: '10x10', class: 'image-resized-to10x10' %>
10
+ </picture>
11
+ <picture>
12
+ <source srcset="<%= image_path 'original.jpg', resize_to: '15x15>'%>" media="(min-width: 900px)">
13
+ <%= image_tag 'original.jpg', resize_to: '5x5', class: 'image-resized-to5x5' %>
14
+ </picture>
15
+ </body>
16
+ </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>
@@ -34,28 +34,31 @@ module MiddlemanSimpleThumbnailer
34
34
 
35
35
  helpers do
36
36
 
37
- def image_tag(path, options={})
38
- if (resize_to = options.delete(:resize_to))
39
- super(image_path(path, resize_to: resize_to), options)
40
- else
41
- super(path, options)
42
- end
43
- end
44
-
45
- def image_path(path, options={})
46
- resize_to = options.delete(:resize_to)
47
- return super(path) unless resize_to
37
+ def resized_image_path(path, resize_to=nil)
38
+ return path unless resize_to
48
39
 
49
40
  image = MiddlemanSimpleThumbnailer::Image.new(path, resize_to, app)
50
41
  if app.development?
51
- super("data:#{image.mime_type};base64,#{image.base64_data}")
42
+ "data:#{image.mime_type};base64,#{image.base64_data}"
52
43
  else
53
44
  ext = app.extensions[:middleman_simple_thumbnailer]
54
45
  ext.store_resized_image(path, resize_to)
55
- super(image.resized_img_path)
46
+ image.resized_img_path
56
47
  end
57
48
  end
58
49
 
50
+ def image_tag(path, options={})
51
+ resize_to = options.delete(:resize_to)
52
+ new_path = resize_to ? resized_image_path(path, resize_to) : path
53
+ super(new_path, options)
54
+ end
55
+
56
+ def image_path(path, options={})
57
+ resize_to = options.delete(:resize_to)
58
+ new_path = resize_to ? resized_image_path(path, resize_to) : path
59
+ super(new_path)
60
+ end
61
+
59
62
  end
60
63
 
61
64
  end
@@ -1,3 +1,3 @@
1
1
  module MiddlemanSimpleThumbnailer
2
- VERSION = '1.2.0'
2
+ VERSION = '1.2.1'
3
3
  end
@@ -20,8 +20,8 @@ Gem::Specification.new do |s|
20
20
  s.add_runtime_dependency 'mini_magick', '~> 4'
21
21
 
22
22
  s.add_development_dependency 'middleman-cli', '~> 4'
23
- s.add_development_dependency 'rake', '~> 10'
24
- s.add_development_dependency 'aruba', '~>0.7.4'
25
- s.add_development_dependency 'cucumber', '~> 1.3'
26
- s.add_development_dependency 'capybara', '~> 2.7'
23
+ s.add_development_dependency 'rake', '~> 12'
24
+ s.add_development_dependency 'aruba', '~> 0.14.2'
25
+ s.add_development_dependency 'cucumber', '~> 2.4'
26
+ s.add_development_dependency 'capybara', '~> 2.15'
27
27
  end
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.0
4
+ version: 1.2.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: 2016-11-28 00:00:00.000000000 Z
11
+ date: 2017-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core
@@ -58,56 +58,56 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10'
61
+ version: '12'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10'
68
+ version: '12'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: aruba
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.7.4
75
+ version: 0.14.2
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.7.4
82
+ version: 0.14.2
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: cucumber
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.3'
89
+ version: '2.4'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.3'
96
+ version: '2.4'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: capybara
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.7'
103
+ version: '2.15'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2.7'
110
+ version: '2.15'
111
111
  description: Middleman extension that allows you to create image thumbnails by providing
112
112
  resize_to option to image_tag helper
113
113
  email:
@@ -125,12 +125,17 @@ files:
125
125
  - features/caching_thumbnails_in_development.feature
126
126
  - features/generate_image_thumbnails.feature
127
127
  - features/generate_image_thumbnails_image_path.feature
128
+ - features/generate_image_thumbnails_relative_assets.feature
128
129
  - features/support/env.rb
129
130
  - features/support/image_thumbnails_steps.rb
130
131
  - fixtures/basic-app-image-path/config.rb
131
132
  - fixtures/basic-app-image-path/source/images/original.jpg
132
133
  - fixtures/basic-app-image-path/source/page-with-images-to-resize.html.erb
133
134
  - fixtures/basic-app-image-path/source/page-with-untouched-image.html.erb
135
+ - fixtures/basic-app-relative-assets/config.rb
136
+ - fixtures/basic-app-relative-assets/source/images/original.jpg
137
+ - fixtures/basic-app-relative-assets/source/page-with-images-to-resize.html.erb
138
+ - fixtures/basic-app-relative-assets/source/page-with-untouched-image.html.erb
134
139
  - fixtures/basic-app/config.rb
135
140
  - fixtures/basic-app/source/images/original.jpg
136
141
  - fixtures/basic-app/source/page-with-images-to-resize.html.erb
@@ -176,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
176
181
  version: '0'
177
182
  requirements: []
178
183
  rubyforge_project:
179
- rubygems_version: 2.5.1
184
+ rubygems_version: 2.6.8
180
185
  signing_key:
181
186
  specification_version: 4
182
187
  summary: Middleman extension that allows you to create image thumbnails by providing
@@ -185,12 +190,17 @@ test_files:
185
190
  - features/caching_thumbnails_in_development.feature
186
191
  - features/generate_image_thumbnails.feature
187
192
  - features/generate_image_thumbnails_image_path.feature
193
+ - features/generate_image_thumbnails_relative_assets.feature
188
194
  - features/support/env.rb
189
195
  - features/support/image_thumbnails_steps.rb
190
196
  - fixtures/basic-app-image-path/config.rb
191
197
  - fixtures/basic-app-image-path/source/images/original.jpg
192
198
  - fixtures/basic-app-image-path/source/page-with-images-to-resize.html.erb
193
199
  - fixtures/basic-app-image-path/source/page-with-untouched-image.html.erb
200
+ - fixtures/basic-app-relative-assets/config.rb
201
+ - fixtures/basic-app-relative-assets/source/images/original.jpg
202
+ - fixtures/basic-app-relative-assets/source/page-with-images-to-resize.html.erb
203
+ - fixtures/basic-app-relative-assets/source/page-with-untouched-image.html.erb
194
204
  - fixtures/basic-app/config.rb
195
205
  - fixtures/basic-app/source/images/original.jpg
196
206
  - fixtures/basic-app/source/page-with-images-to-resize.html.erb