mjml-rb 0.2.21 → 0.2.22

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4abe3f3fbe1a4c05983bb09cb4be09e4043782a7ebfa47559237c046f96b8a4d
4
- data.tar.gz: 14b40fb3904aa74c29bf48f5e1d2dcaed5eb304691ed4637ac37f8f53fe6ba8f
3
+ metadata.gz: fb97af0d72ddb5898c28c33ccc0efafc27532f3709062f563f8d3d39fdcc642b
4
+ data.tar.gz: 2bb9d55e089309e74ab77766360b3c2a094c633a73ba8fb1fa4599780813dab4
5
5
  SHA512:
6
- metadata.gz: 35d3346d23f26f0436ee068a97889540a7090f8cc488a4c3051e8d97e7f28650bd465f8782c0dc57c4a0bf38668262249112f968f6dfb8611666a8eb926ad485
7
- data.tar.gz: ca1188c564dc67a00218cd36c080f9550977a3a5a807c938bbbfa257940a85e1f9591834eea81b7c85b2eba8ad8f88c4ece92ab94db25c63ed6e981806d2357c
6
+ metadata.gz: a0fbd53af9fc541a29f0d70e123efb0d390f9023a1388f8d1f6ef23ff1ad3aa6a16a0a410975744f03d934538cb99766620ebca44ba561272ce845057dc86277
7
+ data.tar.gz: 40f1fdcf06405a730a37b7d095fa6d92270e09cfd21c8fce71a2bcd8c79da52ef1f72175bfc9766395d011bec3582731b4a66135bd5f0ac8978d6c117c96e82f
@@ -24,6 +24,8 @@ require_relative "components/spacer"
24
24
 
25
25
  module MjmlRb
26
26
  class Renderer
27
+ HTML_VOID_TAGS = %w[area base br col embed hr img input link meta param source track wbr].freeze
28
+
27
29
  DEFAULT_FONTS = {
28
30
  "Roboto" => "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700"
29
31
  }.freeze
@@ -571,12 +573,17 @@ module MjmlRb
571
573
 
572
574
  def serialize_node(node)
573
575
  attrs = node.attributes.map { |k, v| %( #{k}="#{escape_attr(v)}") }.join
574
- return "<#{node.tag_name}#{attrs} />" if node.children.empty?
576
+ return "<#{node.tag_name}#{attrs} />" if node.children.empty? && html_void_tag?(node.tag_name)
577
+ return "<#{node.tag_name}#{attrs}></#{node.tag_name}>" if node.children.empty?
575
578
 
576
579
  inner = node.children.map { |child| child.text? ? child.content.to_s : serialize_node(child) }.join
577
580
  "<#{node.tag_name}#{attrs}>#{inner}</#{node.tag_name}>"
578
581
  end
579
582
 
583
+ def html_void_tag?(tag_name)
584
+ HTML_VOID_TAGS.include?(tag_name.to_s.downcase)
585
+ end
586
+
580
587
  def style_join(hash)
581
588
  hash.each_with_object([]) do |(key, value), memo|
582
589
  next if value.nil? || value.to_s.empty?
@@ -1,3 +1,3 @@
1
1
  module MjmlRb
2
- VERSION = "0.2.21".freeze
2
+ VERSION = "0.2.22".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mjml-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.21
4
+ version: 0.2.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrei Andriichuk