I want to do the following
if build?
assetPath = "//cdn.domain.com/assets"
else
assetPath = "assets"
end
trying all combinations and reading everywhere but simply stumped at the moment
ruby and middleman - still learning.
Are you trying this within the config.rb
? If not, you should do so.
There already is a setting that you might want to use ...
set :css_dir, 'assets'
... and change on build:
configure :build do
set :css_dir, '//cdn.domain.com/assets'
end
Are you aware of the Asset helpers? You can use ...
<%= stylesheet_link_tag 'foo.css' %>
... within your (ERB) templates.
While developing that should give you ...
<link href="/assets/foo.css" media="screen" rel="stylesheet" type="text/css" />
... and within your build:
<link href="//cdn.domain.com/assets/foo.css" media="screen" rel="stylesheet" type="text/css" />
I actually had problems with the early answer. To actually change the asset path to work with CDNs such as CloudFront, I had to do the following:
# Fingerprint assets
activate :asset_hash
# Enable Asset Hosts
activate :asset_host
set :asset_host do |asset|
'//d23xxk856.cloudfront.net'.to_s
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With