inky-rb 1.3.7.3 → 1.4.2.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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +3 -0
  4. data/.travis.yml +4 -2
  5. data/README.md +1 -1
  6. data/gemfiles/rails_6.gemfile +5 -0
  7. data/inky.gemspec +6 -6
  8. data/lib/inky/component_factory.rb +21 -9
  9. data/lib/inky/configuration.rb +22 -1
  10. data/lib/inky/rails/template_handler.rb +7 -3
  11. data/lib/inky/rails/version.rb +1 -1
  12. data/lib/inky.rb +5 -2
  13. data/spec/_cases_output/button/no_link.inky +1 -0
  14. data/spec/_cases_output/button/with_expand_class.inky +4 -0
  15. data/spec/_cases_output/button/with_extra_attr.inky +3 -0
  16. data/spec/_cases_output/button/with_image.inky +3 -0
  17. data/spec/_cases_output/button/with_link.inky +3 -0
  18. data/spec/_cases_output/button/with_link_and_extra_attr.inky +3 -0
  19. data/spec/_cases_output/button/with_tricky_class.inky +22 -0
  20. data/spec/_cases_output/callout/basic.inky +1 -0
  21. data/spec/_cases_output/callout/with_attributes.inky +3 -0
  22. data/spec/_cases_output/general/empty_attributes.inky +6 -0
  23. data/spec/_cases_output/general/multiple_root.inky +2 -0
  24. data/spec/_cases_output/general/no_tag.inky +1 -0
  25. data/spec/_cases_output/general/root_within_text.inky +7 -0
  26. data/spec/_cases_output/general/void_html_elements.inky +6 -0
  27. data/spec/_cases_output/grid/columns.inky +2 -0
  28. data/spec/_cases_output/grid/container.inky +1 -0
  29. data/spec/_cases_output/grid/container_with_align.inky +1 -0
  30. data/spec/_cases_output/grid/row.inky +1 -0
  31. data/spec/_cases_output/grid/row_with_columns.inky +5 -0
  32. data/spec/_cases_output/h_line/basic.inky +1 -0
  33. data/spec/_cases_output/h_line/h_line.inky +2 -0
  34. data/spec/_cases_output/h_line/multiple.inky +3 -0
  35. data/spec/_cases_output/h_line/with_attr.inky +1 -0
  36. data/spec/_cases_output/menu/item.inky +1 -0
  37. data/spec/_cases_output/menu/menu.inky +2 -0
  38. data/spec/_cases_output/menu/menu_with_align.inky +2 -0
  39. data/spec/_cases_output/menu/menu_with_items.inky +5 -0
  40. data/spec/_cases_output/spacer/basic.inky +5 -0
  41. data/spec/_cases_output/spacer/with_attr.inky +6 -0
  42. data/spec/_cases_output/spacer/with_size.inky +5 -0
  43. data/spec/_cases_output/spacer/with_size_lg.inky +5 -0
  44. data/spec/_cases_output/spacer/with_size_sm.inky +5 -0
  45. data/spec/_cases_output/spacer/with_size_sm_and_lg.inky +5 -0
  46. data/spec/_cases_output/spacer/with_sizes_and_attr.inky +6 -0
  47. data/spec/_cases_output/wrapper/basic.inky +1 -0
  48. data/spec/_cases_output/wrapper/with_align.inky +1 -0
  49. data/spec/_cases_output/wrapper/with_attributes.inky +1 -0
  50. data/spec/cases/button/with_extra_attr.inky +3 -0
  51. data/spec/cases/button/with_link.inky +1 -1
  52. data/spec/cases/button/with_link_and_extra_attr.inky +3 -0
  53. data/spec/cases/h_line/basic.inky +1 -0
  54. data/spec/cases/h_line/multiple.inky +8 -0
  55. data/spec/cases/h_line/with_attr.inky +2 -0
  56. data/spec/cases/spacer/with_attr.inky +6 -0
  57. data/spec/cases/spacer/with_size.inky +1 -1
  58. data/spec/cases/spacer/with_size_lg.inky +1 -1
  59. data/spec/cases/spacer/with_size_sm.inky +1 -1
  60. data/spec/cases/spacer/with_size_sm_and_lg.inky +1 -1
  61. data/spec/cases/spacer/with_sizes_and_attr.inky +6 -0
  62. data/spec/components_spec.rb +48 -48
  63. data/spec/configuration_spec.rb +92 -22
  64. data/spec/grid_spec.rb +38 -38
  65. data/spec/spec_helper.rb +4 -1
  66. data/spec/test_app/log/test.log +5405 -0
  67. data/spec/test_app/spec/features/inky_spec.rb +3 -3
  68. metadata +165 -78
  69. data/Gemfile.lock +0 -188
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f128cd66f4c50d6498301a720c686a24f75afb6121f7574fcf38ae4e4197e39
4
- data.tar.gz: 9953f571f49f8fe6712a89331726eca0e1c6756129d75d782e12685190549487
3
+ metadata.gz: 8b6292d929c4b925c5767a682f808c6f7f812925fe8769604e266459b19f0afb
4
+ data.tar.gz: 46349b5e9e7901e374e99d51f9bfbcaa1d083550336917629ea434c452ce4c99
5
5
  SHA512:
