html_minifier 0.0.3 → 0.0.4
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/.travis.yml +1 -0
- data/Gemfile +3 -1
- data/README.md +1 -1
- data/Rakefile +6 -3
- data/html_minifier.gemspec +2 -2
- data/lib/html_minifier/minifier.rb +5 -3
- data/lib/html_minifier/version.rb +1 -1
- data/lib/js/console.js +1 -1
- data/spec/qunit_helper.js +1 -1
- metadata +42 -17
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -7,10 +7,12 @@ gemspec
|
|
7
7
|
execjs_runtimes = {
|
8
8
|
"RubyRacer" => "therubyracer",
|
9
9
|
"RubyRhino" => "therubyrhino",
|
10
|
-
"Mustang" => "mustang"
|
11
10
|
}
|
12
11
|
|
13
12
|
if ENV["EXECJS_RUNTIME"] && execjs_runtimes[ENV["EXECJS_RUNTIME"]]
|
14
13
|
gem execjs_runtimes[ENV["EXECJS_RUNTIME"]], :group => :development
|
14
|
+
if execjs_runtimes[ENV["EXECJS_RUNTIME"]] == "therubyracer"
|
15
|
+
gem 'libv8', '~> 3.11.8', :group => :development
|
16
|
+
end
|
15
17
|
end
|
16
18
|
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# HtmlMinifier
|
2
2
|
[](http://travis-ci.org/stereobooster/html_minifier)
|
3
3
|
|
4
|
-
Ruby wrapper for [html-minifier](https://github.com/kangax/html-minifier/).
|
4
|
+
Ruby wrapper for js library [html-minifier](https://github.com/kangax/html-minifier/). If you want pure ruby use [html_press](https://github.com/stereobooster/html_press)
|
5
5
|
|
6
6
|
## Installation
|
7
7
|
|
data/Rakefile
CHANGED
@@ -14,15 +14,18 @@ Submodule::Task.new do |t|
|
|
14
14
|
%w{htmlparser htmllint htmlminifier}.each do |i|
|
15
15
|
js << File.open("src/#{i}.js", "r:UTF-8").read
|
16
16
|
end
|
17
|
-
js << File.open("tests/qunit.js", "r:UTF-8").read
|
17
|
+
js << File.open("tests/qunit.js", "r:UTF-8").read.gsub('}( (function() {return this;}.call()) ));', '}( this ));')
|
18
18
|
js << File.open(File.expand_path("../spec/qunit_helper.js", __FILE__), "r:UTF-8").read
|
19
19
|
%w{minify_test lint_test}.each do |i|
|
20
20
|
js << File.open("tests/#{i}.js", "r:UTF-8").read
|
21
21
|
end
|
22
22
|
|
23
|
+
js = js.join("\n")
|
24
|
+
js = "function globe(){#{js};return this};var global = new globe();"
|
25
|
+
|
23
26
|
require "execjs"
|
24
|
-
context = ExecJS.compile js
|
25
|
-
result = context.exec "return QUnit.result();"
|
27
|
+
context = ExecJS.compile js
|
28
|
+
result = context.exec "return global.QUnit.result();"
|
26
29
|
if result["fail"] > 0 && result["assertions"].respond_to?(:each)
|
27
30
|
puts "Failures:"
|
28
31
|
i = 1
|
data/html_minifier.gemspec
CHANGED
@@ -5,7 +5,7 @@ require "html_minifier/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "html_minifier"
|
7
7
|
s.version = HtmlMinifier::VERSION
|
8
|
-
s.authors = ["
|
8
|
+
s.authors = ["stereobooster"]
|
9
9
|
s.email = ["stereobooster@gmail.com"]
|
10
10
|
s.homepage = "https://github.com/stereobooster/html_minifier"
|
11
11
|
s.summary = %q{Ruby wrapper for kangax js library html-minifier. If you want pure ruby use html_press}
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
|
19
19
|
s.add_development_dependency "rspec"
|
20
20
|
s.add_development_dependency "submodule", ">= 0.1.0"
|
21
|
-
s.
|
21
|
+
s.add_development_dependency "rake"
|
22
22
|
|
23
23
|
s.add_dependency "multi_json", ">= 1.3"
|
24
24
|
s.add_dependency "execjs"
|
@@ -23,6 +23,7 @@ module HtmlMinifier
|
|
23
23
|
js = %w{console htmlparser htmllint htmlminifier}.map do |i|
|
24
24
|
File.open("#{SourceBasePath}/#{i}.js", "r:UTF-8").read
|
25
25
|
end.join("\n")
|
26
|
+
js = "function globe(){#{js};return this};var global = new globe();"
|
26
27
|
@context = ExecJS.compile(js)
|
27
28
|
end
|
28
29
|
|
@@ -30,11 +31,12 @@ module HtmlMinifier
|
|
30
31
|
source = source.respond_to?(:read) ? source.read : source.to_s
|
31
32
|
js = []
|
32
33
|
if @options.nil? then
|
33
|
-
js << "var min = minify(#{MultiJson.dump(source)});"
|
34
|
+
js << "var min = global.minify(#{MultiJson.dump(source)});"
|
34
35
|
else
|
35
|
-
js << "var min = minify(#{MultiJson.dump(source)}, #{MultiJson.dump(@options)});"
|
36
|
+
js << "var min = global.minify(#{MultiJson.dump(source)}, #{MultiJson.dump(@options)});"
|
36
37
|
end
|
37
|
-
js << "return {min:min, logs:console.clear()};"
|
38
|
+
js << "return {min:min, logs:global.console.clear()};"
|
39
|
+
|
38
40
|
result = @context.exec js.join("\n")
|
39
41
|
if @log.respond_to?(:info)
|
40
42
|
result["logs"].each do |i|
|
data/lib/js/console.js
CHANGED
data/spec/qunit_helper.js
CHANGED
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html_minifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
|
-
-
|
8
|
+
- stereobooster
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: submodule
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,21 +37,31 @@ dependencies:
|
|
32
37
|
version: 0.1.0
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.1.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rake
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
53
|
version: '0'
|
44
|
-
type: :
|
54
|
+
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: multi_json
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '1.3'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.3'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: execjs
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,7 +85,12 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
description: Ruby wrapper for kangax js library html-minifier. If you want pure ruby
|
70
95
|
use html_press
|
71
96
|
email:
|
@@ -107,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
107
132
|
version: '0'
|
108
133
|
segments:
|
109
134
|
- 0
|
110
|
-
hash: -
|
135
|
+
hash: -889560111
|
111
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
137
|
none: false
|
113
138
|
requirements:
|
@@ -116,10 +141,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
116
141
|
version: '0'
|
117
142
|
segments:
|
118
143
|
- 0
|
119
|
-
hash: -
|
144
|
+
hash: -889560111
|
120
145
|
requirements: []
|
121
146
|
rubyforge_project:
|
122
|
-
rubygems_version: 1.8.
|
147
|
+
rubygems_version: 1.8.24
|
123
148
|
signing_key:
|
124
149
|
specification_version: 3
|
125
150
|
summary: Ruby wrapper for kangax js library html-minifier. If you want pure ruby use
|