premailer 1.15.0 → 1.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 +2 -2
- data/lib/premailer/adapter/nokogiri.rb +2 -2
- data/lib/premailer/adapter/nokogiri_fast.rb +2 -2
- data/lib/premailer/adapter/nokogumbo.rb +2 -4
- data/lib/premailer/premailer.rb +5 -2
- data/lib/premailer/version.rb +1 -1
- data/lib/premailer.rb +1 -1
- metadata +8 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: baac2fb34027342c72b3c9473f2afd01c42cc89c163a0062497acb951671649a
|
4
|
+
data.tar.gz: e6bcd9beb173528883ab58ba545ae34abd50aaefeea560907a92992a8832c2be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1a5bab6f6bf4010fab0bdd5fb70dba2960598291a0537d522e80e8a05a98a5f4d79a77971b27fcd699acef379ce62e4ac87dd827720e16b6981d17d44da726c
|
7
|
+
data.tar.gz: '078e582d512367bcaa41458985eeb8cee1232101819d225c8b04bf9e143ed60426920ddbd42ad1e6df962f0699ec37b9bd7c56fa3c2dcf10fe05983c548b1719'
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Premailer README [](https://github.com/premailer/premailer/actions/workflows/actions.yml) [](https://badge.fury.io/rb/premailer)
|
2
2
|
|
3
3
|
## What is this?
|
4
4
|
|
@@ -68,7 +68,7 @@ Premailer::Adapter.use = :nokogiri_fast
|
|
68
68
|
|
69
69
|
## Ruby Compatibility
|
70
70
|
|
71
|
-
See .
|
71
|
+
See .github/workflows/actions.yml for which ruby versions are tested. JRuby support is close, contributors are welcome.
|
72
72
|
|
73
73
|
## Premailer-specific CSS
|
74
74
|
|
@@ -125,13 +125,13 @@ class Premailer
|
|
125
125
|
doc.search("a[@href^='#']").each do |el|
|
126
126
|
target = el.get_attribute('href')[1..-1]
|
127
127
|
targets << target
|
128
|
-
el.set_attribute('href', "#" + Digest::
|
128
|
+
el.set_attribute('href', "#" + Digest::SHA256.hexdigest(target))
|
129
129
|
end
|
130
130
|
# hash ids that are links target, delete others
|
131
131
|
doc.search("*[@id]").each do |el|
|
132
132
|
id = el.get_attribute('id')
|
133
133
|
if targets.include?(id)
|
134
|
-
el.set_attribute('id', Digest::
|
134
|
+
el.set_attribute('id', Digest::SHA256.hexdigest(id))
|
135
135
|
else
|
136
136
|
el.remove_attribute('id')
|
137
137
|
end
|
@@ -129,13 +129,13 @@ class Premailer
|
|
129
129
|
doc.search("a[@href^='#']").each do |el|
|
130
130
|
target = el.get_attribute('href')[1..-1]
|
131
131
|
targets << target
|
132
|
-
el.set_attribute('href', "#" + Digest::
|
132
|
+
el.set_attribute('href', "#" + Digest::SHA256.hexdigest(target))
|
133
133
|
end
|
134
134
|
# hash ids that are links target, delete others
|
135
135
|
doc.search("*[@id]").each do |el|
|
136
136
|
id = el.get_attribute('id')
|
137
137
|
if targets.include?(id)
|
138
|
-
el.set_attribute('id', Digest::
|
138
|
+
el.set_attribute('id', Digest::SHA256.hexdigest(id))
|
139
139
|
else
|
140
140
|
el.remove_attribute('id')
|
141
141
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'nokogumbo'
|
2
|
-
|
3
1
|
class Premailer
|
4
2
|
module Adapter
|
5
3
|
# Nokogiri adapter
|
@@ -125,13 +123,13 @@ class Premailer
|
|
125
123
|
doc.search("a[@href^='#']").each do |el|
|
126
124
|
target = el.get_attribute('href')[1..-1]
|
127
125
|
targets << target
|
128
|
-
el.set_attribute('href', "#" + Digest::
|
126
|
+
el.set_attribute('href', "#" + Digest::SHA256.hexdigest(target))
|
129
127
|
end
|
130
128
|
# hash ids that are links target, delete others
|
131
129
|
doc.search("*[@id]").each do |el|
|
132
130
|
id = el.get_attribute('id')
|
133
131
|
if targets.include?(id)
|
134
|
-
el.set_attribute('id', Digest::
|
132
|
+
el.set_attribute('id', Digest::SHA256.hexdigest(id))
|
135
133
|
else
|
136
134
|
el.remove_attribute('id')
|
137
135
|
end
|
data/lib/premailer/premailer.rb
CHANGED
@@ -168,7 +168,8 @@ class Premailer
|
|
168
168
|
# @option options [Boolean] :preserve_reset Whether to preserve styles associated with the MailChimp reset code. Default is true.
|
169
169
|
# @option options [Boolean] :with_html_string Whether the html param should be treated as a raw string. Default is false.
|
170
170
|
# @option options [Boolean] :verbose Whether to print errors and warnings to <tt>$stderr</tt>. Default is false.
|
171
|
-
# @option options [Boolean] :io_exceptions Throws exceptions on I/O errors.
|
171
|
+
# @option options [Boolean] :io_exceptions Throws exceptions on I/O errors. Default is false.
|
172
|
+
# @option options [Boolean] :rule_set_exceptions Throws exceptions on invalid values in CSS Parser rule sets. Default is true.
|
172
173
|
# @option options [Boolean] :include_link_tags Whether to include css from <tt>link rel=stylesheet</tt> tags. Default is true.
|
173
174
|
# @option options [Boolean] :include_style_tags Whether to include css from <tt>style</tt> tags. Default is true.
|
174
175
|
# @option options [String] :input_encoding Manually specify the source documents encoding. This is a good idea. Default is ASCII-8BIT.
|
@@ -200,6 +201,7 @@ class Premailer
|
|
200
201
|
:verbose => false,
|
201
202
|
:debug => false,
|
202
203
|
:io_exceptions => false,
|
204
|
+
:rule_set_exceptions => true,
|
203
205
|
:include_link_tags => true,
|
204
206
|
:include_style_tags => true,
|
205
207
|
:input_encoding => 'ASCII-8BIT',
|
@@ -233,7 +235,8 @@ class Premailer
|
|
233
235
|
@css_parser = CssParser::Parser.new({
|
234
236
|
:absolute_paths => true,
|
235
237
|
:import => true,
|
236
|
-
:io_exceptions => @options[:io_exceptions]
|
238
|
+
:io_exceptions => @options[:io_exceptions],
|
239
|
+
:rule_set_exceptions => @options[:rule_set_exceptions]
|
237
240
|
})
|
238
241
|
|
239
242
|
@adapter_class = Adapter.find @options[:adapter]
|
data/lib/premailer/version.rb
CHANGED
data/lib/premailer.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: premailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dunae
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: css_parser
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.12.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.12.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: htmlentities
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,14 +92,14 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.
|
95
|
+
version: '1.13'
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 1.
|
102
|
+
version: '1.13'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: redcarpet
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,20 +156,6 @@ dependencies:
|
|
156
156
|
- - ">="
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: nokogumbo
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - ">="
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '0'
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '0'
|
173
159
|
- !ruby/object:Gem::Dependency
|
174
160
|
name: bump
|
175
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -219,14 +205,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
205
|
requirements:
|
220
206
|
- - ">="
|
221
207
|
- !ruby/object:Gem::Version
|
222
|
-
version: 2.
|
208
|
+
version: 2.7.0
|
223
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
210
|
requirements:
|
225
211
|
- - ">="
|
226
212
|
- !ruby/object:Gem::Version
|
227
213
|
version: '0'
|
228
214
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
215
|
+
rubygems_version: 3.1.6
|
230
216
|
signing_key:
|
231
217
|
specification_version: 4
|
232
218
|
summary: Preflight for HTML e-mail.
|