fix relative assets and sprockets js
This commit is contained in:
parent
7d9550e9ce
commit
4ceb9bab41
5 changed files with 36 additions and 46 deletions
|
@ -27,11 +27,6 @@ module Middleman::CoreExtensions::DefaultHelpers
|
||||||
end
|
end
|
||||||
|
|
||||||
module Helpers
|
module Helpers
|
||||||
|
|
||||||
# TODO: Implement
|
|
||||||
def javascript_include_tag(path)
|
|
||||||
end
|
|
||||||
|
|
||||||
def auto_stylesheet_link_tag(separator="/")
|
def auto_stylesheet_link_tag(separator="/")
|
||||||
auto_tag(:css, separator) do |path|
|
auto_tag(:css, separator) do |path|
|
||||||
stylesheet_link_tag path
|
stylesheet_link_tag path
|
||||||
|
|
|
@ -38,7 +38,7 @@ module Middleman::CoreExtensions::Sprockets
|
||||||
end
|
end
|
||||||
|
|
||||||
# add paths to js_env (vendor/assets/javascripts)
|
# add paths to js_env (vendor/assets/javascripts)
|
||||||
app.map "/#{self.js_dir}" do
|
map "/#{self.js_dir}" do
|
||||||
run js_env
|
run js_env
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -70,10 +70,7 @@ module Middleman::CoreExtensions::Sprockets
|
||||||
|
|
||||||
class MiddlemanEnvironment < ::Sprockets::Environment
|
class MiddlemanEnvironment < ::Sprockets::Environment
|
||||||
def initialize(app)
|
def initialize(app)
|
||||||
full_path = app.views
|
super app.source_dir
|
||||||
full_path = File.join(app.root, app.views) unless app.views.include?(app.root)
|
|
||||||
|
|
||||||
super File.expand_path(full_path)
|
|
||||||
|
|
||||||
# Make the app context available to Sprockets
|
# Make the app context available to Sprockets
|
||||||
context_class.send(:define_method, :app) { app }
|
context_class.send(:define_method, :app) { app }
|
||||||
|
@ -93,9 +90,6 @@ module Middleman::CoreExtensions::Sprockets
|
||||||
def initialize(app)
|
def initialize(app)
|
||||||
super
|
super
|
||||||
|
|
||||||
# Disable css
|
|
||||||
# unregister_processor "text/css", ::Sprockets::DirectiveProcessor
|
|
||||||
|
|
||||||
self.js_compressor = app.js_compressor
|
self.js_compressor = app.js_compressor
|
||||||
|
|
||||||
# configure search paths
|
# configure search paths
|
||||||
|
@ -112,9 +106,6 @@ module Middleman::CoreExtensions::Sprockets
|
||||||
def initialize(app)
|
def initialize(app)
|
||||||
super
|
super
|
||||||
|
|
||||||
# Disable js
|
|
||||||
# unregister_processor "application/javascript", ::Sprockets::DirectiveProcessor
|
|
||||||
|
|
||||||
self.css_compressor = app.css_compressor
|
self.css_compressor = app.css_compressor
|
||||||
|
|
||||||
# configure search paths
|
# configure search paths
|
||||||
|
|
|
@ -5,34 +5,38 @@ module Middleman::Features::RelativeAssets
|
||||||
config.relative_assets = true
|
config.relative_assets = true
|
||||||
end
|
end
|
||||||
|
|
||||||
app.register_asset_handler :relative_assets do |path, prefix|
|
app.send :include, InstanceMethods
|
||||||
begin
|
|
||||||
prefix = self.images_dir if prefix == self.http_images_path
|
|
||||||
rescue
|
|
||||||
end
|
|
||||||
|
|
||||||
if path.include?("://")
|
|
||||||
self.before_asset_handler(:relative_assets, path, prefix)
|
|
||||||
elsif path[0,1] == "/"
|
|
||||||
path
|
|
||||||
else
|
|
||||||
path = File.join(prefix, path) if prefix.length > 0
|
|
||||||
request_path = @request_path.dup
|
|
||||||
request_path << self.index_file if path.match(%r{/$})
|
|
||||||
request_path.gsub!(%r{^/}, '')
|
|
||||||
parts = request_path.split('/')
|
|
||||||
|
|
||||||
if parts.length > 1
|
|
||||||
arry = []
|
|
||||||
(parts.length - 1).times { arry << ".." }
|
|
||||||
arry << path
|
|
||||||
File.join(*arry)
|
|
||||||
else
|
|
||||||
path
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
alias :included :registered
|
alias :included :registered
|
||||||
end
|
end
|
||||||
|
|
||||||
|
module InstanceMethods
|
||||||
|
def asset_url(path, prefix="")
|
||||||
|
begin
|
||||||
|
prefix = self.images_dir if prefix == self.http_images_path
|
||||||
|
rescue
|
||||||
|
end
|
||||||
|
|
||||||
|
if path.include?("://")
|
||||||
|
super(path, prefix)
|
||||||
|
elsif path[0,1] == "/"
|
||||||
|
path
|
||||||
|
else
|
||||||
|
path = File.join(prefix, path) if prefix.length > 0
|
||||||
|
request_path = @request_path.dup
|
||||||
|
request_path << self.index_file if path.match(%r{/$})
|
||||||
|
request_path.gsub!(%r{^/}, '')
|
||||||
|
parts = request_path.split('/')
|
||||||
|
|
||||||
|
if parts.length > 1
|
||||||
|
arry = []
|
||||||
|
(parts.length - 1).times { arry << ".." }
|
||||||
|
arry << path
|
||||||
|
File.join(*arry)
|
||||||
|
else
|
||||||
|
path
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
Loading…
Reference in a new issue