Fixing Merb Integration (use Merb::Plugins.config instead of Merb::Config)
This commit is contained in:
parent
3681187e6c
commit
4ffa08cc42
2
Rakefile
2
Rakefile
@ -89,6 +89,8 @@ end
|
|||||||
|
|
||||||
task :release => :commit_revision
|
task :release => :commit_revision
|
||||||
|
|
||||||
|
task :gem => :build
|
||||||
|
|
||||||
desc "Compile Examples into HTML and CSS"
|
desc "Compile Examples into HTML and CSS"
|
||||||
task :examples do
|
task :examples do
|
||||||
linked_haml = "tests/haml"
|
linked_haml = "tests/haml"
|
||||||
|
@ -1,43 +1,58 @@
|
|||||||
# To configure Merb to use compass do the following:
|
# To configure Merb to use compass do the following:
|
||||||
# Merb::BootLoader.after_app_loads do
|
#
|
||||||
# require 'merb-haml'
|
# Add dependencies to config/dependencies.rb
|
||||||
# require 'compass'
|
#
|
||||||
# end
|
# dependency "haml", ">=2.2.0"
|
||||||
#
|
# dependency "merb-haml", merb_gems_version
|
||||||
|
# dependency "chriseppstein-compass", :require_as => 'compass'
|
||||||
|
#
|
||||||
|
#
|
||||||
# To use a different sass stylesheets locations as is recommended by compass
|
# To use a different sass stylesheets locations as is recommended by compass
|
||||||
# add this configuration to your configuration block:
|
# add this configuration to your configuration block:
|
||||||
#
|
#
|
||||||
# Merb::Config.use do |c|
|
# Merb::BootLoader.before_app_loads do
|
||||||
# c[:compass] = {
|
# Merb::Plugins.config[:compass] = {
|
||||||
# :stylesheets => 'app/stylesheets',
|
# :stylesheets => "app/stylesheets",
|
||||||
# :compiled_stylesheets => 'public/stylesheets/compiled'
|
# :compiled_stylesheets => "public/stylesheets/compiled"
|
||||||
# }
|
# }
|
||||||
# end
|
# end
|
||||||
|
#
|
||||||
|
|
||||||
|
module Compass
|
||||||
|
def self.setup_template_location
|
||||||
|
# default the compass configuration if they didn't set it up yet.
|
||||||
|
Merb::Plugins.config[:compass] ||= {}
|
||||||
|
|
||||||
|
# default sass stylesheet location unless configured to something else
|
||||||
|
Merb::Plugins.config[:compass][:stylesheets] ||= Merb.dir_for(:stylesheet) / "sass"
|
||||||
|
|
||||||
|
# default sass css location unless configured to something else
|
||||||
|
Merb::Plugins.config[:compass][:compiled_stylesheets] ||= Merb.dir_for(:stylesheet)
|
||||||
|
|
||||||
|
#define the template hash for the project stylesheets as well as the framework stylesheets.
|
||||||
|
template_location = {
|
||||||
|
Merb::Plugins.config[:compass][:stylesheets] => Merb::Plugins.config[:compass][:compiled_stylesheets]
|
||||||
|
}
|
||||||
|
Compass::Frameworks::ALL.each do |framework|
|
||||||
|
template_location[framework.stylesheets_directory] = Merb::Plugins.config[:compass][:compiled_stylesheets]
|
||||||
|
end
|
||||||
|
|
||||||
|
#configure Sass to know about all these sass locations.
|
||||||
|
Sass::Plugin.options[:template_location] = template_location
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
Merb::BootLoader.after_app_loads do
|
Merb::BootLoader.after_app_loads do
|
||||||
#set up sass if haml load didn't do it -- this happens when using a non-default stylesheet location.
|
#set up sass if haml load didn't do it -- this happens when using a non-default stylesheet location.
|
||||||
unless defined?(Sass::Plugin)
|
unless defined?(Sass::Plugin)
|
||||||
require "sass/plugin"
|
require "sass/plugin"
|
||||||
Sass::Plugin.options = Merb::Config[:sass] if Merb::Config[:sass]
|
if Merb::Plugins.config[:sass]
|
||||||
|
Sass::Plugin.options = Merb::Plugins.config[:sass]
|
||||||
|
# support old (deprecatd Merb::Config[:sass] option)
|
||||||
|
elsif Merb::Config[:sass]
|
||||||
|
Sass::Plugin.options = Merb::Config[:sass]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# default the compass configuration if they didn't set it up yet.
|
Compass.setup_template_location
|
||||||
Merb::Config[:compass] ||= {}
|
|
||||||
|
|
||||||
# default sass stylesheet location unless configured to something else
|
|
||||||
Merb::Config[:compass][:stylesheets] ||= Merb.dir_for(:stylesheet) / "sass"
|
|
||||||
|
|
||||||
# default sass css location unless configured to something else
|
|
||||||
Merb::Config[:compass][:compiled_stylesheets] ||= Merb.dir_for(:stylesheet)
|
|
||||||
|
|
||||||
#define the template hash for the project stylesheets as well as the framework stylesheets.
|
|
||||||
template_location = {
|
|
||||||
Merb::Config[:compass][:stylesheets] => Merb::Config[:compass][:compiled_stylesheets]
|
|
||||||
}
|
|
||||||
Compass::Frameworks::ALL.each do |framework|
|
|
||||||
template_location[framework.stylesheets_directory] = Merb::Config[:compass][:compiled_stylesheets]
|
|
||||||
end
|
|
||||||
|
|
||||||
#configure Sass to know about all these sass locations.
|
|
||||||
Sass::Plugin.options[:template_location] = template_location
|
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user