compass 0.11.3 → 0.11.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/VERSION.yml +1 -1
  2. data/features/command_line.feature +9 -0
  3. data/features/step_definitions/command_line_steps.rb +7 -0
  4. data/frameworks/blueprint/stylesheets/blueprint/_debug.scss +2 -2
  5. data/frameworks/blueprint/stylesheets/blueprint/_form.scss +1 -1
  6. data/frameworks/compass/stylesheets/compass/css3/_box-shadow.scss +4 -1
  7. data/frameworks/compass/stylesheets/compass/css3/_font-face.scss +1 -1
  8. data/frameworks/compass/stylesheets/compass/css3/_images.scss +1 -4
  9. data/frameworks/compass/stylesheets/compass/css3/_opacity.scss +1 -4
  10. data/frameworks/compass/stylesheets/compass/css3/_text-shadow.scss +2 -0
  11. data/frameworks/compass/stylesheets/compass/css3/_transition.scss +35 -1
  12. data/frameworks/compass/stylesheets/compass/typography/_text.scss +1 -0
  13. data/frameworks/compass/stylesheets/compass/typography/_vertical_rhythm.scss +74 -14
  14. data/frameworks/compass/stylesheets/compass/typography/text/_force-wrap.scss +12 -0
  15. data/lib/compass.rb +1 -1
  16. data/lib/compass/commands/base.rb +9 -1
  17. data/lib/compass/commands/project_base.rb +2 -2
  18. data/lib/compass/commands/update_project.rb +2 -1
  19. data/lib/compass/compiler.rb +5 -2
  20. data/lib/compass/configuration.rb +2 -1
  21. data/lib/compass/configuration/adapters.rb +2 -2
  22. data/lib/compass/configuration/defaults.rb +4 -0
  23. data/lib/compass/exec/sub_command_ui.rb +4 -3
  24. data/lib/compass/sass_extensions/functions/inline_image.rb +2 -0
  25. data/lib/compass/sass_extensions/sprites/engines/chunky_png_engine.rb +3 -2
  26. data/test/fixtures/stylesheets/blueprint/css/screen.css +5 -5
  27. data/test/fixtures/stylesheets/blueprint/css/single-imports/debug.css +4 -4
  28. data/test/fixtures/stylesheets/blueprint/css/single-imports/form.css +1 -1
  29. data/test/fixtures/stylesheets/compass/css/force-wrap.css +9 -0
  30. data/test/fixtures/stylesheets/compass/css/gradients.css +0 -3
  31. data/test/fixtures/stylesheets/compass/css/opacity.css +0 -1
  32. data/test/fixtures/stylesheets/compass/sass/force-wrap.scss +3 -0
  33. data/test/fixtures/stylesheets/compass/tmp/border_radius.css +23 -0
  34. data/test/fixtures/stylesheets/compass/tmp/box.css +103 -0
  35. data/test/fixtures/stylesheets/compass/tmp/box_shadow.css +17 -0
  36. data/test/fixtures/stylesheets/compass/tmp/columns.css +47 -0
  37. data/test/fixtures/stylesheets/compass/tmp/fonts.css +4 -0
  38. data/test/fixtures/stylesheets/compass/tmp/force-wrap.css +9 -0
  39. data/test/fixtures/stylesheets/compass/tmp/gradients.css +576 -0
  40. data/test/fixtures/stylesheets/compass/tmp/grid_background.css +78 -0
  41. data/test/fixtures/stylesheets/compass/tmp/image_size.css +15 -0
  42. data/test/fixtures/stylesheets/compass/tmp/images.css +8 -0
  43. data/test/fixtures/stylesheets/compass/tmp/layout.css +16 -0
  44. data/test/fixtures/stylesheets/compass/tmp/legacy_clearfix.css +26 -0
  45. data/test/fixtures/stylesheets/compass/tmp/lists.css +153 -0
  46. data/test/fixtures/stylesheets/compass/tmp/opacity.css +3 -0
  47. data/test/fixtures/stylesheets/compass/tmp/pie.css +28 -0
  48. data/test/fixtures/stylesheets/compass/tmp/print.css +11 -0
  49. data/test/fixtures/stylesheets/compass/tmp/reset.css +60 -0
  50. data/test/fixtures/stylesheets/compass/tmp/sprites.css +1262 -0
  51. data/test/fixtures/stylesheets/compass/tmp/stretching.css +66 -0
  52. data/test/fixtures/stylesheets/compass/tmp/text_shadow.css +14 -0
  53. data/test/fixtures/stylesheets/compass/tmp/transform.css +333 -0
  54. data/test/fixtures/stylesheets/compass/tmp/utilities.css +36 -0
  55. data/test/fixtures/stylesheets/compass/tmp/vertical_rhythm.css +42 -0
  56. metadata +78 -3
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 11
4
- :patch: 3
4
+ :patch: 4
5
5
  :name: Antares
