inline_styles 1.0.4 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/lib/inline_styles.rb +4 -5
- data/test/test_inline_styles.rb +7 -6
- metadata +17 -6
data/Rakefile
CHANGED
@@ -10,9 +10,9 @@ begin
|
|
10
10
|
gem.email = "gitcommit@6brand.com"
|
11
11
|
gem.homepage = "http://github.com/JackDanger/inline_styles"
|
12
12
|
gem.authors = ["Jack Danger Canty"]
|
13
|
-
gem.add_dependency "
|
13
|
+
gem.add_dependency "nokogiri", ">= 0"
|
14
14
|
gem.add_dependency "css_parser", ">= 0"
|
15
|
-
gem.add_development_dependency "
|
15
|
+
gem.add_development_dependency "shoulda", ">= 0"
|
16
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
17
|
end
|
18
18
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
data/lib/inline_styles.rb
CHANGED
@@ -13,7 +13,7 @@ module InlineStyles
|
|
13
13
|
parser = CssParser::Parser.new
|
14
14
|
parser.add_block! css
|
15
15
|
|
16
|
-
tree =
|
16
|
+
tree = Nokogiri::HTML(html)
|
17
17
|
|
18
18
|
stable_sorter = 0
|
19
19
|
selectors = []
|
@@ -32,10 +32,9 @@ module InlineStyles
|
|
32
32
|
[selector.last, stable_sorter += 1]
|
33
33
|
end.each do |selector, declarations, spec|
|
34
34
|
# Find each element matching the given slector
|
35
|
-
(tree
|
35
|
+
(tree.css selector).each do |element|
|
36
36
|
|
37
37
|
next unless element.respond_to?(:[])
|
38
|
-
|
39
38
|
# Merge any previously-inlined style with the
|
40
39
|
# latest (higher specificity) one
|
41
40
|
element['style'] ||= ''
|
@@ -54,8 +53,8 @@ module InlineStyles
|
|
54
53
|
def require_dependencies
|
55
54
|
gem 'css_parser'
|
56
55
|
require 'css_parser'
|
57
|
-
gem '
|
58
|
-
require '
|
56
|
+
gem 'nokogiri'
|
57
|
+
require 'nokogiri'
|
59
58
|
end
|
60
59
|
end
|
61
60
|
|
data/test/test_inline_styles.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__)
|
1
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '/helper'))
|
2
2
|
|
3
3
|
class TestInlineStyles < Test::Unit::TestCase
|
4
4
|
|
@@ -25,7 +25,7 @@ EOHTML
|
|
25
25
|
context "Applying CSS to HTML" do
|
26
26
|
setup {
|
27
27
|
@inline = InlineStyles::Page.new(HTML).apply(CSS)
|
28
|
-
@tree =
|
28
|
+
@tree = Nokogiri::HTML(@inline)
|
29
29
|
}
|
30
30
|
should "apply <div> style to each <div>" do
|
31
31
|
(@tree/:div).each do |element|
|
@@ -70,15 +70,16 @@ EOHTML
|
|
70
70
|
end
|
71
71
|
should "render inline html exactly as expected" do
|
72
72
|
assert_equal <<-NEWHTML, @inline
|
73
|
-
|
73
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
74
|
+
<html><body>
|
74
75
|
<div style="display: block;"> Welcome </div>
|
75
76
|
<small style="font-size: 0.7em;"> stay awhile! </small>
|
76
77
|
<div style="display: block;">
|
77
78
|
<small style="font-size: 14px;">
|
78
|
-
<img src="i.png" style="border: 1px solid #000;"
|
79
|
-
</small>
|
79
|
+
<img src="i.png" style="border: 1px solid #000;"></small>
|
80
80
|
|
81
|
-
</div
|
81
|
+
</div>
|
82
|
+
</body></html>
|
82
83
|
NEWHTML
|
83
84
|
end
|
84
85
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inline_styles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 19
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
8
|
+
- 1
|
7
9
|
- 0
|
8
|
-
|
9
|
-
version: 1.0.4
|
10
|
+
version: 1.1.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Jack Danger Canty
|
@@ -14,16 +15,18 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-09-20 00:00:00 -07:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
22
|
+
name: nokogiri
|
22
23
|
prerelease: false
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
@@ -33,21 +36,25 @@ dependencies:
|
|
33
36
|
name: css_parser
|
34
37
|
prerelease: false
|
35
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
36
40
|
requirements:
|
37
41
|
- - ">="
|
38
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
39
44
|
segments:
|
40
45
|
- 0
|
41
46
|
version: "0"
|
42
47
|
type: :runtime
|
43
48
|
version_requirements: *id002
|
44
49
|
- !ruby/object:Gem::Dependency
|
45
|
-
name:
|
50
|
+
name: shoulda
|
46
51
|
prerelease: false
|
47
52
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
48
54
|
requirements:
|
49
55
|
- - ">="
|
50
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
51
58
|
segments:
|
52
59
|
- 0
|
53
60
|
version: "0"
|
@@ -80,23 +87,27 @@ rdoc_options:
|
|
80
87
|
require_paths:
|
81
88
|
- lib
|
82
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
83
91
|
requirements:
|
84
92
|
- - ">="
|
85
93
|
- !ruby/object:Gem::Version
|
94
|
+
hash: 3
|
86
95
|
segments:
|
87
96
|
- 0
|
88
97
|
version: "0"
|
89
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
90
100
|
requirements:
|
91
101
|
- - ">="
|
92
102
|
- !ruby/object:Gem::Version
|
103
|
+
hash: 3
|
93
104
|
segments:
|
94
105
|
- 0
|
95
106
|
version: "0"
|
96
107
|
requirements: []
|
97
108
|
|
98
109
|
rubyforge_project:
|
99
|
-
rubygems_version: 1.3.
|
110
|
+
rubygems_version: 1.3.7
|
100
111
|
signing_key:
|
101
112
|
specification_version: 3
|
102
113
|
summary: Squish a CSS stylesheet into any semantic HTML
|