jekyll-responsive_image 0.9.0 → 0.9.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: b473c6730697db2d34bf8a02b5c715abe4a35149
4
- data.tar.gz: aa1bfa551cd86999fa2cb4b253b038c1d7ce7185
3
+ metadata.gz: dc0a20c9cc1f1bfd10aef481ca55672377b9379f
4
+ data.tar.gz: 60044f0efde1042917c727817d597e11e38ca40a
5
5
  SHA512:
6
- metadata.gz: 5e22114a262175eea4826c6d73419c9709bc936507b7b5a2c13c26c9510a5bb44611308a44b64c379936a760b1e3188efd145c3fc52e3914a6c4bbcd78c60a23
7
- data.tar.gz: 37da18d95c3579ba4cea87190dca29c2e76936e9181ca9af678993b3e69dce6b222d905c73e0be43c2dcc0aca7aaf87434360c045864e23c1b432689fbce5c5c
6
+ metadata.gz: 2c21adf98bc2bd32e379bb7721f7ff2ce9149f2a351dd00f99ead6f52b935ae82a30ce1d62fb76abbef567c5d0ad701e36ffc31617bef6b609ce316ae6c23d1d
7
+ data.tar.gz: fb4cd91b2570b517e2e05662e1117adce75616b973a48faf6147e3f4ecc802be260e81e7e74a49b4be166025160c826cf3a4a6f7d1ea3dbe29519dd4419a5bc4
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
+ coverage
1
2
  Gemfile.lock
