added support for images in compass
This commit is contained in:
parent
f0dd789e86
commit
edddebd4f1
21
lib/attentive/compass_patches.rb
Normal file
21
lib/attentive/compass_patches.rb
Normal file
@ -0,0 +1,21 @@
|
||||
module Compass::RailsImageFunctionPatch
|
||||
private
|
||||
|
||||
def image_path_for_size(image_file)
|
||||
begin
|
||||
file = ::Attentive::Server.sprockets_env.find_asset(image_file)
|
||||
return file
|
||||
rescue ::Sprockets::FileOutsidePaths
|
||||
return super(image_file)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
module Sass::Script::Functions
|
||||
include Compass::RailsImageFunctionPatch
|
||||
end
|
||||
|
||||
# Wierd that this has to be re-included to pick up sub-modules. Ruby bug?
|
||||
class Sass::Script::Functions::EvaluationContext
|
||||
include Sass::Script::Functions
|
||||
end
|
@ -2,6 +2,7 @@ require 'sprockets'
|
||||
require 'sprockets-vendor_gems'
|
||||
require 'sprockets-sass'
|
||||
require 'compass'
|
||||
require 'attentive/compass_patches'
|
||||
require 'sinatra'
|
||||
require 'nokogiri'
|
||||
require 'rdiscount'
|
||||
@ -13,7 +14,23 @@ require 'rack/builder'
|
||||
require 'forwardable'
|
||||
|
||||
module Attentive
|
||||
module Helpers
|
||||
def image_path(path, options)
|
||||
if resolve(path, options)
|
||||
return "/assets/#{path}"
|
||||
end
|
||||
|
||||
nil
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
class Server < Rack::Builder
|
||||
|
||||
def self.sprockets_env
|
||||
@sprockets_env ||= Sprockets::EnvironmentWithVendoredGems.new
|
||||
end
|
||||
|
||||
def self.start(options)
|
||||
require 'rack'
|
||||
require 'pygments'
|
||||
@ -31,12 +48,13 @@ module Attentive
|
||||
def self.call(env)
|
||||
@app ||= Rack::Builder.new do
|
||||
map '/assets' do
|
||||
env = Sprockets::EnvironmentWithVendoredGems.new
|
||||
env = ::Attentive::Server.sprockets_env
|
||||
env.append_path 'assets/javascripts'
|
||||
env.append_path 'assets/stylesheets'
|
||||
env.append_path 'assets/images'
|
||||
env.append_path Attentive.root.join('lib/assets/javascripts')
|
||||
env.append_path Attentive.root.join('lib/assets/stylesheets')
|
||||
env.context_class.send(:include, ::Attentive::Helpers)
|
||||
|
||||
run env
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user