jekyll-responsive_image 0.16.0 → 0.17.0
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 +4 -4
- data/README.md +10 -3
- data/features/extra-image-generation.feature +43 -0
- data/features/image-generation.feature +1 -0
- data/features/step_definitions/jekyll_steps.rb +5 -1
- data/lib/jekyll/responsive_image.rb +1 -0
- data/lib/jekyll/responsive_image/defaults.rb +1 -0
- data/lib/jekyll/responsive_image/extra_image_generator.rb +15 -0
- data/lib/jekyll/responsive_image/image_processor.rb +1 -1
- data/lib/jekyll/responsive_image/resize_handler.rb +3 -3
- data/lib/jekyll/responsive_image/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7ebfa9c38ff18b9b454d41f8e9256291c3886a4f
|
|
4
|
+
data.tar.gz: 91e32dedd74ab0265cf979dcdb5e58a36577239e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cdb668bce4e395420906a8a7d047afd612fe6221c2b3fd612e385f8d14c1781e1eea01489a7538757cb765d47839ab4de9445e6957ea1f912be069dd5a326238
|
|
7
|
+
data.tar.gz: 07ef7390f147509a3ad1dcf6a747eccf93179f3f6dca33ba155065a0cf69cc7f584956f6a57c7df91439234988739a282f70ae6c689655a487798b2a3f9c4108
|
data/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Jekyll Responsive Images is a [Jekyll](http://jekyllrb.com/) plugin and utility for automatically resizing images. Its intended use is for sites which want to display responsive images using something like [`srcset`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Img#Specifications) or [Imager.js](https://github.com/BBC-News/Imager.js/).
|
|
4
4
|
|
|
5
|
-
[](https://travis-ci.org/wildlyinaccurate/jekyll-responsive-image)
|
|
6
|
+
[](https://coveralls.io/repos/github/wildlyinaccurate/jekyll-responsive-image/badge.svg?branch=master)
|
|
7
|
+
[](https://gemnasium.com/wildlyinaccurate/jekyll-responsive-images)
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
@@ -64,6 +64,13 @@ responsive_image:
|
|
|
64
64
|
# %{height} Height of the resized image
|
|
65
65
|
#
|
|
66
66
|
output_path_format: assets/resized/%{width}/%{basename}
|
|
67
|
+
|
|
68
|
+
# By default, only images referenced by the responsive_image and responsive_image_block
|
|
69
|
+
# tags are resized. Here you can set a list of paths or path globs to resize other
|
|
70
|
+
# images. This is useful for resizing images which will be referenced from stylesheets.
|
|
71
|
+
extra_images:
|
|
72
|
+
- assets/foo/bar.png
|
|
73
|
+
- assets/bgs/*.png
|
|
67
74
|
```
|
|
68
75
|
|
|
69
76
|
## Usage
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Feature: Extra image generation
|
|
2
|
+
As a Jekyll user
|
|
3
|
+
I want to resize images that aren't used in posts or pages
|
|
4
|
+
In order to use them in my stylesheets
|
|
5
|
+
|
|
6
|
+
Scenario: Resizing a single image
|
|
7
|
+
Given I have a responsive_image configuration with:
|
|
8
|
+
"""
|
|
9
|
+
sizes:
|
|
10
|
+
- width: 100
|
|
11
|
+
|
|
12
|
+
extra_images:
|
|
13
|
+
- assets/test.png
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
And I have a file "index.html" with "Hello, world!"
|
|
17
|
+
When I run Jekyll
|
|
18
|
+
Then the image "assets/resized/test-100x50.png" should have the dimensions "100x50"
|
|
19
|
+
|
|
20
|
+
Scenario: Using glob patterns
|
|
21
|
+
Given I have a responsive_image configuration with:
|
|
22
|
+
"""
|
|
23
|
+
sizes:
|
|
24
|
+
- width: 100
|
|
25
|
+
|
|
26
|
+
extra_images:
|
|
27
|
+
- assets/*.png
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
And I have a file "index.html" with "Hello, world!"
|
|
31
|
+
When I run Jekyll
|
|
32
|
+
Then the image "assets/resized/test-100x50.png" should have the dimensions "100x50"
|
|
33
|
+
|
|
34
|
+
Scenario: No extra images
|
|
35
|
+
Given I have a responsive_image configuration with:
|
|
36
|
+
"""
|
|
37
|
+
sizes:
|
|
38
|
+
- width: 100
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
And I have a file "index.html" with "Hello, world!"
|
|
42
|
+
When I run Jekyll
|
|
43
|
+
Then the file "assets/resized/test-100x50.png" should not exist
|
|
@@ -33,7 +33,11 @@ Then /^I should see "(.+)" in "(.*)"$/ do |text, file|
|
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
Then /^the file "(.+)" should exist$/ do |path|
|
|
36
|
-
assert File.
|
|
36
|
+
assert File.exist?(path)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
Then /^the file "(.+)" should not exist$/ do |path|
|
|
40
|
+
assert !File.exist?(path)
|
|
37
41
|
end
|
|
38
42
|
|
|
39
43
|
Then /^the image "(.+)" should have the dimensions "(\d+)x(\d+)"$/ do |path, width, height|
|
|
@@ -13,6 +13,7 @@ require 'jekyll/responsive_image/resize_handler'
|
|
|
13
13
|
require 'jekyll/responsive_image/common'
|
|
14
14
|
require 'jekyll/responsive_image/tag'
|
|
15
15
|
require 'jekyll/responsive_image/block'
|
|
16
|
+
require 'jekyll/responsive_image/extra_image_generator'
|
|
16
17
|
|
|
17
18
|
Liquid::Template.register_tag('responsive_image', Jekyll::ResponsiveImage::Tag)
|
|
18
19
|
Liquid::Template.register_tag('responsive_image_block', Jekyll::ResponsiveImage::Block)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Jekyll
|
|
2
|
+
class ResponsiveImage
|
|
3
|
+
class ExtraImageGenerator < Jekyll::Generator
|
|
4
|
+
include Jekyll::ResponsiveImage::Common
|
|
5
|
+
|
|
6
|
+
def generate(site)
|
|
7
|
+
config = make_config(site)
|
|
8
|
+
|
|
9
|
+
config['extra_images'].each do |pathspec|
|
|
10
|
+
Dir.glob(pathspec) { |path| ImageProcessor.process(path, config) }
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -4,7 +4,7 @@ module Jekyll
|
|
|
4
4
|
include ResponsiveImage::Utils
|
|
5
5
|
|
|
6
6
|
def process(image_path, config)
|
|
7
|
-
raise SyntaxError.new("Invalid image path specified: #{image_path}") unless File.
|
|
7
|
+
raise SyntaxError.new("Invalid image path specified: #{image_path}") unless File.exist?(image_path.to_s)
|
|
8
8
|
|
|
9
9
|
resize_handler = ResizeHandler.new
|
|
10
10
|
img = Magick::Image::read(image_path).first
|
|
@@ -17,7 +17,7 @@ module Jekyll
|
|
|
17
17
|
resized.push(image_hash(config['base_path'], filepath, width, height))
|
|
18
18
|
|
|
19
19
|
# Don't resize images more than once
|
|
20
|
-
next if File.
|
|
20
|
+
next if File.exist?(filepath)
|
|
21
21
|
|
|
22
22
|
ensure_output_dir_exists!(File.dirname(filepath))
|
|
23
23
|
|
|
@@ -35,7 +35,7 @@ module Jekyll
|
|
|
35
35
|
|
|
36
36
|
i.destroy!
|
|
37
37
|
end
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
img.destroy!
|
|
40
40
|
|
|
41
41
|
resized
|
|
@@ -46,7 +46,7 @@ module Jekyll
|
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
def ensure_output_dir_exists!(dir)
|
|
49
|
-
unless Dir.
|
|
49
|
+
unless Dir.exist?(dir)
|
|
50
50
|
Jekyll.logger.info "Creating output directory #{dir}"
|
|
51
51
|
FileUtils.mkdir_p(dir)
|
|
52
52
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jekyll-responsive_image
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.17.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joseph Wynn
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-06-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -66,6 +66,7 @@ files:
|
|
|
66
66
|
- LICENSE
|
|
67
67
|
- README.md
|
|
68
68
|
- Rakefile
|
|
69
|
+
- features/extra-image-generation.feature
|
|
69
70
|
- features/fixtures/_includes/base-url.html
|
|
70
71
|
- features/fixtures/_includes/custom-template.html
|
|
71
72
|
- features/fixtures/_includes/responsive-image.html
|
|
@@ -82,6 +83,7 @@ files:
|
|
|
82
83
|
- lib/jekyll/responsive_image/block.rb
|
|
83
84
|
- lib/jekyll/responsive_image/common.rb
|
|
84
85
|
- lib/jekyll/responsive_image/defaults.rb
|
|
86
|
+
- lib/jekyll/responsive_image/extra_image_generator.rb
|
|
85
87
|
- lib/jekyll/responsive_image/image_processor.rb
|
|
86
88
|
- lib/jekyll/responsive_image/render_cache.rb
|
|
87
89
|
- lib/jekyll/responsive_image/resize_handler.rb
|
|
@@ -113,6 +115,7 @@ signing_key:
|
|
|
113
115
|
specification_version: 4
|
|
114
116
|
summary: Responsive images for Jekyll via srcset
|
|
115
117
|
test_files:
|
|
118
|
+
- features/extra-image-generation.feature
|
|
116
119
|
- features/fixtures/_includes/base-url.html
|
|
117
120
|
- features/fixtures/_includes/custom-template.html
|
|
118
121
|
- features/fixtures/_includes/responsive-image.html
|