data/README.md CHANGED
@@ -8,18 +8,19 @@ Jekyll Responsive Images is a [Jekyll](http://jekyllrb.com/) plugin and utility
8
8
 
9
9
  ## Installation
10
10
 
11
- Install the gem yourself
11
+ You can either use the gem and update your `_config.yml`:
12
12
 
13
13
  ```
14
14
  $ gem install jekyll-responsive_image
15
15
  ```
16
16
 
17
- Or simply add it to your Jekyll `_config.yml`:
18
-
19
17
  ```yaml
18
+ # _config.yml
20
19
  gems: [jekyll-responsive_image]
21
20
  ```
22
21
 
22
+ Or you can simply copy [`responsive_image.rb`](lib/jekyll/responsive_image.rb) into your `_plugins` directory.
23
+
23
24
  ## Configuration
24
25
 
25
26
  An example configuration is below.
@@ -33,30 +34,38 @@ responsive_image:
33
34
  sizes:
34
35
  - width: 480 # How wide the resized image will be. Required
35
36
  - width: 800
36
- quality: 90 # JPEG quality. Optional.
37
+ quality: 90 # Override JPEG quality (default is 85). Optional.
37
38
  - width: 1400
38
39
  ```
39
40
 
40
41
  ## Usage
41
42
 
42
- Replace your images with the `responsive_image` tag, specifying a path to the image.
43
+ Replace your images with the `responsive_image` tag, specifying the path to the image in the `path` attribute.
43
44
 
44
45
  ```
45
46
  {% responsive_image path: assets/my-file.jpg %}
46
47
  ```
47
48
 
48
- Any extra attributes will be passed to the template.
49
+ You can override the template on a per-image basis by specifying the `template` attribute.
50
+
51
+ ```
52
+ {% responsive_image path: assets/my-file.jpg template: _includes/another-template.html %}
53
+ ```
54
+
55
+ Any extra attributes will be passed straight to the template as variables.
49
56
 
50
57
  ```
51
58
  {% responsive_image path: assets/image.jpg alt: "Lorem ipsum..." title: "Lorem ipsum..." %}
52
59
  ```
53
60
 
54
- Create a template to suit your needs. A basic template example is below.
61
+ ### Template
62
+
63
+ You will need to create a template in order to use the `responsive_image` tag. A sample template is below.
55
64
 
56
65
  ```html
57
66
  <img src="/{{ path }}"
58
67
  alt="{{ alt }}"
59
- title="{{ title }}
68
+ title="{{ title }}"
60
69
 
61
70
  {% if resized %}
62
71
  srcset="{% for i in resized %}
@@ -65,3 +74,21 @@ Create a template to suit your needs. A basic template example is below.
65
74
  {% endif %}
66
75
  >
67
76
  ```
77
+
78
+ #### Template Variables
79
+
80
+ The following variables are available in the template:
81
+
82
+ | Variable | Type | Description |
83
+ |-----------|--------|------------------------------------------------------------------------------------------------------|
84
+ | `path` | String | The path of the unmodified image. This is always the same as the `path` attribute passed to the tag. |
85
+ | `resized` | Array | An array of all the resized images. Each image contains the properties listed below. |
86
+ | `*` | String | Any other attributes will be passed to the template verbatim as strings. |
87
+
88
+ Each element in the `resized` array contains the following properties:
89
+
90
+ | Variable | Type | Description |
91
+ |----------|----------|----------------------------------|
92
+ | `path` | String | The path of the resized image. |
93
+ | `width` | Integer | The width of the resized image. |
94
+ | `height` | Integer | The height of the resized image. |
data/Rakefile CHANGED
@@ -22,7 +22,7 @@ task :default => [:features]
22
22
 
23
23
  task :release do |t|
24
24
  system "gem build jekyll-responsive_image.gemspec"
25
- system "git tag v#{Jekyll::ResponsiveImage::VERSION}"
25
+ system "git tag v#{Jekyll::ResponsiveImage::VERSION} -a -m 'Tagged release of jekyll-responsive_image-#{Jekyll::ResponsiveImage::VERSION}.gem'"
26
26
  system "git push --tags"
27
27
  system "gem push jekyll-responsive_image-#{Jekyll::ResponsiveImage::VERSION}.gem"
28
28
  end
@@ -0,0 +1 @@
1
+ {{ resized | map: 'width' }}
@@ -1,4 +1,4 @@
1
- <img alt="{{ alt }}" src="/{{ path }}"{% if resized %} srcset="
1
+ <img alt="{{ alt }}" src="/{{ path }}" title="{{ title }}"{% if resized %} srcset="
2
2
  {% for i in resized %}
3
3
  /{{ i.path }} {{ i.width }}w{% if forloop.last == false %},{% endif %}
4
4
  {% endfor %}
@@ -13,9 +13,21 @@ Feature: Jekyll responsive-image tag
13
13
  {% responsive_image path: assets/test.png alt: Foobar %}
14
14
  """
15
15
  When I run Jekyll
16
- Then I should see "<img alt=\"Foobar\" src=\"/assets/test.png\">" in "_site/index.html"
16
+ Then I should see "<img alt=\"Foobar\" src=\"/assets/test.png\"" in "_site/index.html"
17
17
 
18
- Scenario: UTF-8 alt attribute
18
+ Scenario: Adding custom attributes
19
+ Given I have a responsive_image configuration with:
20
+ """
21
+ template: _includes/responsive-image.html
22
+ """
23
+ And I have a file "index.html" with:
24
+ """
25
+ {% responsive_image path: assets/test.png alt: Foobar title: "Lorem Ipsum" %}
26
+ """
27
+ When I run Jekyll
28
+ Then I should see "<img alt=\"Foobar\" src=\"/assets/test.png\" title=\"Lorem Ipsum\"" in "_site/index.html"
29
+
30
+ Scenario: UTF-8 attributes
19
31
  Given I have a responsive_image configuration with:
20
32
  """
21
33
  template: _includes/responsive-image.html
@@ -25,7 +37,7 @@ Feature: Jekyll responsive-image tag
25
37
  {% responsive_image path: assets/test.png alt: "かっこいい! ジェケルが好きです!" %}
26
38
  """
27
39
  When I run Jekyll
28
- Then I should see "<img alt=\"かっこいい! ジェケルが好きです!\" src=\"/assets/test.png\">" in "_site/index.html"
40
+ Then I should see "<img alt=\"かっこいい! ジェケルが好きです!\" src=\"/assets/test.png\"" in "_site/index.html"
29
41
 
30
42
  Scenario: Image with multiple sizes
31
43
  Given I have a responsive_image configuration with:
@@ -45,3 +57,18 @@ Feature: Jekyll responsive-image tag
45
57
  And I should see "/assets/resized/test-200x100.png 200w" in "_site/index.html"
46
58
  And the file "assets/resized/test-100x50.png" should exist
47
59
  And the file "assets/resized/test-200x100.png" should exist
60
+
61
+ Scenario: Overriding the template
62
+ Given I have a responsive_image configuration with:
63
+ """
64
+ template: _includes/responsive-image.html
65
+ sizes:
66
+ - width: 100
67
+ - width: 200
68
+ """
69
+ And I have a file "index.html" with:
70
+ """
71
+ {% responsive_image path: assets/test.png template: _includes/custom-template.html %}
72
+ """
73
+ When I run Jekyll
74
+ Then I should see "100200" in "_site/index.html"
@@ -1,7 +1,6 @@
1
- begin
2
- require 'coveralls' if ENV['CI']
3
- rescue LoadError
4
- # ignore
1
+ if ENV['CI']
2
+ require 'coveralls'
3
+ Coveralls.wear!
5
4
  end
6
5
 
7
6
  require 'test/unit'
@@ -86,9 +86,10 @@ module Jekyll
86
86
  config['output_dir'] ||= 'assets/resized'
87
87
  config['sizes'] ||= []
88
88
 
89
+ @attributes['template'] ||= config['template']
89
90
  @attributes['resized'] = resize_image(@attributes['path'], config)
90
91
 
91
- partial = File.read(config['template'])
92
+ partial = File.read(@attributes['template'])
92
93
  template = Liquid::Template.parse(partial)
93
94
 
94
95
  template.render!(@attributes)
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  class ResponsiveImage
3
- VERSION = '0.9.0'.freeze
3
+ VERSION = '0.9.1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-responsive_image
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Wynn
@@ -54,6 +54,7 @@ files:
54
54
  - LICENSE
55
55
  - README.md
56
56
  - Rakefile
57
+ - features/fixtures/_includes/custom-template.html
57
58
  - features/fixtures/_includes/responsive-image.html
58
59
  - features/fixtures/assets/test.png
59
60
  - features/responsive-image.feature