Skip to content

Instantly share code, notes, and snippets.

@ashaw
Created May 20, 2015 23:30
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ashaw/1758490d893d8bebc6f4 to your computer and use it in GitHub Desktop.
Save ashaw/1758490d893d8bebc6f4 to your computer and use it in GitHub Desktop.
def pf(path)
picturefill(path, "AltText") do
b = path.scan(/(^.*)\.(jpg|png|gif)/).flatten
sizes = {
:small => "#{b[0]}_small.#{b[1]}",
:medium => "#{b[0]}_medium.#{b[1]}",
:medium_high_dpi => "#{b[0]}_medium_high_dpi.#{b[1]}",
:large => "#{b[0]}_large.#{b[1]}",
:large_high_dpi => "#{b[0]}_large_high_dpi.#{b[1]}"
}
present_sizes = {}
sizes.each do |k,v|
present_sizes[k] = Rails.application.assets.find_asset(v).nil? ? nil : v
end
image(image_path("#{b[0]}_small.#{b[1]}")) if present_sizes[:small]
image(image_path("#{b[0]}_medium.#{b[1]}"), :min => 400) if present_sizes[:medium]
image(image_path("#{b[0]}_medium_high_dpi.#{b[1]}"), :min => 400, :ratio => 1.5) if present_sizes[:medium_high_dpi]
image(image_path("#{b[0]}_medium_high_dpi.#{b[1]}"), :min => 400, :ratio => 1.5, :webkit => true) if present_sizes[:medium_high_dpi]
image(image_path("#{b[0]}_large.#{b[1]}"), :min => 1000) if present_sizes[:large]
image(image_path("#{b[0]}_large_high_dpi.#{b[1]}"), "(min-width: 1000px) and (min-device-pixel-ratio: 1.5)") if present_sizes[:large_high_dpi]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment