premailer 1.8.6 → 1.8.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/bin/premailer +0 -1
  4. data/lib/premailer/adapter.rb +6 -2
  5. data/lib/premailer/adapter/hpricot.rb +12 -2
  6. data/lib/premailer/adapter/nokogiri.rb +8 -6
  7. data/lib/premailer/adapter/nokogumbo.rb +243 -0
  8. data/lib/premailer/html_to_plain_text.rb +9 -15
  9. data/lib/premailer/premailer.rb +11 -10
  10. data/lib/premailer/version.rb +1 -1
  11. metadata +64 -69
  12. data/.gitignore +0 -12
  13. data/.jrubyrc +0 -1
  14. data/.travis.yml +0 -34
  15. data/.yardopts +0 -9
  16. data/Gemfile +0 -16
  17. data/gemfiles/.ruby187.gemfile +0 -21
  18. data/init.rb +0 -1
  19. data/local-premailer +0 -9
  20. data/premailer.gemspec +0 -30
  21. data/rakefile.rb +0 -62
  22. data/test/files/base.html +0 -140
  23. data/test/files/chars.html +0 -6
  24. data/test/files/contact_bg.png +0 -0
  25. data/test/files/dialect.png +0 -0
  26. data/test/files/dots_end.png +0 -0
  27. data/test/files/dots_h.gif +0 -0
  28. data/test/files/html4.html +0 -12
  29. data/test/files/html_with_uri.html +0 -9
  30. data/test/files/ignore.css +0 -3
  31. data/test/files/ignore.html +0 -15
  32. data/test/files/import.css +0 -13
  33. data/test/files/inc/2009-placeholder.png +0 -0
  34. data/test/files/iso-8859-2.html +0 -1
  35. data/test/files/iso-8859-5.html +0 -8
  36. data/test/files/no_css.html +0 -11
  37. data/test/files/noimport.css +0 -13
  38. data/test/files/styles.css +0 -106
  39. data/test/files/xhtml.html +0 -11
  40. data/test/future_tests.rb +0 -50
  41. data/test/helper.rb +0 -42
  42. data/test/test_adapter.rb +0 -29
  43. data/test/test_html_to_plain_text.rb +0 -184
  44. data/test/test_links.rb +0 -207
  45. data/test/test_misc.rb +0 -373
  46. data/test/test_premailer.rb +0 -347
  47. data/test/test_warnings.rb +0 -95
@@ -1,4 +1,4 @@
1
1
  class Premailer
2
2
  # Premailer version.
3
- VERSION = '1.8.6'.freeze
3
+ VERSION = '1.8.7'.freeze
4
4
  end
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.8.6
4
+ version: 1.8.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Dunae
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-11 00:00:00.000000000 Z
11
+ date: 2016-06-28 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.3.6
19
+ version: 1.4.5
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.3.6
26
+ version: 1.4.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: htmlentities
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -128,6 +128,62 @@ dependencies:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
130
  version: '3.0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: maxitest
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: coveralls
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: webmock
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
+ - !ruby/object:Gem::Dependency
174
+ name: nokogumbo
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
131
187
  description: Improve the rendering of HTML emails by making CSS inline, converting
132
188
  links and warning about unsupported code.
133
189
  email: code@dunae.ca
@@ -136,54 +192,19 @@ executables:
136
192
  extensions: []
137
193
  extra_rdoc_files: []
138
194
  files:
139
- - ".gitignore"
140
- - ".jrubyrc"
141
- - ".travis.yml"
142
- - ".yardopts"
143
- - Gemfile
144
195
  - LICENSE.md
145
196
  - README.md
146
197
  - bin/premailer
147
- - gemfiles/.ruby187.gemfile
148
- - init.rb
149
198
  - lib/premailer.rb
150
199
  - lib/premailer/adapter.rb
151
200
  - lib/premailer/adapter/hpricot.rb
152
201
  - lib/premailer/adapter/nokogiri.rb
202
+ - lib/premailer/adapter/nokogumbo.rb
153
203
  - lib/premailer/executor.rb
154
204
  - lib/premailer/html_to_plain_text.rb
155
205
  - lib/premailer/premailer.rb
156
206
  - lib/premailer/version.rb
157
- - local-premailer
158
207
  - misc/client_support.yaml
