Module: Csso
- Defined in:
- lib/csso.rb,
lib/csso/cli.rb,
lib/csso/js_lib.rb,
lib/csso/railtie.rb,
lib/csso/version.rb,
lib/csso/compressor.rb
Defined Under Namespace
Modules: CLI
Classes: Compressor, JsLib, Optimizer, Railtie
Constant Summary
collapse
- VERSION =
'0.6.0'
- CSSO_JS_LIB =
'vendor/csso/csso.js'
Class Method Summary
collapse
Class Method Details
.install(sprockets) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/csso.rb', line 11
def self.install(sprockets)
unless sprockets
raise "no compatible sprockets found" unless Sprockets.respond_to? :register_compressor
Sprockets.register_compressor('text/css', :csso, Compressor)
return
end
if sprockets.respond_to? :register_compressor
sprockets.register_compressor('text/css', :csso, Compressor)
sprockets.css_compressor = :csso
else
Sprockets::Compressors.register_css_compressor(:csso, 'Csso::Compressor', :default => true)
end
end
|
.js_api ⇒ Object
7
8
9
|
# File 'lib/csso.rb', line 7
def self.js_api
@csso ||= Csso::JsLib.new
end
|
.optimize(css, maniac_mode = false, structural_optimization = true) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/csso.rb', line 25
def self.optimize(css, maniac_mode=false, structural_optimization=true)
if maniac_mode
maniac_mode = 4 unless maniac_mode.is_a?(Fixnum) && maniac_mode > 0
begin
prev_css = css
css = Optimizer.new.optimize(css, structural_optimization)
maniac_mode -= 1
end while maniac_mode > 0 && prev_css != css
css
else
Optimizer.new.optimize(css, structural_optimization)
end
end
|
.optimize_with_sourcemap(css, filename, structural_optimization = true) ⇒ Object
39
40
41
42
43
|
# File 'lib/csso.rb', line 39
def self.optimize_with_sourcemap css, filename, structural_optimization=true
return nil unless css.is_a?(String)
return css if css.size <= 3
Csso.js_api.compress_with_sourcemap(css, filename, structural_optimization)
end
|