6
- metadata.gz: a0c09ee38d1611662c935d09e4326fde73ff2261ff1cd45f457e693d37b640f4303da063269ae663fdf574564cdc368f0877a8219ade38a174d0f474e6e2ca61
7
- data.tar.gz: b3154afa14af608c817f92b20a2763de1e681eb8b253aae12e76c85b5c7859e937afd7da7cee3243a86842f20611b69e151ae15291301f0a6d907f2dc66e745c
6
+ metadata.gz: d7c9410bd6ff9a642ccd5c51d8435a077234334c6dcfe23054f72bd6dc330a2cd4d07cd02bd2084dc0f65bed18ba08d82b904d5b08ced59e23b0f553b3daf22e
7
+ data.tar.gz: 1479e4b652d006b7a37092a05ee72d1177e0ab97ea514f0eb646acc25900da9799f887176cee1bef2f9527ebd13936d208ed5818bad3a44fee0b88da1ebbfcf5
data/.gitignore CHANGED
@@ -3,3 +3,4 @@ pkg
3
3
  spec/_cases_output
4
4
  spec/test_app/log/*.log
5
5
  spec/test_app/tmp/
6
+ Gemfile.lock
data/.rubocop.yml CHANGED
@@ -153,5 +153,8 @@ Metrics/BlockLength:
153
153
  - 'Rakefile'
154
154
  - 'spec/**/*.rb'
155
155
 
156
+ Style/MutableConstant:
157
+ Enabled: false
158
+
156
159
  Style/Encoding:
157
160
  Enabled: false
data/.travis.yml CHANGED
@@ -2,15 +2,17 @@ sudo: false
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.0.0
5
- - 2.4.1
5
+ - 2.6.1
6
6
  gemfile:
7
7
  - gemfiles/rails_3.gemfile
8
8
  - gemfiles/rails_4.gemfile
9
9
  - gemfiles/rails_5.gemfile
10
+ - gemfiles/rails_6.gemfile
10
11
  matrix:
11
12
  exclude:
12
13
  - rvm: 2.0.0
13
14
  gemfile: gemfiles/rails_5.gemfile
15
+ - rvm: 2.0.0
16
+ gemfile: gemfiles/rails_6.gemfile
14
17
  before_install:
15
- - gem install bundler
16
18
  - 'npm install -g inky-cli'
data/README.md CHANGED
@@ -163,4 +163,4 @@ The Inky parser can be accessed directly for programmatic use.
163
163
  Inky-rb currently requires:
164
164
 
165
165
  * Ruby 2.0+
