mjml-rb 0.4.1 → 0.4.2
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/lib/mjml-rb/components/accordion.rb +9 -13
- data/lib/mjml-rb/components/attributes.rb +0 -4
- data/lib/mjml-rb/components/base.rb +1 -7
- data/lib/mjml-rb/components/body.rb +0 -4
- data/lib/mjml-rb/components/breakpoint.rb +0 -4
- data/lib/mjml-rb/components/button.rb +2 -6
- data/lib/mjml-rb/components/carousel.rb +0 -4
- data/lib/mjml-rb/components/carousel_image.rb +0 -4
- data/lib/mjml-rb/components/divider.rb +2 -6
- data/lib/mjml-rb/components/group.rb +0 -4
- data/lib/mjml-rb/components/head.rb +0 -4
- data/lib/mjml-rb/components/hero.rb +0 -4
- data/lib/mjml-rb/components/image.rb +2 -6
- data/lib/mjml-rb/components/navbar.rb +0 -4
- data/lib/mjml-rb/components/raw.rb +0 -4
- data/lib/mjml-rb/components/section.rb +0 -4
- data/lib/mjml-rb/components/social.rb +6 -10
- data/lib/mjml-rb/components/spacer.rb +0 -4
- data/lib/mjml-rb/components/table.rb +2 -6
- data/lib/mjml-rb/components/text.rb +2 -6
- data/lib/mjml-rb/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0062fce070623c7a358e1af4811bb928a46d7f0cd4e1320a71e16276ccca1d74
|
|
4
|
+
data.tar.gz: a4e81e450419963570486009b46f44962d93c25b41cdbe4df721346db6e79fc8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 880bfd1a06dfe3fb9e8fe2169fe660554cb4e9ca96ee5d6eff1d2b41f6df748af14b753895d7b58a3106e33335516f6f4caadd2fd01717c597846b6104330fbf
|
|
7
|
+
data.tar.gz: 94f84fa6a66210d9177db704c16efa6fce09d983eb138bc5d13fdbf9bf967ac553b867907cfce9190a2bd7e14a6e6108c4ff74eb776d16221cbf77689f59ea85
|
|
@@ -104,7 +104,7 @@ module MjmlRb
|
|
|
104
104
|
.moz-text-html input.mj-accordion-checkbox + * .mj-accordion-ico { display:none; }
|
|
105
105
|
CSS
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
DEFAULT_ATTRIBUTES = {
|
|
108
108
|
"border" => "2px solid black",
|
|
109
109
|
"font-family" => "Ubuntu, Helvetica, Arial, sans-serif",
|
|
110
110
|
"icon-align" => "middle",
|
|
@@ -118,21 +118,17 @@ module MjmlRb
|
|
|
118
118
|
"padding" => "10px 25px"
|
|
119
119
|
}.freeze
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
TITLE_DEFAULT_ATTRIBUTES = {
|
|
122
122
|
"font-size" => "13px",
|
|
123
123
|
"padding" => "16px"
|
|
124
124
|
}.freeze
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
TEXT_DEFAULT_ATTRIBUTES = {
|
|
127
127
|
"font-size" => "13px",
|
|
128
128
|
"line-height" => "1",
|
|
129
129
|
"padding" => "16px"
|
|
130
130
|
}.freeze
|
|
131
131
|
|
|
132
|
-
def tags
|
|
133
|
-
TAGS
|
|
134
|
-
end
|
|
135
|
-
|
|
136
132
|
def head_style
|
|
137
133
|
HEAD_STYLE
|
|
138
134
|
end
|
|
@@ -146,11 +142,11 @@ module MjmlRb
|
|
|
146
142
|
when "mj-accordion"
|
|
147
143
|
render_accordion(node, context, attrs)
|
|
148
144
|
when "mj-accordion-element"
|
|
149
|
-
render_accordion_element(node, context,
|
|
145
|
+
render_accordion_element(node, context, DEFAULT_ATTRIBUTES.merge(attrs))
|
|
150
146
|
when "mj-accordion-title"
|
|
151
|
-
render_accordion_title(node,
|
|
147
|
+
render_accordion_title(node, DEFAULT_ATTRIBUTES.merge(attrs))
|
|
152
148
|
when "mj-accordion-text"
|
|
153
|
-
render_accordion_text(node,
|
|
149
|
+
render_accordion_text(node, DEFAULT_ATTRIBUTES.merge(attrs))
|
|
154
150
|
else
|
|
155
151
|
render_children(node, context, parent: parent)
|
|
156
152
|
end
|
|
@@ -159,7 +155,7 @@ module MjmlRb
|
|
|
159
155
|
private
|
|
160
156
|
|
|
161
157
|
def render_accordion(node, context, attrs)
|
|
162
|
-
accordion_attrs =
|
|
158
|
+
accordion_attrs = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
163
159
|
outer_style = style_join(
|
|
164
160
|
"padding" => accordion_attrs["padding"],
|
|
165
161
|
"background-color" => accordion_attrs["container-background-color"]
|
|
@@ -225,7 +221,7 @@ module MjmlRb
|
|
|
225
221
|
end
|
|
226
222
|
|
|
227
223
|
def render_accordion_title(node, attrs)
|
|
228
|
-
title_attrs =
|
|
224
|
+
title_attrs = TITLE_DEFAULT_ATTRIBUTES.merge(attrs)
|
|
229
225
|
td_style = style_join(
|
|
230
226
|
"width" => "100%",
|
|
231
227
|
"background-color" => title_attrs["background-color"],
|
|
@@ -262,7 +258,7 @@ module MjmlRb
|
|
|
262
258
|
end
|
|
263
259
|
|
|
264
260
|
def render_accordion_text(node, attrs)
|
|
265
|
-
text_attrs =
|
|
261
|
+
text_attrs = TEXT_DEFAULT_ATTRIBUTES.merge(attrs)
|
|
266
262
|
td_style = style_join(
|
|
267
263
|
"background" => text_attrs["background-color"],
|
|
268
264
|
"font-size" => text_attrs["font-size"],
|
|
@@ -14,13 +14,7 @@ module MjmlRb
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def default_attributes
|
|
17
|
-
|
|
18
|
-
const_get(:DEFAULT_ATTRIBUTES)
|
|
19
|
-
elsif const_defined?(:DEFAULTS)
|
|
20
|
-
const_get(:DEFAULTS)
|
|
21
|
-
else
|
|
22
|
-
{}
|
|
23
|
-
end
|
|
17
|
+
const_defined?(:DEFAULT_ATTRIBUTES) ? const_get(:DEFAULT_ATTRIBUTES) : {}
|
|
24
18
|
end
|
|
25
19
|
end
|
|
26
20
|
|
|
@@ -41,7 +41,7 @@ module MjmlRb
|
|
|
41
41
|
"width" => "unit(px,%)"
|
|
42
42
|
}.freeze
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
DEFAULT_ATTRIBUTES = {
|
|
45
45
|
"align" => "center",
|
|
46
46
|
"background-color" => "#414141",
|
|
47
47
|
"border" => "none",
|
|
@@ -59,12 +59,8 @@ module MjmlRb
|
|
|
59
59
|
"vertical-align" => "middle"
|
|
60
60
|
}.freeze
|
|
61
61
|
|
|
62
|
-
def tags
|
|
63
|
-
TAGS
|
|
64
|
-
end
|
|
65
|
-
|
|
66
62
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
67
|
-
a =
|
|
63
|
+
a = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
68
64
|
|
|
69
65
|
bg_color = a["background-color"]
|
|
70
66
|
inner_padding = a["inner-padding"]
|
|
@@ -19,7 +19,7 @@ module MjmlRb
|
|
|
19
19
|
"align" => "enum(left,center,right)"
|
|
20
20
|
}.freeze
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
DEFAULT_ATTRIBUTES = {
|
|
23
23
|
"align" => "center",
|
|
24
24
|
"border-color" => "#000000",
|
|
25
25
|
"border-style" => "solid",
|
|
@@ -28,12 +28,8 @@ module MjmlRb
|
|
|
28
28
|
"width" => "100%"
|
|
29
29
|
}.freeze
|
|
30
30
|
|
|
31
|
-
def tags
|
|
32
|
-
TAGS
|
|
33
|
-
end
|
|
34
|
-
|
|
35
31
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
36
|
-
a =
|
|
32
|
+
a = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
37
33
|
|
|
38
34
|
outer_td_style = style_join(
|
|
39
35
|
"background" => a["container-background-color"],
|
|
@@ -43,10 +43,6 @@ module MjmlRb
|
|
|
43
43
|
"vertical-align" => "top"
|
|
44
44
|
}.freeze
|
|
45
45
|
|
|
46
|
-
def tags
|
|
47
|
-
TAGS
|
|
48
|
-
end
|
|
49
|
-
|
|
50
46
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
51
47
|
a = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
52
48
|
container_width = normalize_container_width(context[:container_width] || "600px")
|
|
@@ -37,7 +37,7 @@ module MjmlRb
|
|
|
37
37
|
"usemap" => "string"
|
|
38
38
|
}.freeze
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
DEFAULT_ATTRIBUTES = {
|
|
41
41
|
"alt" => "",
|
|
42
42
|
"align" => "center",
|
|
43
43
|
"border" => "0",
|
|
@@ -47,10 +47,6 @@ module MjmlRb
|
|
|
47
47
|
"font-size" => "13px"
|
|
48
48
|
}.freeze
|
|
49
49
|
|
|
50
|
-
def tags
|
|
51
|
-
TAGS
|
|
52
|
-
end
|
|
53
|
-
|
|
54
50
|
def head_style(breakpoint)
|
|
55
51
|
lower_breakpoint = make_lower_breakpoint(breakpoint)
|
|
56
52
|
|
|
@@ -67,7 +63,7 @@ module MjmlRb
|
|
|
67
63
|
end
|
|
68
64
|
|
|
69
65
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
70
|
-
a =
|
|
66
|
+
a = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
71
67
|
|
|
72
68
|
fluid = a["fluid-on-mobile"] == "true"
|
|
73
69
|
full_width = a["full-width"] == "full-width"
|
|
@@ -107,7 +107,7 @@ module MjmlRb
|
|
|
107
107
|
icon-size icon-height icon-padding text-padding line-height text-decoration
|
|
108
108
|
].freeze
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
SOCIAL_DEFAULT_ATTRIBUTES = {
|
|
111
111
|
"align" => "center",
|
|
112
112
|
"border-radius" => "3px",
|
|
113
113
|
"color" => "#333333",
|
|
@@ -120,7 +120,7 @@ module MjmlRb
|
|
|
120
120
|
"text-decoration" => "none"
|
|
121
121
|
}.freeze
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
ELEMENT_DEFAULT_ATTRIBUTES = {
|
|
124
124
|
"alt" => "",
|
|
125
125
|
"align" => "left",
|
|
126
126
|
"icon-position" => "left",
|
|
@@ -136,17 +136,13 @@ module MjmlRb
|
|
|
136
136
|
"vertical-align" => "middle"
|
|
137
137
|
}.freeze
|
|
138
138
|
|
|
139
|
-
def tags
|
|
140
|
-
TAGS
|
|
141
|
-
end
|
|
142
|
-
|
|
143
139
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
144
140
|
case tag_name
|
|
145
141
|
when "mj-social"
|
|
146
142
|
render_social(node, context, attrs)
|
|
147
143
|
when "mj-social-element"
|
|
148
144
|
# Direct dispatch (no parent attrs merging) — fallback for standalone use
|
|
149
|
-
render_social_element(node,
|
|
145
|
+
render_social_element(node, ELEMENT_DEFAULT_ATTRIBUTES.merge(attrs))
|
|
150
146
|
end
|
|
151
147
|
end
|
|
152
148
|
|
|
@@ -155,7 +151,7 @@ module MjmlRb
|
|
|
155
151
|
# ── mj-social ──────────────────────────────────────────────────────────
|
|
156
152
|
|
|
157
153
|
def render_social(node, context, attrs)
|
|
158
|
-
a =
|
|
154
|
+
a = SOCIAL_DEFAULT_ATTRIBUTES.merge(attrs)
|
|
159
155
|
|
|
160
156
|
outer_td_style = style_join(
|
|
161
157
|
"background" => a["container-background-color"],
|
|
@@ -211,7 +207,7 @@ module MjmlRb
|
|
|
211
207
|
children_html = with_inherited_mj_class(context, node) do
|
|
212
208
|
elements.map.with_index do |child, idx|
|
|
213
209
|
child_attrs = resolved_attributes(child, context)
|
|
214
|
-
merged_attrs =
|
|
210
|
+
merged_attrs = ELEMENT_DEFAULT_ATTRIBUTES.merge(inherited).merge(child_attrs)
|
|
215
211
|
el_html = render_social_element(child, merged_attrs)
|
|
216
212
|
|
|
217
213
|
outlook_td_open = idx == 0 ? "<td>" : "</td><td>"
|
|
@@ -229,7 +225,7 @@ module MjmlRb
|
|
|
229
225
|
children_html = with_inherited_mj_class(context, node) do
|
|
230
226
|
elements.map do |child|
|
|
231
227
|
child_attrs = resolved_attributes(child, context)
|
|
232
|
-
merged_attrs =
|
|
228
|
+
merged_attrs = ELEMENT_DEFAULT_ATTRIBUTES.merge(inherited).merge(child_attrs)
|
|
233
229
|
render_social_element(child, merged_attrs)
|
|
234
230
|
end.join
|
|
235
231
|
end
|
|
@@ -27,7 +27,7 @@ module MjmlRb
|
|
|
27
27
|
"width" => "unit(px,%,auto)"
|
|
28
28
|
}.freeze
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
DEFAULT_ATTRIBUTES = {
|
|
31
31
|
"align" => "left",
|
|
32
32
|
"border" => "none",
|
|
33
33
|
"cellpadding" => "0",
|
|
@@ -41,12 +41,8 @@ module MjmlRb
|
|
|
41
41
|
"width" => "100%"
|
|
42
42
|
}.freeze
|
|
43
43
|
|
|
44
|
-
def tags
|
|
45
|
-
TAGS
|
|
46
|
-
end
|
|
47
|
-
|
|
48
44
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
49
|
-
a =
|
|
45
|
+
a = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
50
46
|
|
|
51
47
|
outer_td_style = style_join(
|
|
52
48
|
"background" => a["container-background-color"],
|
|
@@ -27,7 +27,7 @@ module MjmlRb
|
|
|
27
27
|
"vertical-align" => "enum(top,bottom,middle)"
|
|
28
28
|
}.freeze
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
DEFAULT_ATTRIBUTES = {
|
|
31
31
|
"align" => "left",
|
|
32
32
|
"color" => "#000000",
|
|
33
33
|
"font-family" => "Ubuntu, Helvetica, Arial, sans-serif",
|
|
@@ -36,12 +36,8 @@ module MjmlRb
|
|
|
36
36
|
"padding" => "10px 25px"
|
|
37
37
|
}.freeze
|
|
38
38
|
|
|
39
|
-
def tags
|
|
40
|
-
TAGS
|
|
41
|
-
end
|
|
42
|
-
|
|
43
39
|
def render(tag_name:, node:, context:, attrs:, parent:)
|
|
44
|
-
a =
|
|
40
|
+
a = DEFAULT_ATTRIBUTES.merge(attrs)
|
|
45
41
|
height = a["height"]
|
|
46
42
|
|
|
47
43
|
outer_td_style = style_join(
|
data/lib/mjml-rb/version.rb
CHANGED