csso-rails 0.3.2 → 0.3.3
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.
- checksums.yaml +7 -0
- data/Gemfile.lock +1 -1
- data/Rakefile +9 -3
- data/bin/ruby_csso +2 -21
- data/lib/csso/cli.rb +44 -0
- data/lib/csso/version.rb +1 -1
- data/vendor/csso/csso.js +6 -6
- metadata +14 -27
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f348466dbf9fcc505bfac786253c5015f5b75e41
|
4
|
+
data.tar.gz: e6429cbdbe44a344e4913aee08b545eb8139bbc7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fc6c958f36d17d9e59894d9db0a2d987e0c7fd7a645a6edae72261412da36e6eb4f5420dac23fa59864f10ec9aeb3c5e51b6623cab7a03e28c9467cfd1dc31b2
|
7
|
+
data.tar.gz: 80b063cba7ed2f87b66575c98d33e6920f4756cea73d7aa7391aed09286ddf365f293370d8d013c2cc3f39f5bd7448f922ced6cbb9d9a013f6479cad10c7af09
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -25,7 +25,8 @@ file 'csso' do
|
|
25
25
|
}
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
desc "updates csso repo"
|
29
|
+
task :update_csso_repo => :csso do
|
29
30
|
#??
|
30
31
|
Dir.chdir('csso'){
|
31
32
|
puts 'Updating csso...'
|
@@ -41,8 +42,10 @@ file Csso::CSSO_JS_LIB => [lib_template, 'csso', 'vendor/csso', 'csso/.git/HEAD'
|
|
41
42
|
`erb #{lib_template} > #{Csso::CSSO_JS_LIB}`
|
42
43
|
end
|
43
44
|
|
44
|
-
|
45
|
+
desc "Generate bundled csso from repo"
|
46
|
+
task :generate_files => [:csso, Csso::CSSO_JS_LIB]
|
45
47
|
|
48
|
+
desc "Clean generated files"
|
46
49
|
task :rm_generated do
|
47
50
|
puts "Removing #{Csso::CSSO_JS_LIB}"
|
48
51
|
`rm #{Csso::CSSO_JS_LIB}`
|
@@ -50,4 +53,7 @@ end
|
|
50
53
|
|
51
54
|
task :regenerate => [:rm_generated, :generate_files]
|
52
55
|
|
53
|
-
|
56
|
+
desc "Update CSSO"
|
57
|
+
task :update_csso => [:rm_generated, :update_csso_repo, :generate_files]
|
58
|
+
|
59
|
+
task :build => :generate_files
|
data/bin/ruby_csso
CHANGED
@@ -1,25 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'csso-rails'
|
4
|
+
require 'csso/cli'
|
4
5
|
|
5
|
-
|
6
|
-
puts <<-HLP
|
7
|
-
csso- CSS Optimizer (ruby bindings by vasfed)
|
8
|
-
Usage:
|
9
|
-
$ ruby_csso < style.css - read stdin and output to stdout
|
10
|
-
$ ruby_csso file1.css [file2.css [...]] - read all files and output to stdout (concatenating, no optimization between files yet)
|
11
|
-
--help - print this help
|
12
|
-
--maniac - enable maniac mode (optimize file multiple times until optimization stops to give any results)
|
13
|
-
HLP
|
14
|
-
end
|
15
|
-
|
16
|
-
maniac = ARGV.delete('--maniac') && true || false
|
17
|
-
|
18
|
-
if ($stdin.tty? && ARGV.empty?) || ARGV.delete('-h') || ARGV.delete('--help')
|
19
|
-
help
|
20
|
-
else
|
21
|
-
# Well, lets read those files
|
22
|
-
css = ARGF.read
|
23
|
-
|
24
|
-
puts Csso.optimize(css, maniac)
|
25
|
-
end
|
6
|
+
Csso::CLI.run!
|
data/lib/csso/cli.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
#encofing: utf-8
|
2
|
+
|
3
|
+
require 'optparse'
|
4
|
+
|
5
|
+
module Csso
|
6
|
+
module CLI
|
7
|
+
def self.run!(argv=ARGV)
|
8
|
+
maniac = false
|
9
|
+
opts = OptionParser.new do |opts|
|
10
|
+
opts.version = Csso::VERSION
|
11
|
+
opts.banner = "CSS Optimizer (ruby bindings by vasfed) version #{opts.version}"
|
12
|
+
opts.separator ""
|
13
|
+
opts.separator "Usage:"
|
14
|
+
opts.separator " #{opts.program_name} [options] FILE [FILE2 [FILE3 [...]]"
|
15
|
+
opts.separator " #{opts.program_name} [options] < some_file.css"
|
16
|
+
opts.separator ""
|
17
|
+
opts.separator "All input files are concatenated and fed to stdout after processing."
|
18
|
+
opts.separator ""
|
19
|
+
|
20
|
+
opts.separator "Options:"
|
21
|
+
opts.on("-m", "--[no-]maniac", "\"Maniac mode\" optimizes input multiple times until optimization stops to give any results.") do |v|
|
22
|
+
maniac = v
|
23
|
+
end
|
24
|
+
|
25
|
+
opts.on_tail("-v", "--version", "Print version information") do
|
26
|
+
return puts opts.ver
|
27
|
+
end
|
28
|
+
opts.on_tail("-h", "--help", "Show this message") do
|
29
|
+
return puts opts.help
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
opts.parse!(argv)
|
34
|
+
|
35
|
+
if $stdin.tty? && argv.empty?
|
36
|
+
return puts opts.help
|
37
|
+
end
|
38
|
+
|
39
|
+
ARGV.replace(argv)
|
40
|
+
css = ARGF.read
|
41
|
+
puts Csso.optimize(css, maniac)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/csso/version.rb
CHANGED
data/vendor/csso/csso.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
THIS FILE IS AUTOGENERATED! DO NOT EDIT!
|
3
3
|
See lib/csso/csso.js.erb instead.
|
4
4
|
|
5
|
-
Based on CSSO 1.3.
|
5
|
+
Based on CSSO 1.3.10 revision ed443db03803fb9e04918e1c6307053c2a731160
|
6
6
|
*/
|
7
7
|
|
8
8
|
console = {
|
@@ -162,7 +162,7 @@ function getTokens(s) {
|
|
162
162
|
if (c === '/' && cn === '*') {
|
163
163
|
parseMLComment(s);
|
164
164
|
} else if (!urlMode && c === '/' && cn === '/') {
|
165
|
-
if (blockMode > 0) parseIdentifier(s);
|
165
|
+
if (blockMode > 0) parseIdentifier(s);
|
166
166
|
else parseSLComment(s);
|
167
167
|
} else if (c === '"' || c === "'") {
|
168
168
|
parseString(s, c);
|
@@ -593,8 +593,8 @@ function getCSSPAST(_tokens, rule, _needInfo) {
|
|
593
593
|
}
|
594
594
|
|
595
595
|
function getAttrib() {
|
596
|
-
if (checkAttrib1(pos)) return getAttrib1();
|
597
|
-
if (checkAttrib2(pos)) return getAttrib2();
|
596
|
+
if (checkAttrib1(pos)) return getAttrib1();
|
597
|
+
if (checkAttrib2(pos)) return getAttrib2();
|
598
598
|
}
|
599
599
|
|
600
600
|
//attrselector = (seq('=') | seq('~=') | seq('^=') | seq('$=') | seq('*=') | seq('|=')):x -> [#attrselector, x]
|
@@ -1330,7 +1330,7 @@ function getCSSPAST(_tokens, rule, _needInfo) {
|
|
1330
1330
|
(tokens[_i].type !== TokenType.DecimalNumber || !wasIdent)
|
1331
1331
|
) break;
|
1332
1332
|
else wasIdent = true;
|
1333
|
-
}
|
1333
|
+
}
|
1334
1334
|
}
|
1335
1335
|
|
1336
1336
|
if (!wasIdent && tokens[start].type !== TokenType.Asterisk) return fail(tokens[_i]);
|
@@ -3477,7 +3477,7 @@ CSSOCompressor.prototype.getVendorFromString = function(string) {
|
|
3477
3477
|
var vendor = string.charAt(0), i;
|
3478
3478
|
if (vendor === '-') {
|
3479
3479
|
if ((i = string.indexOf('-', 2)) !== -1) return string.substr(0, i + 1);
|
3480
|
-
}
|
3480
|
+
}
|
3481
3481
|
return '';
|
3482
3482
|
};
|
3483
3483
|
|
metadata
CHANGED
@@ -1,62 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: csso-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Vasily Fedoseyev
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: execjs
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: minitest
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
description: Invoke the CSSO from Ruby
|
@@ -77,6 +70,7 @@ files:
|
|
77
70
|
- csso-rails.gemspec
|
78
71
|
- lib/csso-rails.rb
|
79
72
|
- lib/csso.rb
|
73
|
+
- lib/csso/cli.rb
|
80
74
|
- lib/csso/compressor.rb
|
81
75
|
- lib/csso/csso.js.erb
|
82
76
|
- lib/csso/js_lib.rb
|
@@ -87,33 +81,26 @@ files:
|
|
87
81
|
homepage: https://github.com/Vasfed/csso-rails
|
88
82
|
licenses:
|
89
83
|
- MIT
|
84
|
+
metadata: {}
|
90
85
|
post_install_message:
|
91
86
|
rdoc_options: []
|
92
87
|
require_paths:
|
93
88
|
- lib
|
94
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
90
|
requirements:
|
97
|
-
- -
|
91
|
+
- - '>='
|
98
92
|
- !ruby/object:Gem::Version
|
99
93
|
version: '0'
|
100
|
-
segments:
|
101
|
-
- 0
|
102
|
-
hash: -4417280419298130483
|
103
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
95
|
requirements:
|
106
|
-
- -
|
96
|
+
- - '>='
|
107
97
|
- !ruby/object:Gem::Version
|
108
98
|
version: '0'
|
109
|
-
segments:
|
110
|
-
- 0
|
111
|
-
hash: -4417280419298130483
|
112
99
|
requirements: []
|
113
100
|
rubyforge_project: csso-rails
|
114
|
-
rubygems_version:
|
101
|
+
rubygems_version: 2.0.14
|
115
102
|
signing_key:
|
116
|
-
specification_version:
|
103
|
+
specification_version: 4
|
117
104
|
summary: CSS Stylesheet optimizer/compressor for Rails
|
118
105
|
test_files:
|
119
106
|
- spec/csso/csso_spec.rb
|