middleman - asset path for CDN at build time

middleman, ruby, sprockets

Solution

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" />

Problem

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.

Original source