roadie 5.2.0 → 5.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
  SHA256:
3
- metadata.gz: d61e03043b7a3086eeccdb7ca1e804ca3eebb5b6dabcc96d09bd5a7daa06b845
4
- data.tar.gz: d48918c67a5fe53b88e1b2607269fdf353457e8829cc7dba84bdab3f308426d3
3
+ metadata.gz: bf21805d618315993a32ce718e78c756c82627d3139c5ad9823e539d183c244f
4
+ data.tar.gz: 2d440a7a8f27d4ab08b4f5795222b329863816f4c55c593b217488ef0b97b5b0
5
5
  SHA512:
6
- metadata.gz: 7e646c9a1864e7eb00fef92649583203721b551194ae9c5dd8f979200f8fae06f84b0298252dc3f851585f45047a66ae8f10c417dcdda776046cfc5c59267c0a
7
- data.tar.gz: 0f01356119714952a4715ae0db43b96dc964168572943e7a9837cdbadadf493db56440484a6d6564fcccec6cbbc125076bf1cade4e588674ad9802dd7120d5a0
6
+ metadata.gz: 2c411ae8897ebbcf2e57dea6c1dd265c8d4c6e5ed43ca9dc20b085cb3cac084e7e92189ae2f621609a406621e7ebea4676d13d6ef38dde88394bd004a57d836e
7
+ data.tar.gz: cedc2284f27ab48522989550440235af8c39c86ff4d6f437d722b971d4356f36db674a116c3427d71374a7075d358bb478c759f5178125e6ae53e0c38072892a
@@ -11,15 +11,19 @@ on:
11
11
  jobs:
12
12
  base:
13
13
  name: Ruby ${{ matrix.ruby }}
14
- runs-on: ubuntu-20.04
14
+ runs-on: ubuntu-latest
15
15
  strategy:
16
16
  fail-fast: false
17
17
  matrix:
18
- ruby: ["2.7", "3.0", "3.1", "3.2"]
18
+ ruby:
19
+ - "2.7"
20
+ - "3.0"
21
+ - "3.1"
22
+ - "3.2"
19
23
 
20
24
  steps:
21
25
  - name: Checkout code
22
- uses: actions/checkout@v3
26
+ uses: actions/checkout@v4
23
27
 
24
28
  # This setup is not compatible with the way Travis CI was
25
29
  # setup, so the cache will only work for the root folder.
@@ -32,21 +36,21 @@ jobs:
32
36
  - name: Rake
33
37
  run: bundle exec rake
34
38
 
35
- - uses: codecov/codecov-action@v2
36
-
37
- # Does not work. The action runs in Ruby 2.6, which is not compatible with
38
- # the gem and fails to install.
39
- # This is very strange considering that the source of the action uses a
40
- # Dockerfile with Ruby 2.7. However, I don't want to spend time to fix this
41
- # in a passively maintained gem.
42
- #
43
- # lint:
44
- # runs-on: ubuntu-latest
45
- # steps:
46
- # - name: standardrb
47
- # env:
48
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49
- # uses: amoeba/standardrb-action@v2
50
- # permissions:
51
- # checks: write
52
- # contents: read
39
+ - uses: codecov/codecov-action@v3
40
+
41
+ lint:
42
+ runs-on: ubuntu-latest
43
+ steps:
44
+ - name: Checkout code
45
+ uses: actions/checkout@v4
46
+
47
+ # This setup is not compatible with the way Travis CI was
48
+ # setup, so the cache will only work for the root folder.
49
+ - name: Setup Ruby
50
+ uses: ruby/setup-ruby@v1
51
+ with:
52
+ ruby-version: "3.2"
53
+ bundler-cache: true
54
+
55
+ - name: standardrb
56
+ run: bundle exec standardrb
data/Changelog.md CHANGED
@@ -1,27 +1,35 @@
1
1
  ### dev
2
2
 
