jekyll_picture_tag 1.2.0 → 1.4.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.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_picture_tag
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Wierzbowski
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-02-22 00:00:00.000000000 Z
13
+ date: 2019-06-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -68,6 +68,20 @@ dependencies:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
70
  version: '2'
71
+ - !ruby/object:Gem::Dependency
72
+ name: mime-types
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '3'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '3'
71
85
  - !ruby/object:Gem::Dependency
72
86
  name: mini_magick
73
87
  requirement: !ruby/object:Gem::Requirement
@@ -102,22 +116,21 @@ dependencies:
102
116
  requirements:
103
117
  - - "<"
104
118
  - !ruby/object:Gem::Version
105
- version: '4'
119
+ version: '5'
106
120
  type: :runtime
107
121
  prerelease: false
108
122
  version_requirements: !ruby/object:Gem::Requirement
109
123
  requirements:
110
124
  - - "<"
111
125
  - !ruby/object:Gem::Version
112
- version: '4'
126
+ version: '5'
113
127
  description: |2
114
- Jekyll Picture Tag is a liquid tag that adds responsive images to your Jekyll static site. It follows the picture
115
- element pattern, and polyfills older browsers with Picturefill. Jekyll Picture Tag automatically creates resized
116
- source images, is fully configurable, and covers all use cases — including art direction and resolution switching —
117
- with a little YAML configuration and a simple template tag.
128
+ Jekyll Picture Tag is a liquid tag that adds responsive images to your
129
+ Jekyll static site.Jekyll Picture Tag automatically creates resized source
130
+ images, is fully configurable, and covers all use cases — including art
131
+ direction and resolution switching — with a little YAML configuration and a
132
+ simple template tag.
118
133
  email:
119
- - hello@robwierzbowski.com
120
- - brendan@tobolaski.com
121
134
  - robert@buchberger.cc
122
135
  executables: []
123
136
  extensions: []
@@ -133,7 +146,9 @@ files:
133
146
  - examples/_config.yml
134
147
  - examples/_data/picture.yml
135
148
  - examples/post.md
149
+ - jekyll-picture-tag.gemspec
136
150
  - jekyll_picture_tag.gemspec
151
+ - lib/jekyll-picture-tag.rb
137
152
  - lib/jekyll_picture_tag.rb
138
153
  - lib/jekyll_picture_tag/defaults/global.yml
139
154
  - lib/jekyll_picture_tag/defaults/presets.yml
@@ -152,7 +167,9 @@ files:
152
167
  - lib/jekyll_picture_tag/output_formats/data_picture.rb
153
168
  - lib/jekyll_picture_tag/output_formats/direct_url.rb
154
169
  - lib/jekyll_picture_tag/output_formats/img.rb
170
+ - lib/jekyll_picture_tag/output_formats/naked_srcset.rb
155
171
  - lib/jekyll_picture_tag/output_formats/picture.rb
172
+ - lib/jekyll_picture_tag/output_formats/readme.md
156
173
  - lib/jekyll_picture_tag/source_image.rb
157
174
  - lib/jekyll_picture_tag/srcsets.rb
158
175
  - lib/jekyll_picture_tag/srcsets/basics.rb
@@ -160,9 +177,8 @@ files:
160
177
  - lib/jekyll_picture_tag/srcsets/width.rb
161
178
  - lib/jekyll_picture_tag/utils.rb
162
179
  - lib/jekyll_picture_tag/version.rb
163
- - migration.md
164
180
  - readme.md
165
- homepage: https://github.com/robwierzbowski/jekyll-picture-tag
181
+ homepage: https://github.com/rbuchberger/jekyll-picture-tag
166
182
  licenses:
167
183
  - BSD-3-Clause
168
184
  metadata: {}
@@ -184,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
200
  - !ruby/object:Gem::Version
185
201
  version: '0'
186
202
  requirements: []
187
- rubygems_version: 3.0.2
203
+ rubygems_version: 3.0.3
188
204
  signing_key:
189
205
  specification_version: 4
190
206
  summary: Easy responsive images for Jekyll.
