compass is converted to new ext. All done in -more

This commit is contained in:
Thomas Reynolds 2013-04-20 15:07:00 -07:00
parent 2500e4d35d
commit a463be3432
2 changed files with 72 additions and 85 deletions

View file

@ -31,14 +31,14 @@ module Middleman
# exist anymore. # exist anymore.
::I18n.load_path.delete_if {|path| path =~ %r{tmp/aruba}} ::I18n.load_path.delete_if {|path| path =~ %r{tmp/aruba}}
::I18n.reload! ::I18n.reload!
end end if ENV["TEST"]
require "middleman-more/core_extensions/i18n" require "middleman-more/core_extensions/i18n"
Middleman::CoreExtensions::Internationalization.register(:i18n) Middleman::CoreExtensions::Internationalization.register(:i18n)
# Compass framework # Compass framework
require "middleman-more/core_extensions/compass" require "middleman-more/core_extensions/compass"
Middleman::Application.register Middleman::CoreExtensions::Compass Middleman::CoreExtensions::Compass.new(app)
### ###
# Setup Optional Extensions # Setup Optional Extensions

View file

@ -1,88 +1,75 @@
module Middleman class Middleman::CoreExtensions::Compass < ::Middleman::Extension
module CoreExtensions
# Forward the settings on config.rb and the result of registered def initialize(app, options_hash={}, &block)
# extensions to Compass super
module Compass
# Extension registered # Require the library
class << self require "compass"
# Once registered # Hooks to manually update the compass config after we're
def registered(app) # done with it
# Require the library app.define_hook :compass_config
require "compass"
# Hooks to manually update the compass config after we're # Location of SASS/SCSS files external to source directory.
# done with it # @return [Array]
app.define_hook :compass_config # config[:sass_assets_paths] = ["#{root}/assets/sass/", "/path/2/external/sass/repository/"]
app.config.define_setting :sass_assets_paths, [], 'Paths to extra SASS/SCSS files'
end
# Location of SASS/SCSS files external to source directory. def after_configuration
# @return [Array] ::Compass.configuration do |compass_config|
# config[:sass_assets_paths] = ["#{root}/assets/sass/", "/path/2/external/sass/repository/"] compass_config.project_path = app.source_dir
app.config.define_setting :sass_assets_paths, [], 'Paths to extra SASS/SCSS files' compass_config.environment = :development
compass_config.cache_path = app.config[:sass_cache_path]
compass_config.sass_dir = app.config[:css_dir]
compass_config.css_dir = app.config[:css_dir]
compass_config.javascripts_dir = app.config[:js_dir]
compass_config.fonts_dir = app.config[:fonts_dir]
compass_config.images_dir = app.config[:images_dir]
compass_config.http_path = app.config[:http_prefix]
app.after_configuration do app.config[:sass_assets_paths].each do |path|
::Compass.configuration do |compass_config| compass_config.add_import_path path
compass_config.project_path = source_dir
compass_config.environment = :development
compass_config.cache_path = config[:sass_cache_path]
compass_config.sass_dir = config[:css_dir]
compass_config.css_dir = config[:css_dir]
compass_config.javascripts_dir = config[:js_dir]
compass_config.fonts_dir = config[:fonts_dir]
compass_config.images_dir = config[:images_dir]
compass_config.http_path = config[:http_prefix]
config[:sass_assets_paths].each do |path|
compass_config.add_import_path path
end
# Disable this initially, the cache_buster extension will
# re-enable it if requested.
compass_config.asset_cache_buster :none
# Disable this initially, the relative_assets extension will
compass_config.relative_assets = false
# Default output style
compass_config.output_style = :nested
# No line-comments in test mode (changing paths mess with sha1)
compass_config.line_comments = false if ENV["TEST"]
end
# Call hook
run_hook :compass_config, ::Compass.configuration
# Tell Tilt to use it as well (for inline sass blocks)
::Tilt.register 'sass', CompassSassTemplate
::Tilt.prefer(CompassSassTemplate)
# Tell Tilt to use it as well (for inline scss blocks)
::Tilt.register 'scss', CompassScssTemplate
::Tilt.prefer(CompassScssTemplate)
end
end
alias :included :registered
end end
# Disable this initially, the cache_buster extension will
# re-enable it if requested.
compass_config.asset_cache_buster :none
# Disable this initially, the relative_assets extension will
compass_config.relative_assets = false
# Default output style
compass_config.output_style = :nested
# No line-comments in test mode (changing paths mess with sha1)
compass_config.line_comments = false if ENV["TEST"]
end end
# A Compass Sass template for Tilt, adding our options in # Call hook
class CompassSassTemplate < ::Middleman::Renderers::Sass::SassPlusCSSFilenameTemplate app.run_hook :compass_config, ::Compass.configuration
def sass_options
super.merge(::Compass.configuration.to_sass_engine_options)
end
end
# A Compass Scss template for Tilt, adding our options in # Tell Tilt to use it as well (for inline sass blocks)
class CompassScssTemplate < ::Middleman::Renderers::Sass::ScssPlusCSSFilenameTemplate ::Tilt.register 'sass', CompassSassTemplate
def sass_options ::Tilt.prefer(CompassSassTemplate)
super.merge(::Compass.configuration.to_sass_engine_options)
end
end
# Tell Tilt to use it as well (for inline scss blocks)
::Tilt.register 'scss', CompassScssTemplate
::Tilt.prefer(CompassScssTemplate)
end
# A Compass Sass template for Tilt, adding our options in
class CompassSassTemplate < ::Middleman::Renderers::Sass::SassPlusCSSFilenameTemplate
def sass_options
super.merge(::Compass.configuration.to_sass_engine_options)
end
end
# A Compass Scss template for Tilt, adding our options in
class CompassScssTemplate < ::Middleman::Renderers::Sass::ScssPlusCSSFilenameTemplate
def sass_options
super.merge(::Compass.configuration.to_sass_engine_options)
end
end end
end end