inline_styles 1.0.4 → 1.1.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.
- 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
|