class Middleman::Imgix
Public Class Methods
new(app, options_hash={}, &block)
click to toggle source
Calls superclass method
# File lib/middleman-imgix/extension.rb, line 18 def initialize(app, options_hash={}, &block) super app.rewrite_inline_urls id: :imgix, url_extensions: options.exts, source_extensions: options.sources, ignore: options.ignore, rewrite_ignore: options.rewrite_ignore, proc: method(:rewrite_url) require 'imgix' end
Public Instance Methods
image_tag(path, params={})
click to toggle source
Calls superclass method
# File lib/middleman-imgix/extension.rb, line 46 def image_tag(path, params={}) if imgix_options.imgix_js_version && imgix_image?(path) version = imgix_options.imgix_js_version.to_i params[:class] ||= 'imgix-fluid' if version == 2 src = version == 2 ? 'data-src=' : 'ix-src=' super(path, params).gsub('src=', src) else super end end
imgix_image?(path)
click to toggle source
# File lib/middleman-imgix/extension.rb, line 57 def imgix_image?(path) uri = URI.parse(path) uri.relative? && imgix_options.exts.include?(::File.extname(uri.path)) && imgix_options.sources.include?(::File.extname(current_resource.path)) && imgix_options.ignore.none? { |r| ::Middleman::Util.should_ignore?(r, uri.path) } && imgix_options.rewrite_ignore.none? { |i| ::Middleman::Util.path_match(i, uri.path) } end
rewrite_url(asset_path, dirpath, _request_path)
click to toggle source
# File lib/middleman-imgix/extension.rb, line 31 def rewrite_url(asset_path, dirpath, _request_path) uri = URI.parse(asset_path) if uri.relative? params = CGI::parse(uri.query.to_s) params = params.reverse_merge(options.default_params) path = client.path(uri.path) path.to_url(params) else asset_path end end
Private Instance Methods
client()
click to toggle source
# File lib/middleman-imgix/extension.rb, line 69 def client @client ||= Imgix::Client.new({ host: options.host, secure_url_token: options.secure_url_token, use_https: options.use_https, shard_strategy: options.shard_strategy, include_library_param: options.include_library_param }) end