@@ -1,178 +0,0 @@
1
- # Update and Migration guide
2
-
3
- This document details the changes from previous versions (Everything before 1.0), and how to migrate
4
- an existing site to the new version. For now it's a markdown document, once this branch is merged
5
- into master it'll be a wiki page.
6
-
7
- ## Changes from previous versions:
8
-
9
- - The default output formats are bone-stock HTML. Picturefill, as of version 3, no longer requires
10
- special markup, so it remains compatible. Other javascript image solutions are supported with
11
- the `data_` selection of markup formats. Interchange support is removed, though adding it again
12
- is not difficult if there is demand for it.
13
- - There are now 2 basic markup formats to choose from: `<source>` tags within a `<picture>`, and a
14
- single `<img>` tag. If markup is set to 'auto', or if it is not set at all, the plugin will
15
- automatically determine which is most appropriate. These formats also have `data_` counterparts
16
- (i.e. `data_auto`), which accomplish the same thing except setting respective data-attributes
17
- to allow for lazy loading and such.
18
- - There are also 2 srcset formats: one which supplies image width, and another which supplies
19
- multiples (pixel ratios) of the base size.
20
- - Source Keys are replaced by media query presets, which can also be used to create the 'sizes'
21
- attribute.
22
- - Jekyll Picture Tag no longer accepts height arguments, and will no longer crop images for you.
23
- Aspect ratio will always be maintained.
24
- - Multiple image widths are now supported, which will be used to create a corresponding srcset.
25
- - Multiple image formats are now possible, including webp.
26
- - PictureTag can now generate sizes attributes.
27
- - Configuration takes a very different format. It should be simpler to write your config than the
28
- old version, and migrating to it should not be difficult. Instead of creating individual source
29
- keys, you supply an array of widths you'd like to construct. You can also supply an array (yaml
30
- sequence) of formats, including 'original'.
31
- - Only global settings are placed in `_config.yml`. Presets are moved to `_data/picture.yml`.
32
-
33
- ## Migration
34
-
35
- ### Liquid Tags
36
-
37
- Previous tag syntax has been extended, but backwards compatibility (and behaviour of previous
38
- versions) is maintained.
39
-
40
- `{% picture img.jpg (implicit attributes) --(argument) (explicit attributes) %}`
41
-
42
- Implicit attributes are the old way. They are specified after the last source image, and before any
43
- explicit attributes (if they are included). These attributes are applied to the `<img>` tag, as in
44
- previous versions.
45
-
46
- Explicit attributes are the new way, documented in the readme. It is possible to use a mix of both,
47
- though I'm not sure why you would want to.
48
-
49
- There is one instance I can think of where you will have to change your tags:
50
-
51
- - You use art direction with more than one different preset.
52
- - These presets have source keys of the same name.
53
- - These source keys have different associated media queries.
54
-
55
- If all of the above are true, you will either have to pick one media query which works for both, or
56
- rename one of them and change it everywhere it's used.
57
-
58
- Another trouble spot will be CSS; your output markup may change, meaning your CSS selectors may stop
59
- working.
60
-
61
- Outside of those situations, and provided you have created media_presets to match your old source
62
- keys, your existing tags should keep working. If they don't, it's a bug. Please report it.
63
-
64
- ### Configuration
65
-
66
- The new configuration is described in the readme so I won't document it here, but I will show an old
67
- config alongside an equivalent new one.
68
-
69
- Example old configuration:
70
-
71
- ```yml
72
- # _config.yml
73
-
74
- picture:
75
- source: assets/images/_fullsize
76
- output: generated
77
- markup: picture
78
- presets:
79
- # Full width pictures
80
- default:
81
- ppi: [1, 1.5]
82
- attr:
83
- class: blog-full
84
- itemprop: image
85
- source_lrg:
86
- media: "(min-width: 40em)"
87
- width: 700
88
- source_med:
89
- media: "(min-width: 30em)"
90
- width: 450
91
- source_default:
92
- width: 350
93
- height: 200
94
- # Half width pictures
95
- half:
96
- ppi: [1, 1.5]
97
- attr:
98
- data-location: "{{location}}"
99
- data-active: nil
100
- source_lrg:
101
- media: "(min-width: 40em)"
102
- width: 400
103
- source_med:
104
- media: "(min-width: 30em)"
105
- width: 250
106
- source_default:
107
- width: 350
108
- # Self-set resolution sources. Useful if you don't want a 1:1 image size to dppx ratio.
109
- gallery:
110
- source_wide_hi:
111
- media: "(min-width: 40em) and (min-resolution: 1.5dppx)"
112
- width: 900
113
- height: 600
114
- source_wide:
115
- media: "(min-width: 40em)"
116
- width: 600
117
- height: 400
118
- source_default:
119
- width: 250
120
- height: 250
121
- ```
122
-
123
- Equivalent new configuration:
124
-
125
- ```yml
126
- # _config.yml
127
-
128
- picture:
129
- source: assets/images/_fullsize
130
- output: generated
131
- ```
132
-
133
- ```yml
134
- # _data/picture.yml
135
-
136
- # Media presets are named media queries. To maintain compatibility with your tags, you need to
137
- # create presets of the same name as your old source keys. There is no limit to how many of them you
138
- # can have, so you're free to create additional new ones with better names to use going forward.
139
- media_presets:
140
- source_lrg: '(min-width: 40em)'
141
- source_med: '(min-width: 30em)'
142
- source_wide_hi: "(min-width: 40em) and (min-resolution: 1.5dppx)"
143
- source_wide: "(min-width: 40em)"
144
-
145
- markup_presets:
146
- # You can't specify both widths and pixel ratios anymore. Choose one.
147
- # Full width pictures, width-based srcset
148
- default:
149
- markup: picture
150
- widths: [350, 450, 700]
151
- attributes:
152
- picture: 'class="blog-full" itemprop="image"'
153
-
154
- # Full width pictures, multiplier based srcset
155
- default-ppi:
156
- markup: picture
157
- base_width: 350
158
- pixel_ratios: [1, 1.5]
159
- attributes:
160
- picture: 'class="blog-full" itemprop="image"'
161
-
162
- # Half width pictures
163
- half:
164
- widths: [250, 350, 400]
165
- attributes:
166
- picture: 'data-location="{{location}}" data-active="nil"'
167
-
168
- # Note you can't set heights anymore. You'll have to crop your images either ahead of time, or
169
- # do it with CSS.
170
- #
171
- # You have to use arrays for widths, even if only specifying a single value. There's no reason you
172
- # can't add more.
173
- gallery:
174
- widths: [250]
175
- media_widths:
176
- source_wide_hi: [900]
177
- source_wide: [600]
178
- ```