mjml-rails 4.10.1 → 4.11.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
- checksums.yaml.gz.sig +0 -0
- data/README.md +8 -0
- data/lib/mjml/parser.rb +15 -7
- data/lib/mjml/version.rb +1 -1
- data/lib/mjml.rb +2 -0
- data/test/parser_test.rb +5 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37fc78307ca3c1e85b631b150aed387a37db392786125cea2336d9696cd9669f
|
4
|
+
data.tar.gz: 98c17ccd57b004df6d0a03bdeae92de3e4de73f2242335f0f85f84ce006918f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 357492e9fd6db87e71e4151f36b55b24407e40c6d91462bd2d471c2bd084d3fdca096f4413b02754f7292522f7f8529b6ea202bdef150c6777d5a35d26960da1
|
7
|
+
data.tar.gz: 1ccac9f8f3270d7eb1746e711583b73feb1ae0a97f2bf092d5826cfc4f6eb2f5d3d61d371ab6f7aa6d98726fb3035c4650c57a25c2ea1bb2418dcc2e30a40462
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.md
CHANGED
@@ -151,6 +151,11 @@ MJML-Rails has the following settings with defaults:
|
|
151
151
|
|
152
152
|
- `use_mrml: false`
|
153
153
|
Enabling this will allow you to use Rust implementation of MJML via the `mrml` gem. It comes with prebuilt binaries instead of having to install MJML along with Node. When enabled the options `mjml_binary_version_supported`, `mjml_binary`, `minify`, `beautify` and `validation_level` are ignored.
|
154
|
+
|
155
|
+
- `fonts`
|
156
|
+
By default, MJML-Rails uses MJML default fonts, but enables you to override it.
|
157
|
+
Example : `config.fonts = { Raleway: 'https://fonts.googleapis.com/css?family=Raleway }`
|
158
|
+
|
154
159
|
|
155
160
|
```ruby
|
156
161
|
# config/initializers/mjml.rb
|
@@ -174,6 +179,9 @@ Mjml.setup do |config|
|
|
174
179
|
# Use custom MJML binary with custom version
|
175
180
|
config.mjml_binary = "/path/to/custom/mjml"
|
176
181
|
config.mjml_binary_version_supported = "3.3.5"
|
182
|
+
|
183
|
+
# Use default system fonts instead of google fonts
|
184
|
+
config.fonts = {}
|
177
185
|
end
|
178
186
|
```
|
179
187
|
|
data/lib/mjml/parser.rb
CHANGED
@@ -23,7 +23,7 @@ module Mjml
|
|
23
23
|
file.write(input)
|
24
24
|
file # return tempfile from block so #unlink works later
|
25
25
|
end
|
26
|
-
run(in_tmp_file.path
|
26
|
+
run(in_tmp_file.path)
|
27
27
|
rescue StandardError
|
28
28
|
raise if Mjml.raise_render_exception
|
29
29
|
|
@@ -35,12 +35,9 @@ module Mjml
|
|
35
35
|
# Exec mjml command
|
36
36
|
#
|
37
37
|
# @return [String] The result as string
|
38
|
-
|
39
|
-
def run(in_tmp_file, beautify = true, minify = false, validation_level = 'strict')
|
38
|
+
def run(in_tmp_file)
|
40
39
|
Tempfile.create(['out', '.html']) do |out_tmp_file|
|
41
|
-
|
42
|
-
"--config.beautify #{beautify} --config.minify #{minify} --config.validationLevel #{validation_level}"
|
43
|
-
_, stderr, status = Mjml.run_mjml(command)
|
40
|
+
_, stderr, status = Mjml.run_mjml(build_command(in_tmp_file, out_tmp_file))
|
44
41
|
|
45
42
|
unless status.success?
|
46
43
|
# The process status ist quite helpful in case of dying processes without STDERR output.
|
@@ -52,6 +49,17 @@ module Mjml
|
|
52
49
|
out_tmp_file.read
|
53
50
|
end
|
54
51
|
end
|
55
|
-
|
52
|
+
|
53
|
+
# Build command string from config variables
|
54
|
+
#
|
55
|
+
# @return [String] Command string
|
56
|
+
def build_command(in_file, out_file)
|
57
|
+
command = "-r #{in_file} -o #{out_file.path} " \
|
58
|
+
"--config.beautify #{Mjml.beautify} " \
|
59
|
+
"--config.minify #{Mjml.minify} " \
|
60
|
+
"--config.validationLevel #{Mjml.validation_level}"
|
61
|
+
command += " --config.fonts '#{Mjml.fonts.to_json}'" unless Mjml.fonts.nil?
|
62
|
+
command
|
63
|
+
end
|
56
64
|
end
|
57
65
|
end
|
data/lib/mjml/version.rb
CHANGED
data/lib/mjml.rb
CHANGED
@@ -12,6 +12,7 @@ module Mjml
|
|
12
12
|
mattr_accessor \
|
13
13
|
:beautify,
|
14
14
|
:minify,
|
15
|
+
:fonts,
|
15
16
|
:mjml_binary,
|
16
17
|
:mjml_binary_error_string,
|
17
18
|
:mjml_binary_version_supported,
|
@@ -31,6 +32,7 @@ module Mjml
|
|
31
32
|
self.minify = false
|
32
33
|
self.validation_level = 'strict'
|
33
34
|
self.use_mrml = false
|
35
|
+
self.fonts = nil
|
34
36
|
|
35
37
|
def self.check_version(bin)
|
36
38
|
stdout, _, status = run_mjml('--version', mjml_bin: bin)
|
data/test/parser_test.rb
CHANGED
@@ -37,11 +37,12 @@ describe Mjml::Parser do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
describe 'can read beautify, minify, and validation_level configs' do
|
40
|
+
describe 'can read beautify, minify, fonts and validation_level configs' do
|
41
41
|
it 'uses defaults if no config is set' do
|
42
42
|
expect(Mjml.beautify).must_equal(true)
|
43
43
|
expect(Mjml.minify).must_equal(false)
|
44
44
|
expect(Mjml.validation_level).must_equal('strict')
|
45
|
+
expect(Mjml.fonts).must_equal(nil)
|
45
46
|
end
|
46
47
|
|
47
48
|
it 'uses setup config' do
|
@@ -49,16 +50,19 @@ describe Mjml::Parser do
|
|
49
50
|
config.beautify = false
|
50
51
|
config.minify = true
|
51
52
|
config.validation_level = 'soft'
|
53
|
+
config.fonts = { Mononoki: 'https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/mononoki.min.css' }
|
52
54
|
end
|
53
55
|
|
54
56
|
expect(Mjml.beautify).must_equal(false)
|
55
57
|
expect(Mjml.minify).must_equal(true)
|
56
58
|
expect(Mjml.validation_level).must_equal('soft')
|
59
|
+
expect(Mjml.fonts).must_equal({ Mononoki: 'https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/mononoki.min.css' })
|
57
60
|
|
58
61
|
Mjml.setup do |config|
|
59
62
|
config.beautify = true
|
60
63
|
config.minify = false
|
61
64
|
config.validation_level = 'strict'
|
65
|
+
config.fonts = nil
|
62
66
|
end
|
63
67
|
end
|
64
68
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mjml-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Loffler
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
RhdbGYd5Hku1QRVeQ+tN2OYG1/vZeRTqZ4MGLdl6r4iO5XGtWWoR2alg8kKc6yLx
|
37
37
|
P5J+9tLKId50fAv4voQg//wRwePPNiWIXsLUa1LPYWTAznKTvi3dAQ==
|
38
38
|
-----END CERTIFICATE-----
|
39
|
-
date: 2024-
|
39
|
+
date: 2024-04-06 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: byebug
|
metadata.gz.sig
CHANGED
Binary file
|