166
- * Rails 3, 4 or 5
166
+ * Rails 3, 4, 5 or 6
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", ">=6.0.0.beta"
4
+
5
+ gemspec path: "../"
data/inky.gemspec CHANGED
@@ -5,11 +5,11 @@ require 'inky/rails/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'inky-rb'
7
7
  s.version = Inky::Rails::VERSION
8
- s.summary = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails, a responsive email framework from ZURB. '
9
- s.description = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails, a responsive email framework from ZURB. '
10
- s.authors = ["ZURB"]
11
- s.email = ['foundation@zurb.com']
12
- s.homepage = 'https://github.com/zurb/inky-rb'
8
+ s.summary = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails'
9
+ s.description = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails'
10
+ s.authors = ["Foundation"]
11
+ s.email = ['contact@get.foundation']
12
+ s.homepage = 'https://github.com/foundation/inky-rb'
13
13
  s.licenses = ['MIT']
14
14
 
15
15
  s.files = `git ls-files -z`.split("\x0")
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.add_dependency "foundation_emails", "~> 2"
20
20
  s.add_dependency "nokogiri"
21
- s.add_development_dependency "bundler", "~> 1.6"
21
+ s.add_development_dependency "bundler"
22
22
  s.add_development_dependency "capybara"
23
23
  s.add_development_dependency "rails"
24
24
  s.add_development_dependency "rake"
@@ -12,6 +12,11 @@ module Inky
12
12
  tags = tags.to_set if tags.respond_to? :to_set
13
13
  IGNORED_ON_PASSTHROUGH = tags.freeze
14
14
 
