From 133418524d650ef4fff9df0891b845a77fe9970f Mon Sep 17 00:00:00 2001 From: Daniel Mattes Date: Mon, 13 Feb 2012 11:54:38 +0100 Subject: [PATCH 1/8] typo: replace inline-block-link through inline-block-list --- .../stylesheets/compass/utilities/lists/_inline-block-list.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss b/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss index f669c85d..5d4a1298 100644 --- a/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss +++ b/frameworks/compass/stylesheets/compass/utilities/lists/_inline-block-list.scss @@ -1,3 +1,3 @@ @warn "This import is deprecated. Use 'compass/typography/lists/inline-block-list' instead."; -@import "../../typography/lists/inline-block-link"; +@import "../../typography/lists/inline-block-list"; From a3bc6b4c63ea3d814a58ef6f4e8cfbb83c4cc69b Mon Sep 17 00:00:00 2001 From: Peter Gassner Date: Wed, 15 Feb 2012 07:53:54 +0100 Subject: [PATCH 2/8] Fixed syntax error in Growl example code so it runs on copy and paste. --- doc-src/content/help/tutorials/configuration-reference.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc-src/content/help/tutorials/configuration-reference.markdown b/doc-src/content/help/tutorials/configuration-reference.markdown index 93da7159..c818083d 100644 --- a/doc-src/content/help/tutorials/configuration-reference.markdown +++ b/doc-src/content/help/tutorials/configuration-reference.markdown @@ -383,7 +383,7 @@ to avoid crashing the watcher in the case where the file has been removed. on_stylesheet_saved do |filename| Growl.notify { - self.message "#{File.basename(filename)} updated!" + self.message = "#{File.basename(filename)} updated!" self.icon = '/path/to/success.jpg' } end From 0dae5b56684b8e263d51d78ab7a84894e23820da Mon Sep 17 00:00:00 2001 From: Roy Tomeij Date: Tue, 21 Feb 2012 21:34:20 +0100 Subject: [PATCH 3/8] Fix typo and use periods more consistently --- doc-src/content/help/tutorials/contributing.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc-src/content/help/tutorials/contributing.markdown b/doc-src/content/help/tutorials/contributing.markdown index 552a94fc..5894bea5 100644 --- a/doc-src/content/help/tutorials/contributing.markdown +++ b/doc-src/content/help/tutorials/contributing.markdown @@ -89,12 +89,12 @@ If the tests fail, fix the tests or the stylesheets accordingly. If the tests, d fail, that means this aspect was not well enough tested. Please [add or augment a test](#writing-tests). -You're done. Please [submit your changes](#patches) +You're done. Please [submit your changes](#patches).

Making Stylesheet Changes

It is a good idea to discuss new features ideas with the compass users and developers -before building something. Please don't by shy; send an email to the [compass mailing +before building something. Please don't be shy; send an email to the [compass mailing list](http://groups.google.com/group/compass-users). Many feature ideas are good but not obviously a good fit for the compass core library. @@ -112,7 +112,7 @@ making extensions.][extensions] **Step 6**: Documentation - Add or update the reference documentation. Add an example of using the feature. See the [doc readme for details][documentation]. -You're done. Please [submit your changes](#patches) +You're done. Please [submit your changes](#patches).

Making Ruby Changes

From 001fa4114209adcc60acb27c3b0d4fa595ff017c Mon Sep 17 00:00:00 2001 From: Chris Eppstein Date: Sun, 26 Feb 2012 17:22:45 -0800 Subject: [PATCH 4/8] fix broken test --- test/fixtures/stylesheets/compass/css/fonts.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/fixtures/stylesheets/compass/css/fonts.css b/test/fixtures/stylesheets/compass/css/fonts.css index c282458a..3fbbfb55 100644 --- a/test/fixtures/stylesheets/compass/css/fonts.css +++ b/test/fixtures/stylesheets/compass/css/fonts.css @@ -1,4 +1,4 @@ @font-face { font-family: "font1"; src: url('/tmp/fonts/font1.eot'); - src: url('/tmp/fonts/font1.eot?iefix') format('eot'), url('/tmp/fonts/font1.woff') format('woff'); } + src: url('/tmp/fonts/font1.eot?#iefix') format('eot'), url('/tmp/fonts/font1.woff') format('woff'); } From fee53b1a60a2777ca9ad6002aaadeaf32499ba7d Mon Sep 17 00:00:00 2001 From: Chris Eppstein Date: Sun, 26 Feb 2012 17:23:13 -0800 Subject: [PATCH 5/8] Handle the transparent keyword identifier in gradients. Closes GH-356 --- doc-src/content/CHANGELOG.markdown | 7 ++++- .../functions/gradient_support.rb | 25 +++++++++++++----- .../stylesheets/compass/css/gradients.css | 26 +++++++++++++------ .../stylesheets/compass/sass/gradients.sass | 8 +++++- 4 files changed, 49 insertions(+), 17 deletions(-) diff --git a/doc-src/content/CHANGELOG.markdown b/doc-src/content/CHANGELOG.markdown index 1552d83e..087fc3d3 100644 --- a/doc-src/content/CHANGELOG.markdown +++ b/doc-src/content/CHANGELOG.markdown @@ -14,7 +14,12 @@ The Documentation for the [latest stable release](http://compass-style.org/docs/ The Documentation for the [latest preview release](http://beta.compass-style.org/) -0.11.7 (UNRELEASED) +0.11.8 (02/26/2012) +------------------- + +* Fix a bug in gradients that used the transparent keyword + +0.11.7 (01/05/2012) ------------------- * Update to font-face mixin to make it work on IE8. diff --git a/lib/compass/sass_extensions/functions/gradient_support.rb b/lib/compass/sass_extensions/functions/gradient_support.rb index a08b1c9d..c1fe1073 100644 --- a/lib/compass/sass_extensions/functions/gradient_support.rb +++ b/lib/compass/sass_extensions/functions/gradient_support.rb @@ -8,7 +8,9 @@ module Compass::SassExtensions::Functions::GradientSupport [color, stop].compact end def initialize(color, stop = nil) - unless Sass::Script::Color === color || Sass::Script::Funcall === color + unless Sass::Script::Color === color || + Sass::Script::Funcall === color || + (Sass::Script::String === color && color.value == "transparent") raise Sass::SyntaxError, "Expected a color. Got: #{color}" end if stop && !stop.is_a?(Sass::Script::Number) @@ -19,8 +21,16 @@ module Compass::SassExtensions::Functions::GradientSupport def inspect to_s end + def self.color_to_s(c) + if c.is_a?(Sass::Script::String) + c.value.dup + else + c.inspect.dup + end + end + def to_s(options = self.options) - s = color.inspect.dup + s = self.class.color_to_s(color) if stop s << " " if stop.unitless? @@ -227,13 +237,14 @@ module Compass::SassExtensions::Functions::GradientSupport def color_stops(*args) Sass::Script::List.new(args.map do |arg| - case arg - when ColorStop + if ColorStop === arg arg - when Sass::Script::Color + elsif Sass::Script::Color === arg ColorStop.new(arg) - when Sass::Script::List + elsif Sass::Script::List === arg ColorStop.new(*arg.value) + elsif Sass::Script::String === arg && arg.value == "transparent" + ColorStop.new(arg) else raise Sass::SyntaxError, "Not a valid color stop: #{arg.class.name}: #{arg}" end @@ -288,7 +299,7 @@ module Compass::SassExtensions::Functions::GradientSupport # returns color-stop() calls for use in webkit. def grad_color_stops(color_list) stops = color_stops_in_percentages(color_list).map do |stop, color| - "color-stop(#{stop.inspect}, #{color.inspect})" + "color-stop(#{stop.inspect}, #{ColorStop.color_to_s(color)})" end Sass::Script::String.new(stops.join(", ")) end diff --git a/test/fixtures/stylesheets/compass/css/gradients.css b/test/fixtures/stylesheets/compass/css/gradients.css index 384db492..73e1d13c 100644 --- a/test/fixtures/stylesheets/compass/css/gradients.css +++ b/test/fixtures/stylesheets/compass/css/gradients.css @@ -82,15 +82,25 @@ background-image: -ms-linear-gradient(left, #dddddd 10px, #aaaaaa 40px); background-image: linear-gradient(left, #dddddd 10px, #aaaaaa 40px); } -.bg-radial-gradient { - background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjYWFhYWFhIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); +.transparent-in-linear-gradient { + background-image: white url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMTAwJSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iInRyYW5zcGFyZW50IiIvPjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iI2FhYWFhYSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA=='); background-size: 100%; - background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, #aaaaaa)); - background-image: -webkit-radial-gradient(center center, #dddddd, #aaaaaa 100px); - background-image: -moz-radial-gradient(center center, #dddddd, #aaaaaa 100px); - background-image: -o-radial-gradient(center center, #dddddd, #aaaaaa 100px); - background-image: -ms-radial-gradient(center center, #dddddd, #aaaaaa 100px); - background-image: radial-gradient(center center, #dddddd, #aaaaaa 100px); } + background-image: white -webkit-gradient(linear, 0% 0%, 100% 100%, color-stop(0%, transparent), color-stop(100%, #aaaaaa)); + background-image: white -webkit-linear-gradient(top left, transparent, #aaaaaa); + background-image: white -moz-linear-gradient(top left, transparent, #aaaaaa); + background-image: white -o-linear-gradient(top left, transparent, #aaaaaa); + background-image: white -ms-linear-gradient(top left, transparent, #aaaaaa); + background-image: white linear-gradient(top left, transparent, #aaaaaa); } + +.transparent-in-linear-gradient { + background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iMTAwIj48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSIjZGRkZGRkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIidHJhbnNwYXJlbnQiIi8+PC9yYWRpYWxHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g'); + background-size: 100%; + background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #dddddd), color-stop(100%, transparent)); + background-image: -webkit-radial-gradient(center center, #dddddd, transparent 100px); + background-image: -moz-radial-gradient(center center, #dddddd, transparent 100px); + background-image: -o-radial-gradient(center center, #dddddd, transparent 100px); + background-image: -ms-radial-gradient(center center, #dddddd, transparent 100px); + background-image: radial-gradient(center center, #dddddd, transparent 100px); } .bg-linear-gradient-with-angle { background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ii00NSIgeTE9IiIgeDI9Ii00NSIgeTI9IiIgZ3JhZGllbnRUcmFuc2Zvcm0gPSAicm90YXRlKC00NSkiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNkZGRkZGQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNhYWFhYWEiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA='); diff --git a/test/fixtures/stylesheets/compass/sass/gradients.sass b/test/fixtures/stylesheets/compass/sass/gradients.sass index dc915aa4..8251e9ce 100644 --- a/test/fixtures/stylesheets/compass/sass/gradients.sass +++ b/test/fixtures/stylesheets/compass/sass/gradients.sass @@ -31,8 +31,13 @@ $experimental-support-for-svg: true .bg-linear-gradient-pixel-stop-from-left +background-image(linear-gradient(left, #ddd 10px, #aaa 40px)) +.transparent-in-linear-gradient + +background-image(#fff linear-gradient(top left, transparent, #aaa)) + +.transparent-in-linear-gradient + +background-image(radial-gradient(center center, #ddd, transparent 100px)) + .bg-radial-gradient - +background-image(radial-gradient(center center, #ddd, #aaa 100px)) .bg-linear-gradient-with-angle +background-image(linear-gradient(-45deg, #ddd, #aaa)) @@ -231,3 +236,4 @@ $experimental-support-for-svg: true .ie-alpha-filter +filter-gradient(rgba(#fff, 1), rgba(#fff, 0)) + From 06af286c4a6706974456940f354bce7af3f8f1e3 Mon Sep 17 00:00:00 2001 From: Chris Eppstein Date: Sun, 26 Feb 2012 17:34:28 -0800 Subject: [PATCH 6/8] Add filesize to the compass stats output. --- doc-src/content/CHANGELOG.markdown | 1 + lib/compass/commands/project_stats.rb | 41 ++++++++++++++++++--------- lib/compass/stats.rb | 5 ++++ 3 files changed, 34 insertions(+), 13 deletions(-) diff --git a/doc-src/content/CHANGELOG.markdown b/doc-src/content/CHANGELOG.markdown index 087fc3d3..fb347471 100644 --- a/doc-src/content/CHANGELOG.markdown +++ b/doc-src/content/CHANGELOG.markdown @@ -18,6 +18,7 @@ The Documentation for the [latest preview release](http://beta.compass-style.org ------------------- * Fix a bug in gradients that used the transparent keyword +* Add filesize to the `compass stats` output. 0.11.7 (01/05/2012) ------------------- diff --git a/lib/compass/commands/project_stats.rb b/lib/compass/commands/project_stats.rb index 42ab579e..7da2e227 100644 --- a/lib/compass/commands/project_stats.rb +++ b/lib/compass/commands/project_stats.rb @@ -34,13 +34,16 @@ module Compass compiler = new_compiler_instance sass_files = sorted_sass_files(compiler) total_label = "Total (#{sass_files.size} files):" - rows = [[ :-, :-, :-, :-, :-, :-, :- ], - [ 'Filename', 'Rules', 'Properties', 'Mixins Defs', 'Mixins Used', 'CSS Selectors', 'CSS Properties' ], - [ :-, :-, :-, :-, :-, :-, :- ]] - maximums = [ total_label.length, 5, 10, 14, 11, 13, 14 ] - alignments = [ :left, :right, :right, :right, :right, :right, :right ] - delimiters = [ ['| ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'] ] - totals = [ total_label, 0, 0, 0, 0, 0, 0 ] + rows = [[ :-, :-, :-, :-, :-, :-, :-, :-, :- ], + [ 'Filename', 'Rules', 'Properties', 'Mixins Defs', 'Mixins Used', 'Filesize', 'CSS Selectors', 'CSS Properties', 'CSS Filesize' ], + [ :-, :-, :-, :-, :-, :-, :-, :-, :- ]] + maximums = [ total_label.length, 5, 10, 14, 11, 13, 13, 14, 14 ] + alignments = [ :left, :right, :right, :right, :right, :right, :right, :right, :right ] + delimiters = [ ['| ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'], [' ', ' |'] ] + formatters = [ nil, nil, nil, nil, nil, :kb, nil, nil, :kb ] + totals = [ total_label, 0, 0, 0, 0, 0, 0, 0, 0 ] + + columns = rows.first.size sass_files.each do |sass_file| css_file = compiler.corresponding_css_file(sass_file) unless sass_file[0..0] == '_' @@ -53,12 +56,12 @@ module Compass end rows << row end - rows << [:-] * 7 + rows << [:-] * columns rows << totals.map{|t| t.to_s} - rows << [:-] * 7 + rows << [:-] * columns rows.each do |row| row.each_with_index do |col, i| - print pad(col, maximums[i], :align => alignments[i], :left => delimiters[i].first, :right => delimiters[i].last) + print pad(col, maximums[i], :align => alignments[i], :left => delimiters[i].first, :right => delimiters[i].last, :formatter => formatters[i]) end print "\n" end @@ -75,11 +78,23 @@ module Compass else filler = ' ' end + c = send(:"format_#{options[:formatter]}", c) if options[:formatter] spaces = max - c.size filled = filler * [spaces,0].max "#{options[:left]}#{filled if options[:align] == :right}#{c}#{filled if options[:align] == :left}#{options[:right]}" end + def format_kb(v) + return v unless v =~ /^\d+$/ + v = Integer(v) + if v < 1024 + "#{v} B" + else + v = v / 1024.0 + "#{v.ceil} KB" + end + end + def sorted_sass_files(compiler) sass_files = compiler.sass_files(:exclude_partials => false) sass_files.map! do |s| @@ -100,7 +115,7 @@ module Compass def sass_columns(sass_file) sf = Compass::Stats::SassFile.new(sass_file) sf.analyze! - %w(rule_count prop_count mixin_def_count mixin_count).map do |t| + %w(rule_count prop_count mixin_def_count mixin_count file_size).map do |t| sf.send(t).to_s end end @@ -109,11 +124,11 @@ module Compass if File.exists?(css_file) cf = Compass::Stats::CssFile.new(css_file) cf.analyze! - %w(selector_count prop_count).map do |t| + %w(selector_count prop_count file_size).map do |t| cf.send(t).to_s end else - return [ '--', '--' ] + return [ '--', '--' , '--'] end rescue LoadError @missing_css_parser = true diff --git a/lib/compass/stats.rb b/lib/compass/stats.rb index 243b42af..28de86e4 100644 --- a/lib/compass/stats.rb +++ b/lib/compass/stats.rb @@ -29,6 +29,7 @@ module Compass class CssFile attr_accessor :path, :css attr_accessor :selector_count, :prop_count + attr_accessor :file_size def initialize(path) require 'css_parser' self.path = path @@ -44,6 +45,7 @@ module Compass contents.inject(0){|m,c| m + 1 } end def analyze! + self.file_size = File.size(path) css.each_selector do |selector, declarations, specificity| sels = selector.split(/,/).size props = declarations.split(/;/).size @@ -55,6 +57,8 @@ module Compass class SassFile attr_accessor :path attr_reader :visitor + attr_accessor :file_size + def initialize(path) self.path = path end @@ -72,6 +76,7 @@ module Compass @visitor end def analyze! + self.file_size = File.size(path) visit_tree! end def lines From c36e3843ebc37bdcb24929e23053b507aa06a831 Mon Sep 17 00:00:00 2001 From: Nick Cooley Date: Tue, 28 Feb 2012 19:18:47 -0500 Subject: [PATCH 7/8] Issue #707 updated link to "http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#partials" --- doc-src/content/help/tutorials/best_practices.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc-src/content/help/tutorials/best_practices.markdown b/doc-src/content/help/tutorials/best_practices.markdown index 4c472f7a..a153c343 100644 --- a/doc-src/content/help/tutorials/best_practices.markdown +++ b/doc-src/content/help/tutorials/best_practices.markdown @@ -107,7 +107,7 @@ For instance, don't use `table thead tr th` when a simple `th` selector will suffice. This might mean that you have to separate your styles into several selectors and let the document cascade work to your advantage. -[1]: http://sass-lang.com/yardoc/file.SASS_REFERENCE.html#partials +[1]: http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#partials [2]: http://groups.google.com/group/compass-users/browse_frm/thread/0ed216d409476f88 [3]: http://compass-style.org/help/tutorials/configurable-variables/ [4]: http://c2.com/cgi/wiki?DontRepeatYourself From fe1c4654822bc1f0cfd33ee75df573d330f31b25 Mon Sep 17 00:00:00 2001 From: Chris Eppstein Date: Sat, 3 Mar 2012 09:36:05 -0800 Subject: [PATCH 8/8] Missing quote. --- lib/compass/commands/watch_project.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/compass/commands/watch_project.rb b/lib/compass/commands/watch_project.rb index 734b9682..bb6e9c4b 100644 --- a/lib/compass/commands/watch_project.rb +++ b/lib/compass/commands/watch_project.rb @@ -138,7 +138,7 @@ module Compass compiler = new_compiler_instance(:quiet => true, :loud => [:identical, :overwrite, :create]) if file = compiler.out_of_date? begin - puts ">>> Change detected at "+Time.now.strftime("%T")+" to: #{relative || compiler.relative_stylesheet_name(file)} + puts ">>> Change detected at "+Time.now.strftime("%T")+" to: #{relative || compiler.relative_stylesheet_name(file)}" compiler.run GC.start rescue StandardError => e