@@ -63,6 +63,15 @@ Feature: Command Line
63
63
  And I am told that I can place stylesheets in the sass subdirectory
64
64
  And I am told how to compile my sass stylesheets
65
65
 
66
+ Scenario: Compiling a project with errors
67
+ Given I am using the existing project in test/fixtures/stylesheets/compass
68
+ And the project has a file named "sass/error.scss" containing:
69
+ """
70
+ .broken {
71
+ """
72
+ When I run: compass compile
73
+ Then the command exits with a non-zero error code
74
+
66
75
  Scenario: Creating a bare project with a framework
67
76
  When I create a project using: compass create bare_project --using blueprint --bare
68
77
  Then an error message is printed out: A bare project cannot be created when a framework is specified.
@@ -53,6 +53,13 @@ Given /^I should clean up the directory: (\w+)$/ do |directory|
53
53
  @cleanup_directories << directory
54
54
  end
55
55
 
56
+ Given %r{^the project has a file named "([^"]*)" containing:$} do |arg1, string|
57
+ File.open(arg1, "w") do |f|
58
+ f << string
59
+ end
60
+ end
61
+
62
+
56
63
  # When Actions are performed
57
64
  When /^I create a project using: compass create ([^\s]+) ?(.+)?$/ do |dir, args|
58
65
  @cleanup_directories << dir
@@ -1,5 +1,5 @@
1
1
  @import "compass/layout/grid-background";
2
- @import "blueprint/grid";
2
+ @import "grid", "typography";
3
3
 
4
4
  // Shows a background that can be used to check grid alignment.
5
5
  // By default this is a pure css version that only works in browsers
@@ -14,7 +14,7 @@
14
14
  $total : $blueprint-grid-columns,
15
15
  $column : $blueprint-grid-width,
16
16
  $gutter : $blueprint-grid-margin,
17
- $baseline : 20px
17
+ $baseline : $blueprint-font-size * 1.5
18
18
  );
19
19
  }
20
20
  }
@@ -59,7 +59,7 @@
59
59
  background-color:#fff;
60
60
  border: 1px solid $unfocused-border-color;
61
61
  &:focus {
62
- border: 1px solid $focus-border-color;
62
+ border-color: $focus-border-color;
63
63
  }
64
64
  }
