premailer 1.8.6 → 1.8.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/bin/premailer +0 -1
- data/lib/premailer/adapter.rb +6 -2
- data/lib/premailer/adapter/hpricot.rb +12 -2
- data/lib/premailer/adapter/nokogiri.rb +8 -6
- data/lib/premailer/adapter/nokogumbo.rb +243 -0
- data/lib/premailer/html_to_plain_text.rb +9 -15
- data/lib/premailer/premailer.rb +11 -10
- data/lib/premailer/version.rb +1 -1
- metadata +64 -69
- data/.gitignore +0 -12
- data/.jrubyrc +0 -1
- data/.travis.yml +0 -34
- data/.yardopts +0 -9
- data/Gemfile +0 -16
- data/gemfiles/.ruby187.gemfile +0 -21
- data/init.rb +0 -1
- data/local-premailer +0 -9
- data/premailer.gemspec +0 -30
- data/rakefile.rb +0 -62
- data/test/files/base.html +0 -140
- data/test/files/chars.html +0 -6
- data/test/files/contact_bg.png +0 -0
- data/test/files/dialect.png +0 -0
- data/test/files/dots_end.png +0 -0
- data/test/files/dots_h.gif +0 -0
- data/test/files/html4.html +0 -12
- data/test/files/html_with_uri.html +0 -9
- data/test/files/ignore.css +0 -3
- data/test/files/ignore.html +0 -15
- data/test/files/import.css +0 -13
- data/test/files/inc/2009-placeholder.png +0 -0
- data/test/files/iso-8859-2.html +0 -1
- data/test/files/iso-8859-5.html +0 -8
- data/test/files/no_css.html +0 -11
- data/test/files/noimport.css +0 -13
- data/test/files/styles.css +0 -106
- data/test/files/xhtml.html +0 -11
- data/test/future_tests.rb +0 -50
- data/test/helper.rb +0 -42
- data/test/test_adapter.rb +0 -29
- data/test/test_html_to_plain_text.rb +0 -184
- data/test/test_links.rb +0 -207
- data/test/test_misc.rb +0 -373
- data/test/test_premailer.rb +0 -347
- data/test/test_warnings.rb +0 -95
data/lib/premailer/version.rb
CHANGED
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.
|
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:
|
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.
|
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.
|
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:
|
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.
|
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
data/.jrubyrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
cext.enabled=true
|
data/.travis.yml
DELETED
@@ -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
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]
|
data/gemfiles/.ruby187.gemfile
DELETED
@@ -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'
|
data/local-premailer
DELETED
data/premailer.gemspec
DELETED
@@ -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
|
-
|
data/rakefile.rb
DELETED
@@ -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]
|
data/test/files/base.html
DELETED
@@ -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"> </td></tr>
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
<table width="646" class="container" cellspacing="0" cellpadding="0">
|
35
|
-
|
36
|
-
<tr>
|
37
|
-
<td class="frame" width="13"> </td>
|
38
|
-
<td class="gutter" width="60"> </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"> </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 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. <a href="http://premailer.dialect.ca/">Nulla facilisi</a>. Nulla libero.</p>
|
54
|
-
|
55
|
-
<p attr="another quote">Here’s a quote. Here’s a quote. “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&c=20&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> </p>
|
84
|
-
|
85
|
-
|
86
|
-
</td>
|
87
|
-
<td width="20"> </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"> </td>
|
94
|
-
|
95
|
-
<td class="frame" width="13"> </td>
|
96
|
-
</tr>
|
97
|
-
|
98
|
-
<tr>
|
99
|
-
<td class="frame" width="13"> </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"> </td></tr>
|
103
|
-
<tr><td height="34"class="contact"> </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"> </td></tr>
|
115
|
-
<tr><td height="4" class="hairline"> </td></tr>
|
116
|
-
</table>
|
117
|
-
</td>
|
118
|
-
<td class="frame" width="13"> </td>
|
119
|
-
</tr>
|
120
|
-
|
121
|
-
<tr>
|
122
|
-
<td class="frame" width="13"> </td>
|
123
|
-
|
124
|
-
<td colspan="4" class="content" height="60"> </td>
|
125
|
-
<td class="frame" width="13"> </td>
|
126
|
-
</tr>
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
<tr><td height="13" colspan="6" class="frame"> </td></tr>
|
133
|
-
<tr><td height="22" colspan="6" > </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>
|