159
- - premailer.gemspec
160
- - rakefile.rb
161
- - test/files/base.html
162
- - test/files/chars.html
163
- - test/files/contact_bg.png
164
- - test/files/dialect.png
165
- - test/files/dots_end.png
166
- - test/files/dots_h.gif
167
- - test/files/html4.html
168
- - test/files/html_with_uri.html
169
- - test/files/ignore.css
170
- - test/files/ignore.html
171
- - test/files/import.css
172
- - test/files/inc/2009-placeholder.png
173
- - test/files/iso-8859-2.html
174
- - test/files/iso-8859-5.html
175
- - test/files/no_css.html
176
- - test/files/noimport.css
177
- - test/files/styles.css
178
- - test/files/xhtml.html
179
- - test/future_tests.rb
180
- - test/helper.rb
181
- - test/test_adapter.rb
182
- - test/test_html_to_plain_text.rb
183
- - test/test_links.rb
184
- - test/test_misc.rb
185
- - test/test_premailer.rb
186
- - test/test_warnings.rb
187
208
  homepage: http://premailer.dialect.ca/
188
209
  licenses: []
189
210
  metadata: {}
@@ -195,7 +216,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
216
  requirements:
196
217
  - - ">="
197
218
  - !ruby/object:Gem::Version
198
- version: '0'
219
+ version: 2.0.0
199
220
  required_rubygems_version: !ruby/object:Gem::Requirement
200
221
  requirements:
201
222
  - - ">="
@@ -203,35 +224,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
224
  version: '0'
204
225
  requirements: []
205
226
  rubyforge_project:
206
- rubygems_version: 2.4.6
227
+ rubygems_version: 2.5.1
207
228
  signing_key:
208
229
  specification_version: 4
209
230
  summary: Preflight for HTML e-mail.
210
- test_files:
211
- - test/files/base.html
212
- - test/files/chars.html
213
- - test/files/contact_bg.png
214
- - test/files/dialect.png
215
- - test/files/dots_end.png
216
- - test/files/dots_h.gif
217
- - test/files/html4.html
218
- - test/files/html_with_uri.html
219
- - test/files/ignore.css
220
- - test/files/ignore.html
221
- - test/files/import.css
222
- - test/files/inc/2009-placeholder.png
223
- - test/files/iso-8859-2.html
224
- - test/files/iso-8859-5.html
225
- - test/files/no_css.html
226
- - test/files/noimport.css
227
- - test/files/styles.css
228
- - test/files/xhtml.html
229
- - test/future_tests.rb
230
- - test/helper.rb
231
- - test/test_adapter.rb
232
- - test/test_html_to_plain_text.rb
233
- - test/test_links.rb
234
- - test/test_misc.rb
235
- - test/test_premailer.rb
236
- - test/test_warnings.rb
231
+ test_files: []
237
232
  has_rdoc: true