65
65
  select { background-color:#fff; border-width:1px; border-style:solid; }
@@ -24,7 +24,10 @@ $default-box-shadow-spread : false !default;
24
24
  // The default shadow inset: inset or false (for standard shadow).
25
25
  $default-box-shadow-inset : false !default;
26
26
 
27
- // Provides cross-browser for Webkit, Gecko, and CSS3 box shadows when one or more box shadows are needed.
27
+ // Provides cross-browser for Webkit, Gecko, and CSS3 box shadows when one or more box
28
+ // shadows are needed.
29
+ // Each shadow argument should adhere to the standard css3 syntax for the
30
+ // box-shadow property.
28
31
  @mixin box-shadow(
29
32
  $shadow-1 : default,
30
33
  $shadow-2 : false,
@@ -15,7 +15,7 @@
15
15
  //
16
16
  // Example:
17
17
  //
18
- // +font-face("this name", font-files("this.woff", "woff", "this.otf", "opentype"), "this.eot")
18
+ // @include font-face("this name", font-files("this.woff", woff, "this.otf", opentype), "this.eot")
19
19
  @mixin font-face(
20
20
  $name,
21
21
  $font-files,
@@ -83,10 +83,7 @@
83
83
  @mixin filter-gradient($start-color, $end-color, $orientation: vertical) {
84
84
  @include has-layout;
85
85
  $gradient-type: if($orientation == vertical, 0, 1);
86
- @if $legacy-support-for-ie8 {
87
- -ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=#{$gradient-type}, startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}')";
88
- }
89
- @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
86
+ @if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {
90
87
  filter: progid:DXImageTransform.Microsoft.gradient(gradientType=#{$gradient-type}, startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}');
91
88
  }
92
89
  }
@@ -6,10 +6,7 @@
6
6
  // A number between 0 and 1, where 0 is transparent and 1 is opaque.
7
7
 
8
8
  @mixin opacity($opacity) {
9
- @if $legacy-support-for-ie8 {
10
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})";
11
- }
12
- @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
9
+ @if $legacy-support-for-ie6 or $legacy-support-for-ie7 or $legacy-support-for-ie8 {
13
10
  filter: unquote("progid:DXImageTransform.Microsoft.Alpha(Opacity=#{round($opacity * 100)})");
14
11
  }
15
12
  opacity: $opacity;
@@ -9,6 +9,8 @@ $default-text-shadow-v-offset: 0px !default;
9
9
  $default-text-shadow-blur: 1px !default;
10
10
 
11
11
  // Provides cross-browser text shadows when one or more shadows are needed.
12
+ // Each shadow argument should adhere to the standard css3 syntax for the
13
+ // text-shadow property.
12
14
  @mixin text-shadow(
13
15
  $shadow-1 : default,
14
16
  $shadow-2 : false,
@@ -72,7 +72,7 @@ $default-transition-delay: false !default;
72
72
 
73
73
  // Transition all-in-one shorthand
74
74
 
75
- @mixin transition(
75
+ @mixin single-transition(
76
76
  $properties: $default-transition-property,
77
77
  $duration: $default-transition-duration,
78
78
  $function: $default-transition-function,
@@ -83,3 +83,37 @@ $default-transition-delay: false !default;
83
83
  @if $function { @include transition-timing-function($function); }
84
84
  @if $delay { @include transition-delay($delay); }
85
85
  }
86
+
87
+ @mixin transition(
88
+ $transition-1 : default,
89
+ $transition-2 : false,
90
+ $transition-3 : false,
91
+ $transition-4 : false,
92
+ $transition-5 : false,
93
+ $transition-6 : false,
94
+ $transition-7 : false,
95
+ $transition-8 : false,
96
+ $transition-9 : false,
97
+ $transition-10: false
98
+ ) {
99
+ $legacy: (type-of($transition-1) == string and type-of(if($transition-2, $transition-2, 0)) == number and type-of(if($transition-3, $transition-3, '')) == string and type-of(if($transition-4, $transition-4, 0)) == number and ($transition-2 or $transition-3 or $transition-4));
100
+ @if $legacy {
101
+ @warn "Passing separate arguments for a single transition to transition is deprecated. " +
102
+ "Pass the values as a single space-separated list, or use the single-transition mixin.";
103
+ @include single-transition(
104
+ if($transition-1, $transition-1, $default-transition-property),
105
+ if($transition-2, $transition-2, $default-transition-duration),
106
+ if($transition-3, $transition-3, $default-transition-funciton),
107
+ if($transition-4, $transition-4, $default-transition-delay)
108
+ );
109
+ }
110
+ @else {
111
+ @if $transition-1 == default {
112
+ $transition-1 : -compass-space-list(compact($default-transition-property, $default-transition-duration, $default-transition-function, $default-transition-delay));
113
+ }
114
+ $transition : compact($transition-1, $transition-2, $transition-3, $transition-4, $transition-5, $transition-6, $transition-7, $transition-8, $transition-9, $transition-10);
115
+ @include experimental(transition, $transition,
116
+ -moz, -webkit, -o, not -ms, not -khtml, official
117
+ );
118
+ }
119
+ }
@@ -1,3 +1,4 @@
1
1
  @import "text/ellipsis";
2
2
  @import "text/nowrap";
3
3
  @import "text/replacement";
4
+ @import "text/force-wrap";
@@ -10,22 +10,47 @@ $default-rhythm-border-style: solid !default;
10
10
  // The IE font ratio is a fact of life. Deal with it.
11
11
  $ie-font-ratio: 16px / 100%;
12
12
 
13
+ // Set to false if you want to use absolute pixes in sizing your typography.
14
+ $relative-font-sizing: true !default;
15
+
16
+ // Ensure there is at least this many pixels
17
+ // of vertical padding above and below the text.
18
+ $min-line-padding: 2px;
19
+
20
+ // $base-font-size but in your output unit of choice.
21
+ // Defaults to 1em when `$relative-font-sizing`
22
+ $font-unit: if($relative-font-sizing, 1em, $base-font-size) !default;
23
+
13
24
  // The basic unit of font rhythm
14
- $base-rhythm-unit: $base-line-height / $base-font-size * 1em;
25
+ $base-rhythm-unit: $base-line-height / $base-font-size * $font-unit;
15
26
 
16
27
  // The leader is the amount of whitespace in a line.
17
28
  // It might be useful in your calculations
18
- $base-leader: ($base-line-height - $base-font-size) * 1em / $base-font-size;
29
+ $base-leader: ($base-line-height - $base-font-size) * $font-unit / $base-font-size;
19
30
 
20
31
  // The half-leader is the amount of whitespace above and below a line.
21
32
  // It might be useful in your calculations
22
33
  $base-half-leader: $base-leader / 2;
23
34
 
35
+ // True if a number has a relative unit
36
+ @function relative-unit($number) {
37
+ @return unit($number) == "%" or unit($number) == "em" or unit($number) == "rem"
38
+ }
39
+
40
+ // True if a number has an absolute unit
41
+ @function absolute-unit($number) {
42
+ @return not (relative-unit($number) or unitless($number));
43
+ }
44
+
45
+ @if $relative-font-sizing and not relative-unit($font-unit) {
46
+ @warn "$relative-font-sizing is true but $font-unit is set to #{$font-unit} which is not a relative unit.";
47
+ }
48
+
24
49
  // Establishes a font baseline for the given font-size in pixels
25
50
  @mixin establish-baseline($font-size: $base-font-size) {
26
51
  body {
27
52
  font-size: $font-size / $ie-font-ratio;
28
- @include adjust-leading-to(1, $font-size);
53
+ @include adjust-leading-to(1, if($relative-font-sizing, $font-size, $base-font-size));
29
54
  }
30
55
  html>body {
31
56
  font-size: $font-size;
@@ -42,13 +67,19 @@ $base-half-leader: $base-leader / 2;
42
67
  // font size should use up. Does not have to be an integer, but it defaults
43
68
  // to the smallest integer that is large enough to fit the font.
44
69
  // Use $from_size to adjust from a non-base font-size.
45
- @mixin adjust-font-size-to($to-size, $lines: ceil($to-size / $base-line-height), $from-size: $base-font-size) {
46
- font-size: 1em * $to-size / $from-size;
47
- @include adjust-leading-to($lines, $to-size);
70
+ @mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) {
71
+ @if $relative-font-sizing and $from-size != $base-font-size {
72
+ @warn "$relative-font-sizing is false but a relative font size was passed to adjust-font-size-to";
73
+ }
74
+ font-size: $font-unit * $to-size / $from-size;
75
+ @include adjust-leading-to($lines, if($relative-font-sizing, $to-size, $base-font-size));
48
76
  }
49
77
 
50
78
  @mixin adjust-leading-to($lines, $font-size: $base-font-size) {
51
- line-height: 1em * $lines * $base-line-height / $font-size;
79
+ @if $relative-font-sizing and $font-size != $base-font-size {
80
+ @warn "$relative-font-sizing is false but a relative font size was passed to adjust-leading-to";
81
+ }
82
+ line-height: $font-unit * $lines * $base-line-height / $font-size;
52
83
  }
53
84
 
54
85
  // Calculate rhythm units
@@ -56,32 +87,55 @@ $base-half-leader: $base-leader / 2;
56
87
  $lines: 1,
57
88
  $font-size: $base-font-size
58
89
  ) {
59
- $rhythm: 1em * $lines * $base-line-height / $font-size;
90
+ @if $relative-font-sizing and $font-size != $base-font-size {
91
+ @warn "$relative-font-sizing is false but a relative font size was passed to the rhythm function";
92
+ }
93
+ $rhythm: $font-unit * $lines * $base-line-height / $font-size;
60
94
  @return $rhythm;
61
95
  }
62
96
 
97
+ @function lines-for-font-size($font-size) {
98
+ $lines: ceil($font-size / $base-line-height);
99
+ @if $lines * $base-line-height - $font-size < $min-line-padding * 2 {
100
+ $lines: $lines + 1;
101
+ }
102
+ @return $lines;
103
+ }
104
+
63
105
  // Apply leading whitespace
64
106
  @mixin leader($lines: 1, $font-size: $base-font-size, $property: margin) {
65
- #{$property}-top: rhythm($lines, $font-size);
107
+ $leader: rhythm($lines, $font-size);
108
+ @if unit($leader) == px {
109
+ $leader: floor($leader)
110
+ }
111
+ #{$property}-top: $leader;
66
112
  }
67
113
 
114
+ // Apply leading whitespace as padding
68
115
  @mixin padding-leader($lines: 1, $font-size: $base-font-size) {
69
116
  @include leader($lines, $font-size, padding);
70
117
  }
71
118
 
119
+ // Apply leading whitespace as margin
72
120
  @mixin margin-leader($lines: 1, $font-size: $base-font-size) {
73
121
  @include leader($lines, $font-size, margin);
74
122
  }
75
123
 
76
124
  // Apply trailing whitespace
77
125
  @mixin trailer($lines: 1, $font-size: $base-font-size, $property: margin) {
78
- #{$property}-bottom: rhythm($lines, $font-size);
126
+ $leader: rhythm($lines, $font-size);
127
+ @if unit($leader) == px {
128
+ $leader: ceil($leader)
129
+ }
130
+ #{$property}-bottom: $leader;
79
131
  }
80
132
 
133
+ // Apply trailing whitespace as padding
81
134
  @mixin padding-trailer($lines: 1, $font-size: $base-font-size) {
82
135
  @include trailer($lines, $font-size, padding);
83
136
  }
84
137
 
138
+ // Apply trailing whitespace as margin
85
139
  @mixin margin-trailer($lines: 1, $font-size: $base-font-size) {
86
140
  @include trailer($lines, $font-size, margin);
87
141
  }
@@ -97,19 +151,25 @@ $base-half-leader: $base-leader / 2;
97
151
 
98
152
  // Apply a border width to any side without destroying the vertical rhythm
99
153
  @mixin apply-side-rhythm-border($side, $width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
154
+ @if $relative-font-sizing and $font-size != $base-font-size {
155
+ @warn "$relative-font-sizing is false but a relative font size was passed to apply-side-rhythm-border";
156
+ }
100
157
  border-#{$side}: {
101
158
  style: $border-style;
102
- width: 1em * $width / $font-size;
159
+ width: $font-unit * $width / $font-size;
103
160
  };
104
- padding-#{$side}: 1em / $font-size * ($lines * $base-line-height - $width);
161
+ padding-#{$side}: $font-unit / $font-size * ($lines * $base-line-height - $width);
105
162
  }
106
163
 
107
164
  // Aplly rhythm borders equally to all sides
108
165
  @mixin rhythm-borders($width: 1px, $lines: 1, $font-size: $base-font-size, $border-style: $default-rhythm-border-style) {
166
+ @if $relative-font-sizing and $font-size != $base-font-size {
167
+ @warn "$relative-font-sizing is false but a relative font size was passed to rhythm-borders";
168
+ }
109
169
  border: {
110
170
  style: $border-style;
111
- width: 1em * $width / $font-size; };
112
- padding: 1em / $font-size * ($lines * $base-line-height - $width);
171
+ width: $font-unit * $width / $font-size; };
172
+ padding: $font-unit / $font-size * ($lines * $base-line-height - $width);
113
173
  }
114
174
 
115
175
  // Apply a leading rhythm border
@@ -0,0 +1,12 @@
1
+ // Prevent long urls and text from breaking layouts
2
+ // [originally from perishablepress.com](http://perishablepress.com/press/2010/06/01/wrapping-content/)
3
+ @mixin force-wrap {
4
+ white-space: pre; // CSS 2.0
5
+ white-space: pre-wrap; // CSS 2.1
6
+ white-space: pre-line; // CSS 3.0
7
+ white-space: -pre-wrap; // Opera 4-6
8
+ white-space: -o-pre-wrap; // Opera 7
9
+ white-space: -moz-pre-wrap; // Mozilla
10
+ white-space: -hp-pre-wrap; // HP Printers
11
+ word-wrap: break-word; // IE 5+
12
+ }
@@ -1,7 +1,7 @@
1
1
  module Compass
2
2
  end
3
3
 
4
- %w(dependencies util browser_support sass_extensions version errors quick_cache).each do |lib|
4
+ %w(dependencies util browser_support sass_extensions version errors quick_cache logger).each do |lib|
5
5
  require "compass/#{lib}"
6
6
  end
7
7
 
@@ -10,7 +10,7 @@ module Compass
10
10
  attr_accessor :working_path, :options
11
11
 
12
12
  def initialize(working_path, options)
13
- self.working_path = working_path
13
+ self.working_path = working_path.to_s
14
14
  self.options = options
15
15
  end
16
16
 
@@ -22,6 +22,14 @@ module Compass
22
22
  raise StandardError.new("Not Implemented")
23
23
  end
24
24
 
25
+ def successful?
26
+ !@failed
27
+ end
28
+
29
+ def failed!
30
+ @failed = true
31
+ end
32
+
25
33
  protected
26
34
 
27
35
  def framework
@@ -84,8 +84,8 @@ module Compass
84
84
  end
85
85
 
86
86
  def absolute_path?(path)
87
- # This is only going to work on unix, gonna need a better implementation.
88
- path.index(File::SEPARATOR) == 0
87
+ # Pretty basic implementation
88
+ path.index(File::SEPARATOR) == 0 || path.index(':') == 1
89
89
  end
90
90
 
91
91
  def skip_extension_discovery?
@@ -34,7 +34,8 @@ module Compass
34
34
  compiler = new_compiler_instance
35
35
  check_for_sass_files!(compiler)
36
36
  compiler.clean! if compiler.new_config?
37
- compiler.run
37
+ error_count = compiler.run
38
+ failed! if error_count > 0
38
39
  end
39
40
 
40
41
  def check_for_sass_files!(compiler)
@@ -6,7 +6,7 @@ module Compass
6
6
  attr_accessor :working_path, :from, :to, :options, :sass_options, :staleness_checker, :importer
7
7
 
8
8
  def initialize(working_path, from, to, options)
9
- self.working_path = working_path
9
+ self.working_path = working_path.to_s
10
10
  self.from, self.to = from.gsub('./', ''), to
11
11
  self.logger = options.delete(:logger)
12
12
  sass_opts = options.delete(:sass) || {}
@@ -82,9 +82,10 @@ module Compass
82
82
  end
83
83
 
84
84
  def run
85
+ failure_count = 0
85
86
  if new_config?
86
87
  # Wipe out the cache and force compilation if the configuration has changed.
87
- remove options[:cache_location]
88
+ remove options[:cache_location] if options[:cache_location]
88
89
  options[:force] = true
89
90
  end
90
91
 
@@ -97,6 +98,7 @@ module Compass
97
98
  begin
98
99
  compile_if_required sass_filename, css_filename
99
100
  rescue Sass::SyntaxError => e
101
+ failure_count += 1
100
102
  handle_exception(sass_filename, css_filename, e)
101
103
  end
102
104
  end
@@ -104,6 +106,7 @@ module Compass
104
106
  if options[:time]
105
107
  puts "Compilation took #{(result.__duration * 1000).round / 1000.0}s"
106
108
  end
109
+ return failure_count
107
110
  end
108
111
 
109
112
  def compile_if_required(sass_filename, css_filename)
@@ -38,7 +38,8 @@ module Compass
38
38
  :color_output,
39
39
  :preferred_syntax,
40
40
  :disable_warnings,
41
- :sprite_engine
41
+ :sprite_engine,
42
+ :chunky_png_options
42
43
  ].flatten
43
44
 
44
45
  # Registers a new configuration property.