Skip to content

Commit

Permalink
Fix #178: Respect Jekyll#config["baseurl"] when prefixing the path.
Browse files Browse the repository at this point in the history
  • Loading branch information
envygeeks committed Oct 9, 2015
1 parent 6f89bdf commit 192a4ab
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
14 changes: 9 additions & 5 deletions lib/jekyll/assets/env.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,20 +52,24 @@ def extra_assets
end

def cdn?() !dev? && !!asset_config["cdn"] end
def baseurl() jekyll.config["baseurl"] || "" end
def dev?() %W(development test).include? Jekyll.env end
def compress?(what) !!asset_config["compress"][what] end
def asset_config() jekyll.config["assets"] ||= {} end
def digest?() !!asset_config["digest"] end
def prefix() asset_config["prefix"] end

def prefix_path(path = nil)
def prefix_path(path = "")
prefix = cdn? && asset_config["skip_prefix_with_cdn"] ? "" : self.prefix
path = [baseurl, prefix, path]
if cdn? && (cdn = asset_config["cdn"])
return File.join(cdn, prefix) if !path
File.join(cdn, prefix, path)
File.join(cdn, *path).chomp(
"/"
)
else
return prefix if !path
File.join(prefix, path)
File.join(*path).chomp(
"/"
)
end
end

Expand Down
6 changes: 6 additions & 0 deletions spec/lib/jekyll/assets/env_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@
expect(@env.prefix_path).to eq "/assets"
end

it "uses Jekylls baseurl when prefixing the url" do
@env.jekyll.config["baseurl"] = "/hello"
expect(@env.prefix_path).to eq "/hello/assets"
@env.jekyll.config["baseurl"] = ""
end

it "digests by default in production" do
allow(Jekyll).to receive(:env).and_return "production"
expect(uncached_env.digest?).to be true
Expand Down

0 comments on commit 192a4ab

Please sign in to comment.