data/.gitignore DELETED
@@ -1,12 +0,0 @@
1
- .DS_Store
2
- *.gem
3
- Gemfile.lock
4
- bin/*.html
5
- html/
6
- vendor/
7
- doc/
8
- .yardoc/
9
- *.sw?
10
- pkg/
11
- .bundle/
12
- *.sublime-*
data/.jrubyrc DELETED
@@ -1 +0,0 @@
1
- cext.enabled=true
@@ -1,34 +0,0 @@
1
- notifications:
2
- disabled: true
3
- rvm:
4
- - 1.8.7
5
- - 1.9.2
6
- - 1.9.3
7
- - 2.0.0
8
- - 2.1.0
9
- - 2.2.0
10
- - ree
11
- gemfile:
12
- - Gemfile
13
- - gemfiles/.ruby187.gemfile
14
- before_install:
15
- - gem install bundler
16
- env:
17
- global:
18
- - NOKOGIRI_USE_SYSTEM_LIBRARIES=true
19
- matrix:
20
- exclude:
21
- - rvm: 1.8.7
22
- gemfile: Gemfile
23
- - rvm: 1.9.2
24
- gemfile: gemfiles/.ruby187.gemfile
25
- - rvm: 1.9.3
26
- gemfile: gemfiles/.ruby187.gemfile
27
- - rvm: 2.0.0
28
- gemfile: gemfiles/.ruby187.gemfile
29
- - rvm: 2.1.0
30
- gemfile: gemfiles/.ruby187.gemfile
31
- - rvm: 2.2.0
32
- gemfile: gemfiles/.ruby187.gemfile
33
- - rvm: ree
34
- gemfile: Gemfile
data/.yardopts DELETED
@@ -1,9 +0,0 @@
1
- --markup markdown
2
- --markup-provider redcarpet
3
- --charset utf-8
4
- --no-private
5
- --readme README.md
6
- --title "Premailer Documentation"
7
- -
8
- README.md
9
- LICENSE.md
data/Gemfile DELETED
@@ -1,16 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'css_parser', :git => 'git://github.com/premailer/css_parser.git'
4
- gem 'webmock', :group => [:development, :test]
5
-
6
- platforms :jruby do
7
- gem 'jruby-openssl'
8
- end
9
-
10
- gemspec
11
-
12
- gem "ripper", :group => :development, :platforms => :mri_18
13
-
14
- gem "coveralls", :require => false, :platforms => [:mri_19, :mri_20], :group => :development
15
-
16
- gem 'test-unit', :group => [:development, :test], :platforms => [:mri_20, :mri_22]
@@ -1,21 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'css_parser', '>= 1.3.5', :git => 'git://github.com/premailer/css_parser.git'
4
- gem 'webmock', :group => [:development, :test]
5
-
6
- gemspec :path => '..'
7
-
8
- gem "ripper", :group => :development, :platforms => :mri_18
9
-
10
- gem "coveralls", :require => false, :platforms => [:mri_19, :mri_20], :group => :development
11
-
12
- # Gemspec dependencies
13
- gem 'htmlentities', [ '>= 4.0.0', '<= 4.3.1' ]
14
-
15
- gem 'bundler', '~> 1.3'
16
- gem 'rake', ['~> 0.8', '!= 0.9.0']
17
- gem 'hpricot', '>= 0.8.3'
18
- gem 'nokogiri', '~> 1.5.10'
19
- gem 'yard', '~> 0.8.7'
20
- gem 'redcarpet', '~> 2.3.0'
21
- gem 'yard-redcarpet-ext', '~> 0.0.3'
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require 'premailer'
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- # This binary used only in development environment
4
-
5
- require 'rubygems'
6
- $LOAD_PATH.unshift(File.expand_path('./lib', File.dirname(__FILE__)))
7
-
8
- require 'premailer/executor'
9
-
@@ -1,30 +0,0 @@
1
- GEM_ROOT = File.dirname(__FILE__).freeze unless defined?(GEM_ROOT)
2
-
3
- lib_path = File.expand_path('lib', GEM_ROOT)
4
- $LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include? lib_path
5
-
6
- require 'premailer/version'
7
-
8
- Gem::Specification.new do |s|
9
- s.name = "premailer"
10
- s.version = Premailer::VERSION.dup
11
- s.date = Time.now.strftime('%Y-%m-%d')
12
- s.summary = "Preflight for HTML e-mail."
13
- s.email = "code@dunae.ca"
14
- s.homepage = "http://premailer.dialect.ca/"
15
- s.description = "Improve the rendering of HTML emails by making CSS inline, converting links and warning about unsupported code."
16
- s.has_rdoc = true
17
- s.author = "Alex Dunae"
18
- s.files = `git ls-files`.split("\n")
19
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
20
- s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
21
- s.add_dependency('css_parser', '>= 1.3.6')
22
- s.add_dependency('htmlentities', ['>= 4.0.0'])
23
- s.add_development_dependency "bundler", "~> 1.3"
24
- s.add_development_dependency('rake', ['~> 0.8', '!= 0.9.0'])
25
- s.add_development_dependency('hpricot', '>= 0.8.3')
26
- s.add_development_dependency('nokogiri', '>= 1.4.4')
27
- s.add_development_dependency('yard', '~> 0.8.7.6')
28
- s.add_development_dependency('redcarpet', '~> 3.0')
29
- end
30
-
@@ -1,62 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require "bundler/gem_tasks"
4
- require 'yard'
5
-
6
- GEM_ROOT = File.dirname(__FILE__).freeze unless defined?(GEM_ROOT)
7
-
8
- lib_path = File.expand_path('lib', GEM_ROOT)
9
- $LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include? lib_path
10
-
11
- require 'premailer/version'
12
-
13
- desc 'Parse a URL and write out the output.'
14
- task :inline do
15
- require 'premailer'
16
-
17
- url = ENV['url']
18
- output = ENV['output']
19
-
20
- if !url or url.empty? or !output or output.empty?
21
- puts 'Usage: rake inline url=http://example.com/ output=output.html'
22
- exit
23
- end
24
-
25
- premailer = Premailer.new(url, :warn_level => Premailer::Warnings::SAFE, :verbose => true, :adapter => :nokogiri)
26
- File.open(output, "w") do |fout|
27
- fout.puts premailer.to_inline_css
28
- end
29
-
30
- puts "Succesfully parsed '#{url}' into '#{output}'"
31
- puts premailer.warnings.length.to_s + ' CSS warnings were found'
32
- end
33
-
34
- task :text do
35
- require 'premailer'
36
-
37
- url = ENV['url']
38
- output = ENV['output']
39
-
40
- if !url or url.empty? or !output or output.empty?
41
- puts 'Usage: rake text url=http://example.com/ output=output.txt'
42
- exit
43
- end
44
-
45
- premailer = Premailer.new(url, :warn_level => Premailer::Warnings::SAFE)
46
- File.open(output, "w") do |fout|
47
- fout.puts premailer.to_plain_text
48
- end
49
-
50
- puts "Succesfully parsed '#{url}' into '#{output}'"
51
- end
52
-
53
- Rake::TestTask.new do |t|
54
- t.test_files = FileList['test/test_*.rb']
55
- t.verbose = false
56
- end
57
-
58
- YARD::Rake::YardocTask.new do |yard|
59
- yard.options << "--title='Premailer #{Premailer::VERSION} Documentation'"
60
- end
61
-
62
- task :default => [:test]
@@ -1,140 +0,0 @@
1
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
- <!--
3
-
4
- You can read this newsletter online at
5
- [webversion]
6
-
7
- -->
8
- <html>
9
- <head>
10
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
11
- <title>Premailer Test</title>
12
- <link rel="stylesheet" type="text/css" href="styles.css">
13
- <style type="text/css">
14
- @import "import.css" screen, handheld;
15
- </style>
16
- <style type="text/css">
17
- @import "noimport.css" print;
18
- </style>
19
- <style type="text/css">
20
- #iphone { display: block; }
21
- </style>
22
- </head>
23
- <body>
24
- <div id="wrapper">
25
- <p class="hide" id="hide01">This line should be hidden.</p>
26
- <p class="hide" id="iphone">This is an iPhone style.</p>
27
- <table width="646" class="container" cellspacing="0" cellpadding="0">
28
- <tr><td id="webversion" colspan="6">Having trouble reading this newsletter? <webversion>Click here to see it in your browser</webversion></td></tr>
29
-
30
- <tr><td height="13" colspan="6" class="frame">&#x00a0;</td></tr>
31
-
32
-
33
-
34
- <table width="646" class="container" cellspacing="0" cellpadding="0">
35
-
36
- <tr>
37
- <td class="frame" width="13">&#x00a0;</td>
38
- <td class="gutter" width="60">&#x00a0;</td>
39
-
40
- <td class="content" colspan="2" width="500">
41
-
42
- <h1><span>Premailer Test</span></h1>
43
-
44
- <table width="500" cellpadding="0" cellspacing="0">
45
- <tr>
46
- <td width="20">&#x00a0;</td>
47
- <td colspan="2" width="460">
48
- <h2>Lorem ipsum dolor</h2>
49
- <h3>Suspendisse id velit vitae ligula volutpat condimentum</h3>
50
- <p class="dt">Morbi commodo, ipsum sed</p>
51
-
52
-
53
- <p class="unaligned"><img src="2009-placeholder.png" alt="Image" align="right" class="right">Lorem&nbsp;ipsum&#x00a0;dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. <a href="http://premailer.dialect.ca/">Nulla facilisi</a>. Nulla libero.</p>
54
-
55
- <p attr="another quote">Here&rsquo;s a quote. Here’s a quote. &#x201c;Here’s a quote in quotes”.</p>
56
-
57
- <p>Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi.</p>
58
- <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis. Nullam sit amet enim. Suspendisse id velit vitae ligula volutpat condimentum. Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero.</p>
59
- <blockquote><p>“Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis.”</p></blockquote>
60
- <p>Aliquam erat volutpat. Sed quis velit. Nulla facilisi. Nulla libero.</p>
61
-
62
- <h3>Link tests</h3>
63
- <ul>
64
- <li><a id="l01" href="/">Relative path to root</a></li>
65
- <li><a id="l02" href="http://premailer.dialect.ca/">Absolute path to root</a></li>
66
- <li><a id="l03" href="http://example.com/">Different domain</a></li>
67
- <li><a id="l04" href="images/">Relative path to sub-directory</a></li>
68
- <li><a id="l05" href="#relative">Link is not converted</a></li>
69
- <li><a id="l06" href="http://example.com/test.html?cn=tf&amp;c=20&amp;ord=%%RANDOM%%">Funky ASP URL</a></li>
70
- <li><a id="l07" href="?query=string">Appends tracking query string</a></li>
71
- <li><a id="l08" href="{DONOTCONVERT}">Link is not converted</a></li>
72
- <li><a id="l09" href="[DONOTCONVERT]">Link is not converted</a></li>
73
- <li><a id="l10" href="<DONOTCONVERT>">Link is not converted</a></li>
74
- <li><a id="l11" href="mailto:premailer@example.com">mailto link</a></li>
75
- <li><a id="l12" href="ftp://example.com">FTP link</a></li>
76
- <li><a id="l13" href="gopher://gopher.floodgap.com/1/fun/twitpher">Gopher link</a></li>
77
- </ul>
78
-
79
-
80
-
81
- <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis.</p>
82
-
83
- <p>&nbsp;</p>
84
-
85
-
86
- </td>
87
- <td width="20">&#x00a0;</td>
88
- </tr>
89
- </table>
90
-
91
- <p class="section"><img src="dots_end.png" alt="---" width="499" height="75"></p>
92
- </td><!-- /#content -->
93
- <td class="gutter" width="60">&#x00a0;</td>
94
-
95
- <td class="frame" width="13">&#x00a0;</td>
96
- </tr>
97
-
98
- <tr>
99
- <td class="frame" width="13">&#x00a0;</td>
100
- <td colspan="4" width="620">
101
- <table summary="Contact information" cellspacing="0" cellpadding="0" width="620">
102
- <tr><td height="4" class="hairline">&#x00a0;</td></tr>
103
- <tr><td height="34"class="contact">&#x00a0;</td></tr>
104
- <tr>
105
-
106
- <td align="center" class="contact" id="contact_info">
107
- <p id="address">Premailer Test<br>
108
- <a href="http://dialect.ca/?utm_source=Premailer&utm_medium=Test+Suite&utm_campaign=Premailer">by Dialect</a><br>
109
- Vancouver Island, British Columbia<br>
110
- 250 555.2222</p>
111
- </td>
112
-
113
- </tr>
114
- <tr><td height="34"class="contact">&#x00a0;</td></tr>
115
- <tr><td height="4" class="hairline">&#x00a0;</td></tr>
116
- </table>
117
- </td>
118
- <td class="frame" width="13">&#x00a0;</td>
119
- </tr>
120
-
121
- <tr>
122
- <td class="frame" width="13">&#x00a0;</td>
123
-
124
- <td colspan="4" class="content" height="60">&#x00a0;</td>
125
- <td class="frame" width="13">&#x00a0;</td>
126
- </tr>
127
-
128
-
129
-
130
-
131
-
132
- <tr><td height="13" colspan="6" class="frame">&#x00a0;</td></tr>
133
- <tr><td height="22" colspan="6" >&#x00a0;</td></tr>
134
- <tr><td id="credit" colspan="6">Newsletter communications by<br><a href="http://dialect.ca/dialogue/?utm_source=Dialogue&utm_medium=Credit&utm_campaign=South+Hollow"><img src="inc/dialect.png" alt="Dialect" width="60" height="35" border="0"></a><br><unsubscribe>Click here to unsubscribe</unsubscribe></td></tr>
135
-
136
- </table>
137
-
138
- </div>
139
- </body>
140
- </html>