From 38a90255602082522a73d649e47f0f789f302d3b Mon Sep 17 00:00:00 2001 From: Ben Hollis Date: Sun, 22 May 2016 12:31:53 -0700 Subject: [PATCH] Fix asset_url with asset_hash (#1919) * Fix asset_url with asset_hash. * Fix asset hashes. --- middleman-core/lib/middleman-core/util/paths.rb | 4 +++- middleman-core/spec/middleman-core/util_spec.rb | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/middleman-core/lib/middleman-core/util/paths.rb b/middleman-core/lib/middleman-core/util/paths.rb index 26f29442..799e198e 100644 --- a/middleman-core/lib/middleman-core/util/paths.rb +++ b/middleman-core/lib/middleman-core/util/paths.rb @@ -118,7 +118,9 @@ module Middleman # relative path, since it only takes absolute url paths. dest_path = url_for(app, path, options.merge(relative: false)) - result = if resource = app.sitemap.find_resource_by_destination_path(dest_path) + result = if resource = app.sitemap.find_resource_by_path(dest_path) + resource.url + elsif resource = app.sitemap.find_resource_by_destination_path(dest_path) resource.url else path = ::File.join(prefix, path) diff --git a/middleman-core/spec/middleman-core/util_spec.rb b/middleman-core/spec/middleman-core/util_spec.rb index ea9bbd88..a852521d 100644 --- a/middleman-core/spec/middleman-core/util_spec.rb +++ b/middleman-core/spec/middleman-core/util_spec.rb @@ -162,6 +162,13 @@ describe Middleman::Util do expect( Middleman::Util.asset_url( @mm, '/how/about/that.html' ) ).to eq '/how/about/that/' end + it "returns a resource url when asset_hash is on" do + Given.fixture 'asset-hash-app' + @mm = Middleman::Application.new + + expect( Middleman::Util.asset_url( @mm, '100px.png', 'images') ).to match %r|/images/100px-[a-f0-9]+.png| + end + end describe "::find_related_files" do