Sha256: f7d5afce024188d19df9dce28703c3ada5ac98a555638c6303022340f71b2c42

Contents?: true

Size: 1.01 KB

Versions: 16

Compression:

Stored size: 1.01 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

16 entries across 16 versions & 1 rubygems

Version Path
middleman-more-3.0.14 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.13 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.12 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.12.pre.1 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.11 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.10.pre.1 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.9 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.8 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.8.pre.2 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.8.pre.1 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.7 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.6 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.5 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.4 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.2 lib/middleman-more/extensions/asset_host.rb
middleman-more-3.0.1.pre lib/middleman-more/extensions/asset_host.rb