module Bridgetown::Cloudinary::Utils
Public Class Methods
add_image_urls_to_resources(site, config)
click to toggle source
# File lib/bridgetown-cloudinary/utils.rb, line 21 def self.add_image_urls_to_resources(site, config) site.contents.each do |resource| next unless resource.data[:cloudinary_id] && !resource.data[:image] next if resource.respond_to?(:collection) && resource.collection.data? resource.data[:image] = { path: url( config: config, id: resource.data[:cloudinary_id], transformation: nil ), } next unless config[:add_transformed_urls_to_image_front_matter] config[:transformations].each_key do |transformation| resource.data[:image][transformation] = url( config: config, id: resource.data[:cloudinary_id], transformation: transformation ) end end end
url(config:, id:, transformation:)
click to toggle source
# File lib/bridgetown-cloudinary/utils.rb, line 6 def self.url(config:, id:, transformation:) transformation = if transformation "/#{config[:transformations][transformation]}" else "/#{config[:transformations][config[:default_transformation]]}" end image_format = config[:default_image_format] cloudinary_url = ::Cloudinary::Utils.cloudinary_url( id, { format: image_format } ) cloudinary_url&.sub("/image/upload", "/image/upload#{transformation}") end