Sha256: 6e211b1fa06bc50798dc706c8703b2aeb733ef9c054487def0a2ca4421617f76

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

module Middleman::Features::RelativeAssets
  class << self
    def registered(app)
      app.compass_config do |config|
        config.relative_assets = true
      end

      app.register_asset_handler :relative_assets do |path, prefix, request|
        begin
          prefix = app.images_dir if prefix == app.http_images_path
        rescue
        end

        if path.include?("://")
          app.before_asset_handler(:relative_assets, path, prefix, request)
        elsif path[0,1] == "/"
          path
        else
          path = app.before_asset_handler(:relative_assets, path, prefix, request).sub(%r{^/}, '')
          # path = File.join(prefix, path) if prefix.length > 0
          request_path = request.path_info.dup
          request_path << app.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
    alias :included :registered
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
middleman-2.0.16.1-x86-mingw32 lib/middleman/features/relative_assets.rb
middleman-2.0.16.1 lib/middleman/features/relative_assets.rb
middleman-2.0.16-x86-mingw32 lib/middleman/features/relative_assets.rb
middleman-2.0.16 lib/middleman/features/relative_assets.rb
middleman-2.0.15.4-x86-mingw32 lib/middleman/features/relative_assets.rb
middleman-2.0.15.4 lib/middleman/features/relative_assets.rb
middleman-2.0.15.3-x86-mingw32 lib/middleman/features/relative_assets.rb
middleman-2.0.15.3 lib/middleman/features/relative_assets.rb