Set up assets for S3/CloudFront CDN
This commit is contained in:
parent
7ff4d0a1bb
commit
019ad29a7f
12 changed files with 93 additions and 10 deletions
22
lib/asset_url.rb
Normal file
22
lib/asset_url.rb
Normal file
|
@ -0,0 +1,22 @@
|
|||
module Nanoc3::Helpers::AssetURL
|
||||
def asset_url(path, options = {})
|
||||
name, extension = path.match(/([^.]+).(.+)$/).to_a[1..-1]
|
||||
extensions = extension.split('.')
|
||||
|
||||
asset_dir = options[:asset_dir] || extensions.first
|
||||
|
||||
filename = "content/assets/#{asset_dir}/#{name}.#{extension}"
|
||||
fp = fingerprint(filename)
|
||||
|
||||
path = "/assets/#{asset_dir}/#{name}#{fp}.#{extensions[0..extensions.size-2].join('.')}"
|
||||
if ENV['USE_CDN']
|
||||
@site.config[:cdn_url] + path
|
||||
else
|
||||
path
|
||||
end
|
||||
end
|
||||
|
||||
def image_url(path)
|
||||
asset_url(path, :asset_dir => 'images')
|
||||
end
|
||||
end
|
|
@ -8,5 +8,6 @@ include Nanoc3::Helpers::Blogging
|
|||
include Nanoc3::Helpers::Filtering
|
||||
include Nanoc3::Helpers::LinkTo
|
||||
include Nanoc3::Helpers::CacheBusting
|
||||
include Nanoc3::Helpers::AssetURL
|
||||
|
||||
Slim::Engine.set_default_options pretty: true
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue