From 2dd87bab746e44f09a9aef18eb5806659e3d2a06 Mon Sep 17 00:00:00 2001 From: Thomas Reynolds Date: Thu, 1 May 2014 10:01:45 -0700 Subject: [PATCH 1/3] Fix combo of compass-import-once and sass-globs. Closes middleman/middleman-sprockets#56 --- .../lib/middleman-core/renderers/sass.rb | 29 +++++++++++++++++++ middleman/middleman.gemspec | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/middleman-core/lib/middleman-core/renderers/sass.rb b/middleman-core/lib/middleman-core/renderers/sass.rb index 9165db23..bf1578b7 100644 --- a/middleman-core/lib/middleman-core/renderers/sass.rb +++ b/middleman-core/lib/middleman-core/renderers/sass.rb @@ -1,6 +1,35 @@ require 'sass' require 'compass/import-once' +GLOB = /\*|\[.+\]/ + +# Hack around broken sass globs when combined with import-once +# Targets compass-import-once 1.0.4 +# Tracking issue: https://github.com/chriseppstein/compass/issues/1529 +module Compass + module ImportOnce + module Importer + def find_relative(uri, base, options, *args) + if uri =~ GLOB + force_import = true + else + uri, force_import = handle_force_import(uri) + end + maybe_replace_with_dummy_engine(super(uri, base, options, *args), options, force_import) + end + + def find(uri, options, *args) + if uri =~ GLOB + force_import = true + else + uri, force_import = handle_force_import(uri) + end + maybe_replace_with_dummy_engine(super(uri, options, *args), options, force_import) + end + end + end +end + module Middleman module Renderers # Sass renderer diff --git a/middleman/middleman.gemspec b/middleman/middleman.gemspec index 2e176267..506fc640 100644 --- a/middleman/middleman.gemspec +++ b/middleman/middleman.gemspec @@ -22,7 +22,7 @@ Gem::Specification.new do |s| s.add_dependency("middleman-sprockets", ">= 3.1.2") s.add_dependency("haml", [">= 4.0.5"]) s.add_dependency("sass", [">= 3.2.17", "< 4.0"]) - s.add_dependency("compass-import-once", ["~> 1.0.4"]) + s.add_dependency("compass-import-once", ["1.0.4"]) s.add_dependency("compass", [">= 0.12.4"]) s.add_dependency("uglifier", ["~> 2.5"]) s.add_dependency("coffee-script", ["~> 2.2.0"]) From 3f0373adf268298c99a64a7f5f614705c3d0d92f Mon Sep 17 00:00:00 2001 From: bootstraponline Date: Sun, 11 May 2014 13:44:58 -0400 Subject: [PATCH 2/3] Fix after_render Example usage from config.rb: after_render do |content, path, locs, template_class| # restore character entities such as &#96; content ||= '' content.gsub! '&', '&' content end --- .../lib/middleman-core/core_extensions/rendering.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/middleman-core/lib/middleman-core/core_extensions/rendering.rb b/middleman-core/lib/middleman-core/core_extensions/rendering.rb index f6737724..98c0b600 100644 --- a/middleman-core/lib/middleman-core/core_extensions/rendering.rb +++ b/middleman-core/lib/middleman-core/core_extensions/rendering.rb @@ -265,7 +265,12 @@ module Middleman # Allow hooks to manipulate the result after render self.class.callbacks_for_hook(:after_render).each do |callback| - content = callback.call(content, path, locs, template_class) + # Uber::Options::Value doesn't respond to call + if callback.respond_to?(:call) + content = callback.call(content, path, locs, template_class) + elsif callback.respond_to?(:evaluate) + content = callback.evaluate(self, content, path, locs, template_class) + end end output = ::ActiveSupport::SafeBuffer.new '' From f29994e25aca7d6240fa3708e80e581b17d8d30b Mon Sep 17 00:00:00 2001 From: Ben Hollis Date: Thu, 15 May 2014 23:30:49 -0700 Subject: [PATCH 3/3] Fix tests after Padrino 0.12.2 release --- middleman-core/features/helpers_select_tag.feature | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/middleman-core/features/helpers_select_tag.feature b/middleman-core/features/helpers_select_tag.feature index 54bf1e54..fff51c74 100644 --- a/middleman-core/features/helpers_select_tag.feature +++ b/middleman-core/features/helpers_select_tag.feature @@ -9,11 +9,9 @@ Feature: select_tag helper """ And the Server is running at "indexable-app" When I go to "/select_tag.html" - Then I should see: - """ - - """ + Then I should see ''