3
- [full changelog](https://github.com/Mange/roadie/compare/v5.2.0...master)
3
+ [full changelog](https://github.com/Mange/roadie/compare/v5.2.1...master)
4
+
5
+ Nothing yet.
6
+
7
+ ### dev
8
+
9
+ [full changelog](https://github.com/Mange/roadie/compare/v5.2.0...v5.2.1)
10
+
11
+ - Don't strip the [`:root` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:root) - [Asger Behncke Jacobsen](https://github.com/asgerb) (#173)
4
12
 
5
13
  ### 5.2.0
6
14
 
7
15
  [full changelog](https://github.com/Mange/roadie/compare/v5.1.0...v5.2.0)
8
16
 
9
- * Upgrade to Nokogiri `~>` 1.15.
10
- * Drop support for Ruby 2.6.
11
- * Add official support for Ruby 3.2.
17
+ - Upgrade to Nokogiri `~>` 1.15.
18
+ - Drop support for Ruby 2.6.
19
+ - Add official support for Ruby 3.2.
12
20
 
13
21
  ### 5.1.0
14
22
 
15
23
  [full changelog](https://github.com/Mange/roadie/compare/v5.0.1...v5.1.0)
16
24
 
17
- * Support passing serialization options to Nokogiri with `serialization_options=` method -
25
+ - Support passing serialization options to Nokogiri with `serialization_options=` method -
18
26
  [Dmytro Savochkin](https://github.com/dmytro-savochkin). (#171)
19
27
 
20
28
  ### 5.0.1
21
29
 
22
30
  [full changelog](https://github.com/Mange/roadie/compare/v5.0.0...v5.0.1)
23
31
 
24
- * Don't try to inline [the `:host`
32
+ - Don't try to inline [the `:host`
25
33
  pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:host) -
26
34
  [viamin (Bart Agapinan)](https://github.com/viamin). (#170)
27
35
 
@@ -29,28 +37,28 @@
29
37
 
30
38
  [full changelog](https://github.com/Mange/roadie/compare/v4.0.0...v5.0.0)
31
39
 
32
- * Drop support for Ruby 2.4 and Ruby 2.5
33
- * Drop support for JRuby and Rubinius
34
- * Test with Ruby 2.7 - [aried3r (Anton Rieder)](https://github.com/aried3r) (#167)
35
- * Test with Ruby 3.0 and Ruby 3.1
36
- * Add standardrb as code formatter
37
- * Drop support for callbacks that accepts only a single argument.
38
- * Change signature of `Roadie::CssNotFound` and `Roadie::ProvidersFailed`.
40
+ - Drop support for Ruby 2.4 and Ruby 2.5
41
+ - Drop support for JRuby and Rubinius
42
+ - Test with Ruby 2.7 - [aried3r (Anton Rieder)](https://github.com/aried3r) (#167)
43
+ - Test with Ruby 3.0 and Ruby 3.1
44
+ - Add standardrb as code formatter
45
+ - Drop support for callbacks that accepts only a single argument.
46
+ - Change signature of `Roadie::CssNotFound` and `Roadie::ProvidersFailed`.
39
47
 
40
48
  ### 4.0.0
41
49
 
42
50
  [full changelog](https://github.com/Mange/roadie/compare/v3.5.1...v4.0.0)
43
51
 
44
- * Drop support for Ruby 2.1, 2.2, and 2.3 and
52
+ - Drop support for Ruby 2.1, 2.2, and 2.3 and
45
53
  add support for frozen string literals and Ruby 2.6 - [adamkiczula (Adam
46
54
  Kiczula)](https://github.com/adamkiczula) (#164)
47
- * `Roadie::Stylesheet#each_inlinable_block` is now removed.
55
+ - `Roadie::Stylesheet#each_inlinable_block` is now removed.
48
56
 
49
57
  ### 3.5.1
50
58
 
51
59
  [full changelog](https://github.com/Mange/roadie/compare/v3.5.0...v3.5.1)
52
60
 
53
- * Gracefully handle empty string email body, such as those provided by
61
+ - Gracefully handle empty string email body, such as those provided by
54
62
  `ActionMailer::Base::NullMail` objects - [adamkiczula (Adam
55
63
  Kiczula)](https://github.com/adamkiczula) (#163).
56
64
 
@@ -58,14 +66,15 @@
58
66
 
59
67
  [full changelog](https://github.com/Mange/roadie/compare/v3.4.0...v3.5.0)
60
68
 
61
- * Drop support for Nokogiri before 1.8.
69
+ - Drop support for Nokogiri before 1.8.
62
70
 
63
71
  ### 3.4.0
64
72
 
65
73
  [full changelog](https://github.com/Mange/roadie/compare/v3.3.0...v3.4.0)
66
74
 
67
- * Enhancements
68
- * Better support for media queries - [BroiSatse (Stanislaw
75
+ - Enhancements
76
+
77
+ - Better support for media queries - [BroiSatse (Stanislaw
69
78
  Klajn)](https://github.com/BroiSatse) and [jeznag (Jeremy
70
79
  Nagel)](https://github.com/jeznag) (#157).
71
80
 
@@ -75,7 +84,7 @@
75
84
  might change specificity), but this behavior can be disabled by setting
76
85
  `merge_media_queries` to `false`.
77
86
 
78
- * Remove Guard as a development dependency. Tests run fast anyway, and I
87
+ - Remove Guard as a development dependency. Tests run fast anyway, and I
79
88
  never liked that this tool "infected" the dependencies of the project when
80
89
  it should remain a user-specific tool unless the project wants to enforce
81
90
  it.
@@ -84,138 +93,140 @@
84
93
 
85
94
  [full changelog](https://github.com/Mange/roadie/compare/v3.2.2...v3.3.0)
86
95
 
87
- * Enhancements
88
- * Allow transforming to XHTML instead of HTML - [Zhivko Draganov](https://github.com/zdraganov) (#144).
89
- * Support partial HTML documents (fragments) - #147
90
- * With the help of [andfx](https://github.com/andfx) - #115
91
- * With the help of [Frida Sjoholm](https://github.com/FridaSjoholm) - #146
92
- * Skip URL rewriting on elements with `data-roadie-ignore` - #154.
93
- * With the help of [Hamed Asghari](https://github.com/hasghari) - #138.
94
- * Bug fixes:
95
- * Apply correct string encoding / charset in `NetHttpProvider` - [Jeremy Nagel](https://github.com/jeznag) (#152).
96
+ - Enhancements
97
+ - Allow transforming to XHTML instead of HTML - [Zhivko Draganov](https://github.com/zdraganov) (#144).
98
+ - Support partial HTML documents (fragments) - #147
99
+ - With the help of [andfx](https://github.com/andfx) - #115
100
+ - With the help of [Frida Sjoholm](https://github.com/FridaSjoholm) - #146
101
+ - Skip URL rewriting on elements with `data-roadie-ignore` - #154.
102
+ - With the help of [Hamed Asghari](https://github.com/hasghari) - #138.
103
+ - Bug fixes:
104
+ - Apply correct string encoding / charset in `NetHttpProvider` - [Jeremy Nagel](https://github.com/jeznag) (#152).
96
105
 
97
106
  ### 3.2.2
98
107
 
99
108
  [full changelog](https://github.com/Mange/roadie/compare/v3.2.1...v3.2.2)
100
109
 
101
- * Enhancements
102
- * Support Nokogiri 1.x.
103
- * Support `css_parser` 1.x.
104
- * Make tests pass on Ruby 2.4.0 (upgrade Webmock).
110
+ - Enhancements
111
+ - Support Nokogiri 1.x.
112
+ - Support `css_parser` 1.x.
113
+ - Make tests pass on Ruby 2.4.0 (upgrade Webmock).
105
114
 
106
115
  ### 3.2.1
107
116
 
108
117
  [full changelog](https://github.com/Mange/roadie/compare/v3.2.0...v3.2.1)
109
118
 
110
- * Enhancements
111
- * Support Nokogiri 1.7.x.
119
+ - Enhancements
120
+ - Support Nokogiri 1.7.x.
112
121
 
113
122
  ### 3.2.0
114
123
 
115
124
  [full changelog](https://github.com/Mange/roadie/compare/v3.1.1...v3.2.0)
116
125
 
117
- * Deprecations:
118
- * Dropped support for MRI 1.9.3.
119
- * Dropped support for MRI 2.0.
120
- * Upgrades:
121
- * Use `css_parser` 1.4.x instead of 1.3.x.
122
- * Bug fixes:
123
- * Strip UTF-8 BOM (Byte Order Mark) from stylesheets before parsing / concatenating - [Bartłomiej Wójtowicz](https://github.com/qbart) (#128)
124
- * Enhancements:
125
- * Build against Ruby MRI 2.3.0 too.
126
- * Don't add extra whitespace between table cells.
126
+ - Deprecations:
127
+ - Dropped support for MRI 1.9.3.
128
+ - Dropped support for MRI 2.0.
129
+ - Upgrades:
130
+ - Use `css_parser` 1.4.x instead of 1.3.x.
131
+ - Bug fixes:
132
+ - Strip UTF-8 BOM (Byte Order Mark) from stylesheets before parsing / concatenating - [Bartłomiej Wójtowicz](https://github.com/qbart) (#128)
133
+ - Enhancements:
134
+ - Build against Ruby MRI 2.3.0 too.
135
+ - Don't add extra whitespace between table cells.
127
136
 
128
137
  ### 3.1.1
129
138
 
130
139
  [full changelog](https://github.com/Mange/roadie/compare/v3.1.0...v3.1.1)
131
140
 
132
- * Enhancements:
133
- * Duplicate style properties are now removed when inlining.
134
- * This means that `color: green; color: red; color: green` will now be `color: red; color: green`.
135
- * The size of your emails should be the same, or smaller.
141
+ - Enhancements:
142
+ - Duplicate style properties are now removed when inlining.
143
+ - This means that `color: green; color: red; color: green` will now be `color: red; color: green`.
144
+ - The size of your emails should be the same, or smaller.
136
145
 
137
146
  ### 3.1.0
138
147
 
139
148
  [full changelog](https://github.com/Mange/roadie/compare/v3.1.0.rc1...v3.1.0)
140
149
 
141
- * Enchancements:
142
- * `NetHttpProvider` validates the whitelist hostnames; passing an invalid hostname will raise `ArgumentError`.
143
- * `NetHttpProvider` supports scheme-less URLs (`//foo.com/`), defaulting to `https`.
150
+ - Enchancements:
151
+ - `NetHttpProvider` validates the whitelist hostnames; passing an invalid hostname will raise `ArgumentError`.
152
+ - `NetHttpProvider` supports scheme-less URLs (`//foo.com/`), defaulting to `https`.
144
153
 
145
154
  ### 3.1.0.rc1
146
155
 
147
156
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.5...v3.1.0.rc1)
148
157
 
149
- * Enhancements:
150
- * Allow user to specify asset providers for referenced assets with full URLs and inline them (#107)
151
- * Pass `Document` instance to transformation callbacks (#86)
152
- * Made `nokogiri` dependency more forgiving.
153
- * Supports `1.5.0`...`1.7.0` now instead of `1.6.0`...`1.7.0`. Some people out there are stuck on this older version of Nokogiri, and I don't want to leave them out.
154
- * Output better errors when no assets can be found.
155
- * The error will now show which providers were tried and in which order, along with the error message from the specific providers.
156
- * `Roadie::FilesystemProvider` shows the given path when inspected.
157
- * `data-roadie-ignore` attributes will now be removed from markup; hiding "development markers" in the final email.
158
- * Add a `Roadie::CachedProvider` asset provider that wraps other providers and cache them.
159
- * Add a `Roadie::PathRewriterProvider` asset provider that rewrites asset names for other providers.
160
- * This saves you from having to create custom providers if you require small tweaks to the lookup in order to use an official provider.
161
- * **Deprecations:**
162
- * `Roadie::Stylesheet#each_inlinable_block` is now deprecated. You can iterate and filter the `blocks` at your own discresion.
158
+ - Enhancements:
159
+ - Allow user to specify asset providers for referenced assets with full URLs and inline them (#107)
160
+ - Pass `Document` instance to transformation callbacks (#86)
161
+ - Made `nokogiri` dependency more forgiving.
162
+ - Supports `1.5.0`...`1.7.0` now instead of `1.6.0`...`1.7.0`. Some people out there are stuck on this older version of Nokogiri, and I don't want to leave them out.
163
+ - Output better errors when no assets can be found.
164
+ - The error will now show which providers were tried and in which order, along with the error message from the specific providers.
165
+ - `Roadie::FilesystemProvider` shows the given path when inspected.
166
+ - `data-roadie-ignore` attributes will now be removed from markup; hiding "development markers" in the final email.
167
+ - Add a `Roadie::CachedProvider` asset provider that wraps other providers and cache them.
168
+ - Add a `Roadie::PathRewriterProvider` asset provider that rewrites asset names for other providers.
169
+ - This saves you from having to create custom providers if you require small tweaks to the lookup in order to use an official provider.
170
+ - **Deprecations:**
171
+ - `Roadie::Stylesheet#each_inlinable_block` is now deprecated. You can iterate and filter the `blocks` at your own discresion.
163
172
 
164
173
  ### 3.0.5
165
174
 
166
175
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.4...v3.0.5)
167
176
 
168
- * Bug fixes:
169
- * Don't try to inline external stylesheets. (#106)
170
- * Don't generate absolute URLs for anchor links. (Mange/roadie-rails#40)
177
+ - Bug fixes:
178
+ - Don't try to inline external stylesheets. (#106)
179
+ - Don't generate absolute URLs for anchor links. (Mange/roadie-rails#40)
171
180
 
172
181
  ### 3.0.4
173
182
 
174
183
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.3...v3.0.4)
175
184
 
176
- * Bug fixes:
177
- * Schemeless URLs was accepted as-is, which isn't supported in a lot of email clients. (#104)
185
+ - Bug fixes:
186
+ - Schemeless URLs was accepted as-is, which isn't supported in a lot of email clients. (#104)
178
187
 
179
188
  ### 3.0.3
180
189
 
181
190
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.2...v3.0.3)
182
191
 
183
- * Bug fixes:
184
- * CSS was mutated when parsed, breaking caches and memoized sources - [Brendan Mulholland (bmulholland)](https://github.com/bmulholland) (Mange/roadie-rails#32)
192
+ - Bug fixes:
193
+ - CSS was mutated when parsed, breaking caches and memoized sources - [Brendan Mulholland (bmulholland)](https://github.com/bmulholland) (Mange/roadie-rails#32)
185
194
 
186
195
  ### 3.0.2
187
196
 
188
197
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.1...v3.0.2)
189
198
 
190
- * Bug fixes:
191
- * Some `data:` URLs could cause exceptions. (#97)
192
- * Correctly parse properties with semicolons in their values - [Aidan Feldman (afeld)](https://github.com/afeld) (#100)
199
+ - Bug fixes:
200
+ - Some `data:` URLs could cause exceptions. (#97)
201
+ - Correctly parse properties with semicolons in their values - [Aidan Feldman (afeld)](https://github.com/afeld) (#100)
193
202
 
194
203
  ### 3.0.1
195
204
 
196
205
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.0...v3.0.1)
197
206
 
198
- * Enhancements:
199
- * `CssNotFound` can take a provider which will be shown in error messages.
200
- * Bug fixes:
201
- * URL rewriter no longer raises on absolute URLs that cannot be parsed by `URI`. Absolute URLs are completely ignored.
202
- * URL rewriter supports urls without a scheme (like `//assets.myapp.com/foo`).
203
- * URL rewriter no longer crashes on absolute URLs without a path (like `myapp://`).
207
+ - Enhancements:
208
+ - `CssNotFound` can take a provider which will be shown in error messages.
209
+ - Bug fixes:
210
+ - URL rewriter no longer raises on absolute URLs that cannot be parsed by `URI`. Absolute URLs are completely ignored.
211
+ - URL rewriter supports urls without a scheme (like `//assets.myapp.com/foo`).
212
+ - URL rewriter no longer crashes on absolute URLs without a path (like `myapp://`).
204
213
 
205
214
  ### 3.0.0
206
215
 
207
216
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.0.pre1...v3.0.0)
208
217
 
209
- * Enhancements:
210
- * `Roadie::ProviderList` responds to `#empty?` and `#last`
211
- * `Roadie::FilesystemProvider` ignores query string in filename.
218
+ - Enhancements:
219
+
220
+ - `Roadie::ProviderList` responds to `#empty?` and `#last`
221
+ - `Roadie::FilesystemProvider` ignores query string in filename.
222
+
223
+ Older versions of Rails generated `<link>` tags with query strings in their URLs, like such:
224
+ `/stylesheets/email.css?1380694096`
212
225
 
213
- Older versions of Rails generated `<link>` tags with query strings in their URLs, like such:
214
- `/stylesheets/email.css?1380694096`
215
- * Blacklist `:enabled`, `:disabled` and `:checked` pseudo functions - [Tyler Hunt (tylerhunt)](https://github.com/tylerhunt).
216
- * Add MRI 2.1.2 to Travis build matrix - [Grey Baker (greysteil)](https://github.com/greysteil).
217
- * Try to detect an upgrade from Roadie 2 and mention how to make it work with the new version.
218
- * Styles emitted in the `style` attribute should now be ordered as they were in the source CSS.
226
+ - Blacklist `:enabled`, `:disabled` and `:checked` pseudo functions - [Tyler Hunt (tylerhunt)](https://github.com/tylerhunt).
227
+ - Add MRI 2.1.2 to Travis build matrix - [Grey Baker (greysteil)](https://github.com/greysteil).
228
+ - Try to detect an upgrade from Roadie 2 and mention how to make it work with the new version.
229
+ - Styles emitted in the `style` attribute should now be ordered as they were in the source CSS.
219
230
 
220
231
  ### 3.0.0.pre1
221
232
 
@@ -223,188 +234,188 @@
223
234
 
224
235
  Complete rewrite of most of the code and a new direction for the gem.
225
236
 
226
- * Breaking changes:
227
- * Removed Rails support into a separate Gem (`roadie-rails`).
228
- * Removed Sprockets dependency and AssetPipelineProvider.
229
- * Changed the entire public API.
230
- * Changed the API of custom providers.
231
- * Dropped support for Ruby 1.8.7.
232
- * Change `data-immutable` to `data-roadie-ignore`.
233
- * New features:
234
- * Rewriting the URLs of `img[src]`.
235
- * A way to inject stylesheets without having to adjust template.
236
- * A before callback to compliment the after callback.
237
- * Enhancements:
238
- * Better support for stylesheets using CSS fallbacks.
237
+ - Breaking changes:
238
+ - Removed Rails support into a separate Gem (`roadie-rails`).
239
+ - Removed Sprockets dependency and AssetPipelineProvider.
240
+ - Changed the entire public API.
241
+ - Changed the API of custom providers.
242
+ - Dropped support for Ruby 1.8.7.
243
+ - Change `data-immutable` to `data-roadie-ignore`.
244
+ - New features:
245
+ - Rewriting the URLs of `img[src]`.
246
+ - A way to inject stylesheets without having to adjust template.
247
+ - A before callback to compliment the after callback.
248
+ - Enhancements:
249
+ - Better support for stylesheets using CSS fallbacks.
239
250
  This means that styles like this is now inlined: `width: 5em; width: 3rem;`, while Roadie would previously remove the first of the two.
240
251
  This sadly means that the HTML file will be much larger than before if you're using a non-optimized stylesheet (for example including your application stylesheet to the email). This was a bad idea even before this change, and this might get you to change.
241
- * Using HTML5 doctype instead of XHTML
242
- * Full support for JRuby
243
- * Experimental support for Rubinius
252
+ - Using HTML5 doctype instead of XHTML
253
+ - Full support for JRuby
254
+ - Experimental support for Rubinius
244
255
 
245
256
  ### 2.4.2
246
257
 
247
258
  [full changelog](https://github.com/Mange/roadie/compare/v2.4.1...v2.4.2)
248
259
 
249
- * Bug fixes:
250
- * Fix Nokogiri version to allow only 1.5.x on ruby 1.8.7
251
- * Blacklist :before, :after, :-ms-input-placeholder, :-moz-placeholder selectors – [Brian Bauer (bbauer)][https://github.com/bbauer].
252
- * Build failed on 1.8.7 due to a change in `css_parser`
260
+ - Bug fixes:
261
+ - Fix Nokogiri version to allow only 1.5.x on ruby 1.8.7
262
+ - Blacklist :before, :after, :-ms-input-placeholder, :-moz-placeholder selectors – [Brian Bauer (bbauer)][https://github.com/bbauer].
263
+ - Build failed on 1.8.7 due to a change in `css_parser`
253
264
 
254
265
  ### 2.4.1
255
266
 
256
267
  [full changelog](https://github.com/Mange/roadie/compare/v2.4.0...v2.4.1)
257
268
 
258
- * Bug fixes:
259
- * Allow Nokogiri 1.5.x again; 1.6.x is unsupported in Ruby 1.8.7.
269
+ - Bug fixes:
270
+ - Allow Nokogiri 1.5.x again; 1.6.x is unsupported in Ruby 1.8.7.
260
271
 
261
272
  ### 2.4.0
262
273
 
263
274
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.4...v2.4.0)
264
275
 
265
- * Enhancements:
266
- * Support Rails 4.0, with the help of:
267
- * [Ryunosuke SATO (tricknotes)](https://github.com/tricknotes)
268
- * [Dylan Markow](https://github.com/dmarkow)
269
- * Keep `!important` when outputting styles to help combat web mail styles being `!important`
270
- * Support `:nth-child`, `:last-child`, etc.
271
- * To make this work, Roadie have to catch errors from Nokogiri and ignore them. A warning will be printed when this happens so users can open issues with the project and tests can be expanded.
272
- * Support for custom inliner (#58) — [Harish Shetty (kandadaboggu)](https://github.com/kandadaboggu) with friends
273
- * Bug fixes:
274
- * Don't crash when URL options have protocols with "://" in them (#52).
275
- * Other:
276
- * Be more specific on which versions are required; require newer `css_parser`
277
- * Officially support MRI 2.0.0
278
- * Add experimental support for JRuby
279
- * Remove documentation that talks about passing CSS filenames as symbols; unsupported in Rails 4. (Thanks to [PikachuEXE](https://github.com/PikachuEXE))
276
+ - Enhancements:
277
+ - Support Rails 4.0, with the help of:
278
+ - [Ryunosuke SATO (tricknotes)](https://github.com/tricknotes)
279
+ - [Dylan Markow](https://github.com/dmarkow)
280
+ - Keep `!important` when outputting styles to help combat web mail styles being `!important`
281
+ - Support `:nth-child`, `:last-child`, etc.
282
+ - To make this work, Roadie have to catch errors from Nokogiri and ignore them. A warning will be printed when this happens so users can open issues with the project and tests can be expanded.
283
+ - Support for custom inliner (#58) — [Harish Shetty (kandadaboggu)](https://github.com/kandadaboggu) with friends
284
+ - Bug fixes:
285
+ - Don't crash when URL options have protocols with "://" in them (#52).
286
+ - Other:
287
+ - Be more specific on which versions are required; require newer `css_parser`
288
+ - Officially support MRI 2.0.0
289
+ - Add experimental support for JRuby
290
+ - Remove documentation that talks about passing CSS filenames as symbols; unsupported in Rails 4. (Thanks to [PikachuEXE](https://github.com/PikachuEXE))
280
291
 
281
292
  ### 2.3.4
282
293
 
283
294
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.3...v2.3.4)
284
295
 
285
- * Enhancements:
286
- * Add `config.roadie.enabled` that can be set to `false` to disable Roadie completely.
287
- * Bug fixes:
288
- * Proc objects to the `:css` option is now run in the context of the mailer instance, mirroring similar options from ActionMailer.
289
- * Fix some tests that would always pass
290
- * Improve JRuby compatibility
291
- * Update Gemfile.lock and fix issues with newer gem versions
296
+ - Enhancements:
297
+ - Add `config.roadie.enabled` that can be set to `false` to disable Roadie completely.
298
+ - Bug fixes:
299
+ - Proc objects to the `:css` option is now run in the context of the mailer instance, mirroring similar options from ActionMailer.
300
+ - Fix some tests that would always pass
301
+ - Improve JRuby compatibility
302
+ - Update Gemfile.lock and fix issues with newer gem versions
292
303
 
293
304
  ### 2.3.3
294
305
 
295
306
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.2...v2.3.3)
296
307
 
297
- * Enhancements:
298
- * Allow proc objects to the `:css` option
299
- * Bug fixes:
300
- * Ignore HTML comments and CDATA sections in CSS (support TinyMCE)
308
+ - Enhancements:
309
+ - Allow proc objects to the `:css` option
310
+ - Bug fixes:
311
+ - Ignore HTML comments and CDATA sections in CSS (support TinyMCE)
301
312
 
302
313
  ### 2.3.2
303
314
 
304
315
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.1...v2.3.2)
305
316
 
306
- * Bug fixes:
307
- * Don't fail on selectors which start with @ (#28) — [Roman Shterenzon (romanbsd)](https://github.com/romanbsd)
317
+ - Bug fixes:
318
+ - Don't fail on selectors which start with @ (#28) — [Roman Shterenzon (romanbsd)](https://github.com/romanbsd)
308
319
 
309
320
  ### 2.3.1
310
321
 
311
322
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.0...v2.3.1)
312
323
 
313
- * Bug fixes:
314
- * Does not work with Rails 3.0 unless provider set specifically (#23)
324
+ - Bug fixes:
325
+ - Does not work with Rails 3.0 unless provider set specifically (#23)
315
326
 
316
327
  ### 2.3.0
317
328
 
318
329
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.0.pre1...v2.3.0)
319
330
 
320
- * Nothing, really
331
+ - Nothing, really
321
332
 
322
333
  ### 2.3.0.pre1
323
334
 
324
335
  [full changelog](https://github.com/Mange/roadie/compare/v2.2.0...v2.3.0.pre1)
325
336
 
326
- * Enhancements:
327
- * Support Rails 3.2.pre1 - [Morton Jonuschat (yabawock)](https://github.com/yabawock)
328
- * Sped up the Travis builds
329
- * Official support for Rails 3.0 again
330
- * Dependencies allow 3.0
331
- * Travis builds 3.0 among the others
337
+ - Enhancements:
338
+ - Support Rails 3.2.pre1 - [Morton Jonuschat (yabawock)](https://github.com/yabawock)
339
+ - Sped up the Travis builds
340
+ - Official support for Rails 3.0 again
341
+ - Dependencies allow 3.0
342
+ - Travis builds 3.0 among the others
332
343
 
333
344
  ### 2.2.0
334
345
 
335
346
  [full changelog](https://github.com/Mange/roadie/compare/v2.1.0...v2.2.0)
336
347
 
337
- * Enhancements:
338
- * Support for the `url_options` method inside mailer instances
339
- * You can now dynamically alter the URL options on a per-email basis
348
+ - Enhancements:
349
+ - Support for the `url_options` method inside mailer instances
350
+ - You can now dynamically alter the URL options on a per-email basis
340
351
 
341
352
  ### 2.1.0
342
353
 
343
354
  [full changelog](https://github.com/Mange/roadie/compare/v2.1.0.pre2...v2.1.0)
344
355
 
345
- * Full release!
356
+ - Full release!
346
357
 
347
358
  ### 2.1.0.pre2
348
359
 
349
360
  [full changelog](https://github.com/Mange/roadie/compare/v2.1.0.pre1...v2.1.0.pre2)
350
361
 
351
- * Bug: Roadie broke `url_for` inside mailer views
362
+ - Bug: Roadie broke `url_for` inside mailer views
352
363
 
353
364
  ### 2.1.0.pre1
354
365
 
355
366
  [full changelog](https://github.com/Mange/roadie/compare/v2.0.0...v2.1.0.pre1)
356
367
 
357
- * Enhancements:
358
- * Support normal filesystem instead of only Asset pipeline
359
- * Enable users to create their own way of fetching CSS
360
- * Improve test coverage a bit
361
- * Use a railtie to hook into Rails
362
- * Use real Rails for testing integration
368
+ - Enhancements:
369
+ - Support normal filesystem instead of only Asset pipeline
370
+ - Enable users to create their own way of fetching CSS
371
+ - Improve test coverage a bit
372
+ - Use a railtie to hook into Rails
373
+ - Use real Rails for testing integration
363
374
 
364
375
  ### 2.0.0
365
376
 
366
377
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.3...v2.0.0)
367
378
 
368
- * Enhancements:
369
- * Support the Asset pipeline - [Arttu Tervo (arttu)](https://github.com/arttu)
370
- * Dependencies:
371
- * Requires Rails 3.1 to work. You can keep on using the 1.x series in Rails 3.0
379
+ - Enhancements:
380
+ - Support the Asset pipeline - [Arttu Tervo (arttu)](https://github.com/arttu)
381
+ - Dependencies:
382
+ - Requires Rails 3.1 to work. You can keep on using the 1.x series in Rails 3.0
372
383
 
373
384
  ### 1.1.3
374
385
 
375
386
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.2...v1.1.3)
376
387
 
377
- * Do not add another ".css" to filenames if already present - [Aliaxandr (saks)](https://github.com/saks)
388
+ - Do not add another ".css" to filenames if already present - [Aliaxandr (saks)](https://github.com/saks)
378
389
 
379
390
  ### 1.1.2
380
391
 
381
392
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.1...v1.1.2)
382
393
 
383
- * Support for Rails 3.1.0 and later inside gemspec
394
+ - Support for Rails 3.1.0 and later inside gemspec
384
395
 
385
396
  ### 1.1.1
386
397
 
387
398
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.0...v1.1.1)
388
399
 
389
- * Support for Rails 3.1.x (up to and including RC4)
390
- * Rails 3.0.x is still supported
391
- * Added CI via [Travis CI](http://travis-ci.org)
400
+ - Support for Rails 3.1.x (up to and including RC4)
401
+ - Rails 3.0.x is still supported
402
+ - Added CI via [Travis CI](http://travis-ci.org)
392
403
 
393
404
  ### 1.1.0
394
405
 
395
406
  [full changelog](https://github.com/Mange/roadie/compare/v1.0.1...v1.1.0)
396
407
 
397
- * Enhancements:
398
- * Support for inlining `<link>` elements (thanks to [aliix](https://github.com/aliix))
408
+ - Enhancements:
409
+ - Support for inlining `<link>` elements (thanks to [aliix](https://github.com/aliix))
399
410
 
400
411
  ### 1.0.1
401
412
 
402
413
  [full changelog](https://github.com/Mange/roadie/compare/v1.0.0...v1.0.1)
403
414
 
404
- * Enhancements:
405
- * Full, official support for Ruby 1.9.2 (in addition to 1.8.7)
406
- * Dependencies:
407
- * Explicilty depend on nokogiri >= 1.4.4
415
+ - Enhancements:
416
+ - Full, official support for Ruby 1.9.2 (in addition to 1.8.7)
417
+ - Dependencies:
418
+ - Explicilty depend on nokogiri >= 1.4.4
408
419
 
409
420
  ### 1.0.0
410
421
 
@@ -412,11 +423,11 @@ Complete rewrite of most of the code and a new direction for the gem.
412
423
 
413
424
  Roadie fork!
414
425
 
415
- * Enhancements:
416
- * Support for Rails 3.0
417
- * Code cleanup
418
- * Support `!important`
419
- * Tests
420
- * + some other enhancements
421
- * Deprecations:
422
- * Removed support for Rails 2.x
426
+ - Enhancements:
427
+ - Support for Rails 3.0
428
+ - Code cleanup
429
+ - Support `!important`
430
+ - Tests
431
+ - - some other enhancements
432
+ - Deprecations:
433
+ - Removed support for Rails 2.x
data/lib/roadie/errors.rb CHANGED
@@ -23,7 +23,9 @@ module Roadie
23
23
  else
24
24
  ""
25
25
  end
26
- super "Cannot use path \"#{given_path}\" in URL generation.#{cause_message}"
26
+ super(
27
+ "Cannot use path \"#{given_path}\" in URL generation.#{cause_message}"
28
+ )
27
29
  end
28
30
  end
29
31
 
@@ -47,7 +49,7 @@ module Roadie
47
49
  @css_name = css_name
48
50
  @provider = provider
49
51
  @extra_message = message
50
- super build_message
52
+ super(build_message)
51
53
  end
52
54
 
53
55
  protected
@@ -71,6 +71,7 @@ module Roadie
71
71
  :before :after
72
72
  :enabled :disabled :checked
73
73
  :host
74
+ :root
74
75
  ].freeze
75
76
 
76
77
  def pseudo_element?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Roadie
4
- VERSION = "5.2.0"
4
+ VERSION = "5.2.1"
5
5
  end
data/roadie.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency "rspec", "~> 3.0"
25
25
  s.add_development_dependency "rspec-collection_matchers", "~> 1.0"
26
26
  s.add_development_dependency "webmock", "~> 3.0"
27
+ s.add_development_dependency "standardrb"
27
28
 
28
29
  s.extra_rdoc_files = %w[README.md Changelog.md]
29
30
  s.require_paths = %w[lib]
@@ -67,6 +67,29 @@ describe "Roadie functionality" do
67
67
  expect(styles).to include Roadie::Stylesheet.new("", css).to_s
68
68
  end
69
69
 
70
+ it "does not strip :root pseudo-class" do
71
+ document = Roadie::Document.new <<-HTML
72
+ <html>
73
+ <head>
74
+ <title>Hello world!</title>
75
+ </head>
76
+ <body>
77
+ <h1>Hello world!</h1>
78
+ </body>
79
+ </html>
80
+ HTML
81
+ css = <<-CSS
82
+ :root { --color: red; }
83
+ CSS
84
+ document.add_css css
85
+
86
+ result = parse_html document.transform
87
+ expect(result).to have_selector("html > head > style")
88
+
89
+ styles = result.at_css("html > head > style").text
90
+ expect(styles).to include Roadie::Stylesheet.new("", css).to_s
91
+ end
92
+
70
93
  it "can be configured to skip styles that cannot be inlined" do
71
94
  document = Roadie::Document.new <<-HTML
72
95
  <html>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadie
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Magnus Bergmark
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: standardrb
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Roadie tries to make sending HTML emails a little less painful by inlining
98
112
  stylesheets and rewriting relative URLs for you.
99
113
  email:
@@ -197,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
211
  - !ruby/object:Gem::Version
198
212
  version: '0'
199
213
  requirements: []
200
- rubygems_version: 3.4.17
214
+ rubygems_version: 3.5.5
201
215
  signing_key:
202
216
  specification_version: 4
203
217
  summary: Making HTML emails comfortable for the Ruby rockstars