Sha256: 2ec64995c4bfd06b465b76bd439d4b798dc2b9d7d51eaf6d77b337805d4291f9

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

# Extensions namespace
module Middleman
  module Extensions
  
    # Asset Host module
    module AssetHost
    
      # Setup extension
      class << self
      
        # Once registered
        def registered(app)
          # Default to no host
          app.set :asset_host, false
      
          # Include methods
          app.send :include, InstanceMethods
        end
      
        alias :included :registered
      end
  
      # Asset Host Instance Methods
      module InstanceMethods
      
        # Override default asset url helper to include asset hosts
        #
        # @param [String] path
        # @param [String] prefix
        # @return [String]
        def asset_url(path, prefix="")
          original_output = super
          return original_output unless asset_host

          asset_prefix = if asset_host.is_a?(Proc)
            asset_host.call(original_output)
          elsif asset_host.is_a?(String)
            asset_host
          end
        
          File.join(asset_prefix, original_output)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
middleman-more-3.0.0 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.0.rc.4 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.0.rc.3 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.0.rc.2 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.0.rc.1 lib/middleman-more/extensions/asset_host.rb