15
+ # These constants are used to circumvent an issue with JRuby Nokogiri.
16
+ # For more details see https://github.com/zurb/inky-rb/pull/94
17
+ INTERIM_TH_TAG = 'inky-interim-th'.freeze
18
+ INTERIM_TH_TAG_REGEX = %r{(?<=\<|\<\/)#{Regexp.escape(INTERIM_TH_TAG)}}
19
+
15
20
  def _pass_through_attributes(elem)
16
21
  elem.attributes.reject { |e| IGNORED_ON_PASSTHROUGH.include?(e.downcase) }.map do |name, value|
17
22
  %{#{name}="#{value}" }
@@ -40,27 +45,28 @@ module Inky
40
45
 
41
46
  def _transform_button(component, inner)
42
47
  expand = _has_class(component, 'expand')
48
+ attributes = _pass_through_attributes(component)
43
49
  if component.attr('href')
44
50
  target = _target_attribute(component)
45
51
  extra = ' align="center" class="float-center"' if expand
46
- inner = %{<a href="#{component.attr('href')}"#{target}#{extra}>#{inner}</a>}
52
+ inner = %{<a #{attributes}href="#{component.attr('href')}"#{target}#{extra}>#{inner}</a>}
47
53
  end
48
54
  inner = "<center>#{inner}</center>" if expand
49
55
 
50
56
  classes = _combine_classes(component, 'button')
51
57
  expander = '<td class="expander"></td>' if expand
52
- %{<table class="#{classes}"><tr><td><table><tr><td>#{inner}</td></tr></table></td>#{expander}</tr></table>}
58
+ %{<table class="#{classes}"><tbody><tr><td><table><tbody><tr><td>#{inner}</td></tr></tbody></table></td>#{expander}</tr></tbody></table>}
53
59
  end
54
60
 
55
61
  def _transform_menu(component, inner)
56
62
  attributes = _combine_attributes(component, 'menu')
57
- %{<table #{attributes}><tr><td><table><tr>#{inner}</tr></table></td></tr></table>}
63
+ %{<table #{attributes}><tbody><tr><td><table><tbody><tr>#{inner}</tr></tbody></table></td></tr></tbody></table>}
58
64
  end
59
65
 
60
66
  def _transform_menu_item(component, inner)
61
67
  target = _target_attribute(component)
62
68
  attributes = _combine_attributes(component, 'menu-item')
63
- %{<th #{attributes}><a href="#{component.attr('href')}"#{target}>#{inner}</a></th>}
69
+ %{<#{INTERIM_TH_TAG} #{attributes}><a href="#{component.attr('href')}"#{target}>#{inner}</a></#{INTERIM_TH_TAG}>}
64
70
  end
65
71
 
66
72
  def _transform_container(component, inner)
@@ -91,12 +97,12 @@ module Inky
91
97
  subrows = component.elements.css(".row").to_a.concat(component.elements.css("row").to_a)
92
98
  expander = %{<th class="expander"></th>} if large_size.to_i == column_count && subrows.empty?
93
99
 
94
- %{<th class="#{classes}" #{_pass_through_attributes(component)}><table><tr><th>#{inner}</th>#{expander}</tr></table></th>}
100
+ %{<#{INTERIM_TH_TAG} class="#{classes}" #{_pass_through_attributes(component)}><table><tbody><tr><th>#{inner}</th>#{expander}</tr></tbody></table></#{INTERIM_TH_TAG}>}
95
101
  end
96
102
 
97
103
  def _transform_block_grid(component, inner)
98
104
  classes = _combine_classes(component, "block-grid up-#{component.attr('up')}")
99
- %{<table class="#{classes}"><tr>#{inner}</tr></table>}
105
+ %{<table class="#{classes}"><tbody><tr>#{inner}</tr></tbody></table>}
100
106
  end
101
107
 
102
108
  def _transform_center(component, _inner)
@@ -116,12 +122,12 @@ module Inky
116
122
  def _transform_callout(component, inner)
117
123
  classes = _combine_classes(component, 'callout-inner')
118
124
  attributes = _pass_through_attributes(component)
119
- %{<table #{attributes}class="callout"><tr><th class="#{classes}">#{inner}</th><th class="expander"></th></tr></table>}
125
+ %{<table #{attributes}class="callout"><tbody><tr><th class="#{classes}">#{inner}</th><th class="expander"></th></tr></tbody></table>}
120
126
  end
121
127
 
122
128
  def _transform_spacer(component, _inner)
123
129
  classes = _combine_classes(component, 'spacer')
124
- build_table = ->(size, extra) { %{<table class="#{classes} #{extra}"><tbody><tr><td height="#{size}px" style="font-size:#{size}px;line-height:#{size}px;">&#xA0;</td></tr></tbody></table>} }
130
+ build_table = ->(size, extra) { %{<table class="#{classes} #{extra}"><tbody><tr><td height="#{size}" style="font-size:#{size}px;line-height:#{size}px;">&nbsp;</td></tr></tbody></table>} }
125
131
  size = component.attr('size')
126
132
  size_sm = component.attr('size-sm')
127
133
  size_lg = component.attr('size-lg')
@@ -135,9 +141,15 @@ module Inky
135
141
  end
136
142
  end
137
143
 
144
+ def _transform_h_line(component, _inner)
145
+ classes = _combine_classes(component, 'h-line')
146
+ attributes = _pass_through_attributes(component)
147
+ %{<table #{attributes}class="#{classes}"><tr><th>&nbsp;</th></tr></table>}
148
+ end
149
+
138
150
  def _transform_wrapper(component, inner)
139
151
  attributes = _combine_attributes(component, 'wrapper')
140
- %{<table #{attributes} align="center"><tr><td class="wrapper-inner">#{inner}</td></tr></table>}
152
+ %{<table #{attributes} align="center"><tbody><tr><td class="wrapper-inner">#{inner}</td></tr></tbody></table>}
141
153
  end
142
154
  end
143
155
  end
@@ -7,6 +7,8 @@ module Inky
7
7
  # Set Inky's configuration
8
8
  # @param config [Inky::Configuration]
9
9
  def self.configuration=(config)
10
+ raise TypeError, "Not an Inky::Configuration" unless config.is_a?(Configuration)
11
+
10
12
  @configuration = config
11
13
  end
12
14
 
@@ -23,11 +25,30 @@ module Inky
23
25
  end
24
26
 
25
27
  class Configuration
26
- attr_accessor :template_engine, :column_count
28
+ attr_reader :template_engine, :column_count, :components
27
29
 
28
30
  def initialize
29
31
  @template_engine = :erb
30
32
  @column_count = 12
33
+ @components = {}
34
+ end
35
+
36
+ def template_engine=(value)
37
+ raise TypeError, "#{value.inspect} (#{value.class}) does not respond to 'to_sym'" unless value.respond_to?(:to_sym)
38
+
39
+ @template_engine = value.to_sym
40
+ end
41
+
42
+ def components=(value)
43
+ raise TypeError, "#{value.inspect} (#{value.class}) does not respond to 'to_hash'" unless value.respond_to?(:to_hash)
44
+
45
+ @components = value.to_hash
46
+ end
47
+
48
+ def column_count=(value)
49
+ raise TypeError, "#{value.inspect} (#{value.class}) does not respond to 'to_int'" unless value.respond_to?(:to_int)
50
+
51
+ @column_count = value.to_int
31
52
  end
32
53
  end
33
54
  end
@@ -13,9 +13,13 @@ module Inky
13
13
  raise("No template handler found for #{type}")
14
14
  end
15
15
 
16
- def call(template)
17
- compiled_source = engine_handler.call(template)
18
-
16
+ def call(template, source = nil)
17
+ compiled_source =
18
+ if source
19
+ engine_handler.call(template, source)
20
+ else
21
+ engine_handler.call(template)
22
+ end
19
23
  "Inky::Core.new.release_the_kraken(begin; #{compiled_source};end)"
20
24
  end
21
25
 
@@ -1,6 +1,6 @@
1
1
  module Inky
2
2
  module Rails
3
- VERSION = '1.3.7.3'.freeze
3
+ VERSION = '1.4.2.0'.freeze
4
4
  end
5
5
  NODE_VERSION, GEM_VERSION = Rails::VERSION.rpartition('.').map(&:freeze)
6
6
  end
data/lib/inky.rb CHANGED
@@ -20,8 +20,9 @@ module Inky
20
20
  callout: 'callout',
21
21
  spacer: 'spacer',
22
22
  wrapper: 'wrapper',
23
- menu_item: 'item'
24
- }.merge(options[:components] || {})
23
+ menu_item: 'item',
24
+ h_line: 'h-line',
25
+ }.merge(::Inky.configuration.components).merge(options[:components] || {})
25
26
 
26
27
  self.component_lookup = components.invert
27
28
 
@@ -40,6 +41,8 @@ module Inky
40
41
  html = Nokogiri::HTML.public_send(parse_cmd, str)
41
42
  transform_doc(html)
42
43
  string = html.to_html
44
+ string.gsub!(INTERIM_TH_TAG_REGEX, 'th')
45
+ string.gsub!(' ', '&nbsp;') # Convert non-breaking spaces to explicit &nbsp; entity
43
46
  Inky::Core.re_inject_raws(string, raws)
44
47
  end
45
48
 
@@ -0,0 +1 @@
1
+ <table class="button"><tbody><tr><td><table><tbody><tr><td>I'm missing an href</td></tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,4 @@
1
+ <table class="button expand foo"><tbody><tr><td><table><tbody><tr><td><center><a href="http://example.com" align="center" class="float-center">
2
+ A label
3
+ </a></center></td></tr></tbody></table></td>
4
+ <td class="expander"></td></tr></tbody></table>
@@ -0,0 +1,3 @@
1
+ <table class="button"><tbody><tr><td><table><tbody><tr><td>
2
+ A label
3
+ </td></tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,3 @@
1
+ <table class="button"><tbody><tr><td><table><tbody><tr><td><a href="#">
2
+ <img src="http://www.example.com/" width="600" height="400">
3
+ </a></td></tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,3 @@
1
+ <table class="button some classes"><tbody><tr><td><table><tbody><tr><td><a href="http://example.com">
2
+ A label
3
+ </a></td></tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,3 @@
1
+ <table class="button"><tbody><tr><td><table><tbody><tr><td><a foo="bar" href="http://example.com">
2
+ A label
3
+ </a></td></tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,22 @@
1
+ <table class="button noexpand"><tbody><tr><td><table><tbody><tr><td><a href="http://example.com">
2
+ A label
3
+ </a></td></tr></tbody></table></td></tr></tbody></table>
4
+
5
+ <table class="button expand-niet"><tbody><tr><td><table><tbody><tr><td><a href="http://example.com">
6
+ A label
7
+ </a></td></tr></tbody></table></td></tr></tbody></table>
8
+
9
+ <table class="button expand foo"><tbody><tr><td><table><tbody><tr><td><center><a href="http://example.com" align="center" class="float-center">
10
+ A label
11
+ </a></center></td></tr></tbody></table></td>
12
+ <td class="expander"></td></tr></tbody></table>
13
+
14
+ <table class="button foo expand"><tbody><tr><td><table><tbody><tr><td><center><a href="http://example.com" align="center" class="float-center">
15
+ A label
16
+ </a></center></td></tr></tbody></table></td>
17
+ <td class="expander"></td></tr></tbody></table>
18
+
19
+ <table class="button foo expand bar"><tbody><tr><td><table><tbody><tr><td><center><a href="http://example.com" align="center" class="float-center">
20
+ A label
21
+ </a></center></td></tr></tbody></table></td>
22
+ <td class="expander"></td></tr></tbody></table>
@@ -0,0 +1 @@
1
+ <table class="callout"><tbody><tr><th class="callout-inner">Simple callout</th><th class="expander"></th></tr></tbody></table>
@@ -0,0 +1,3 @@
1
+ <table foo="bar" class="callout"><tbody><tr><th class="callout-inner some klasses">
2
+ <p>I'm in a callout!</p>
3
+ </th><th class="expander"></th></tr></tbody></table>
@@ -0,0 +1,6 @@
1
+ <!-- pending -->
2
+
3
+ <table class="button"><tr><td><table><tr><td>
4
+ <span data-foo="" data-bar="">
5
+ </span></td></tr></table></td></tr></table>
6
+
@@ -0,0 +1,2 @@
1
+ <table class="callout"><tbody><tr><th class="callout-inner">Hey</th><th class="expander"></th></tr></tbody></table>
2
+ <table class="callout"><tbody><tr><th class="callout-inner">You</th><th class="expander"></th></tr></tbody></table>
@@ -0,0 +1 @@
1
+ Very simple test...
@@ -0,0 +1,7 @@
1
+ Text before
2
+ <table class="callout"><tbody><tr><th class="callout-inner">Ho</th><th class="expander"></th></tr></tbody></table>
3
+ Text after
4
+ <table class="callout"><tbody><tr><th class="callout-inner">Ho</th><th class="expander"></th></tr></tbody></table>
5
+ Text after
6
+ <table class="callout"><tbody><tr><th class="callout-inner">Ho</th><th class="expander"></th></tr></tbody></table>
7
+ Text after
@@ -0,0 +1,6 @@
1
+ <table class="callout"><tbody><tr><th class="callout-inner">
2
+ Hello
3
+ <br>
4
+ Here's an image:
5
+ <img src="http://www.example.com" width="400" height="200">
6
+ </th><th class="expander"></th></tr></tbody></table>
@@ -0,0 +1,2 @@
1
+ <th class="some classes small-12 large-12 columns first last" foo="bar"><table><tbody><tr><th>First column</th>
2
+ <th class="expander"></th></tr></tbody></table></th>
@@ -0,0 +1 @@
1
+ <table foo="bar" align="center" class="container klass"><tbody><tr><td>some content</td></tr></tbody></table>
@@ -0,0 +1 @@
1
+ <table align="left" class="container"><tbody><tr><td>some content</td></tr></tbody></table>
@@ -0,0 +1 @@
1
+ <table foo="bar" class="row some klasses"><tbody><tr>columns here</tr></tbody></table>
@@ -0,0 +1,5 @@
1
+ <table class="row collapse"><tbody><tr>
2
+ <th class="small-12 large-4 columns first"><table><tbody><tr><th>First column</th></tr></tbody></table></th>
3
+ <th class="small-12 large-4 columns"><table><tbody><tr><th>Second column</th></tr></tbody></table></th>
4
+ <th class="small-12 large-4 columns last"><table><tbody><tr><th>Last column</th></tr></tbody></table></th>
5
+ </tr></tbody></table>
@@ -0,0 +1 @@
1
+ <table class="h-line"><tr><th>&nbsp;</th></tr></table>
@@ -0,0 +1,2 @@
1
+ Hello
2
+ <table class="h-line"><tr><th>&nbsp;</th></tr></table>
@@ -0,0 +1,3 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/137 --->
2
+ Hello
3
+ <table class="h-line"><tr><th>&nbsp;</th></tr></table>
@@ -0,0 +1 @@
1
+ <table class="h-line"><tr><th>&nbsp;</th></tr></table>
@@ -0,0 +1 @@
1
+ <th foo="bar" class="menu-item some classes"><a href="http://example.com">An item</a></th>
@@ -0,0 +1,2 @@
1
+ <table foo="bar" class="menu some classes"><tbody><tr><td><table><tbody><tr>
2
+ </tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,2 @@
1
+ <table align="left" class="menu"><tbody><tr><td><table><tbody><tr>
2
+ </tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,5 @@
1
+ <table class="menu small-vertical"><tbody><tr><td><table><tbody><tr>
2
+ <th class="menu-item"><a href="http://example.com/1">An item</a></th>
3
+ <th class="menu-item"><a href="http://example.com/2">Another Item</a></th>
4
+ <th class="menu-item"><a href="http://example.com/3">Last Item</a></th>
5
+ </tr></tbody></table></td></tr></tbody></table>
@@ -0,0 +1,5 @@
1
+ <div>
2
+ Stuff on top
3
+ <table class="spacer"><tbody><tr><td height="16" style="font-size:16px;line-height:16px;">&nbsp;</td></tr></tbody></table>
4
+ Stuff on bottom
5
+ </div>
@@ -0,0 +1,6 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/135 --->
2
+ <div>
3
+ Stuff on top
4
+ <table foo="bar" class="spacer"><tbody><tr><td height="16" style="font-size:16px;line-height:16px;">&nbsp;</td></tr></tbody></table>
5
+ Stuff on bottom
6
+ </div>
@@ -0,0 +1,5 @@
1
+ <div>
2
+ Stuff on top
3
+ <table class="spacer some classes"><tbody><tr><td height="42" style="font-size:42px;line-height:42px;">&nbsp;</td></tr></tbody></table>
4
+ Stuff on bottom
5
+ </div>
@@ -0,0 +1,5 @@
1
+ <div>
2
+ Stuff on top
3
+ <table class="spacer some classes show-for-large"><tbody><tr><td height="666" style="font-size:666px;line-height:666px;">&nbsp;</td></tr></tbody></table>
4
+ <p>Stuff on bottom</p>
5
+ </div>
@@ -0,0 +1,5 @@
1
+ <div>
2
+ Stuff on top
3
+ <table class="spacer some classes hide-for-large"><tbody><tr><td height="42" style="font-size:42px;line-height:42px;">&nbsp;</td></tr></tbody></table>
4
+ Stuff on bottom
5
+ </div>
@@ -0,0 +1,5 @@
1
+ <div>
2
+ Stuff on top
3
+ <table class="spacer some classes hide-for-large"><tbody><tr><td height="42" style="font-size:42px;line-height:42px;">&nbsp;</td></tr></tbody></table><table class="spacer some classes show-for-large"><tbody><tr><td height="666" style="font-size:666px;line-height:666px;">&nbsp;</td></tr></tbody></table>
4
+ Stuff on bottom
5
+ </div>
@@ -0,0 +1,6 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/135 --->
2
+ <div>
3
+ Stuff on top
4
+ <table foo="bar" class="spacer some classes hide-for-large"><tbody><tr><td height="42" style="font-size:42px;line-height:42px;">&nbsp;</td></tr></tbody></table><table foo="bar" class="spacer some classes show-for-large"><tbody><tr><td height="666" style="font-size:666px;line-height:666px;">&nbsp;</td></tr></tbody></table>
5
+ Stuff on bottom
6
+ </div>
@@ -0,0 +1 @@
1
+ <table class="wrapper" align="center"><tbody><tr><td class="wrapper-inner">In the wrap</td></tr></tbody></table>
@@ -0,0 +1 @@
1
+ <table align="left" class="wrapper"><tbody><tr><td class="wrapper-inner">In the wrap</td></tr></tbody></table>
@@ -0,0 +1 @@
1
+ <table foo="bar" class="wrapper some classes" align="center"><tbody><tr><td class="wrapper-inner">In the wrap</td></tr></tbody></table>
@@ -0,0 +1,3 @@
1
+ <button foo="bar">
2
+ A label
3
+ </button>
@@ -1,3 +1,3 @@
1
- <button href="http://example.com" class="some classes" foo="bar">
1
+ <button href="http://example.com" class="some classes">
2
2
  A label
3
3
  </button>
@@ -0,0 +1,3 @@
1
+ <button href="http://example.com" foo="bar">
2
+ A label
3
+ </button>
@@ -0,0 +1 @@
1
+ <h-line/>
@@ -0,0 +1,8 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/137 --->
2
+ Hello
3
+ <h-line/>
4
+ World
5
+ <h-line foo="bar"/>
6
+ Bye
7
+ <h-line class="x" foo="bar"/>
8
+ Zzz
@@ -0,0 +1,2 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/137 --->
2
+ <h-line foo="bar"/>
@@ -0,0 +1,6 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/135 --->
2
+ <div>
3
+ Stuff on top
4
+ <spacer foo="bar"/>
5
+ Stuff on bottom
6
+ </div>
@@ -1,5 +1,5 @@
1
1
  <div>
2
2
  Stuff on top
3
- <spacer class="some classes" foo="bar" size="42"/>
3
+ <spacer class="some classes" size="42"/>
4
4
  Stuff on bottom
5
5
  </div>
@@ -1,4 +1,4 @@
1
1
  <div>
2
2
  Stuff on top
3
- <spacer class="some classes" foo="bar" size-lg="666"/>
3
+ <spacer class="some classes" size-lg="666"/>
4
4
  <p>Stuff on bottom</p>
@@ -1,5 +1,5 @@
1
1
  <div>
2
2
  Stuff on top
3
- <spacer class="some classes" foo="bar" size-sm="42"></spacer>
3
+ <spacer class="some classes" size-sm="42"></spacer>
4
4
  Stuff on bottom
5
5
  </div>
@@ -1,5 +1,5 @@
1
1
  <div>
2
2
  Stuff on top
3
- <spacer class="some classes" foo="bar" size-sm="42" size-lg="666"/>
3
+ <spacer class="some classes" size-sm="42" size-lg="666"/>
4
4
  Stuff on bottom
5
5
  </div>
@@ -0,0 +1,6 @@
1
+ <!-- pending https://github.com/foundation/inky/issues/135 --->
2
+ <div>
3
+ Stuff on top
4
+ <spacer class="some classes" foo="bar" size-sm="42" size-lg="666"/>
5
+ Stuff on bottom
6
+ </div>