diff --git a/middleman-core/lib/middleman-core/util.rb b/middleman-core/lib/middleman-core/util.rb index db1238b2..b5a5174c 100644 --- a/middleman-core/lib/middleman-core/util.rb +++ b/middleman-core/lib/middleman-core/util.rb @@ -18,6 +18,7 @@ require 'middleman-core/sitemap/resource' require 'hashie' # For URI templating +require 'public_suffix' require 'addressable/uri' require 'addressable/template' require 'active_support/inflector' @@ -357,7 +358,7 @@ module Middleman begin uri = ::Addressable::URI.parse(asset_path) - if uri.relative? && uri.host.nil? && !asset_path.match(/^[^\/].*[a-z]+\.[a-z]+\/.*/) && (result = yield(asset_path)) + if uri.relative? && uri.host.nil? && !::PublicSuffix.valid?(asset_path) && (result = yield(asset_path)) "#{opening_character}#{result}" else match diff --git a/middleman-core/middleman-core.gemspec b/middleman-core/middleman-core.gemspec index 894bf470..2e34e6fd 100644 --- a/middleman-core/middleman-core.gemspec +++ b/middleman-core/middleman-core.gemspec @@ -24,6 +24,7 @@ Gem::Specification.new do |s| s.add_dependency('tilt', ['~> 1.4.1']) s.add_dependency('erubis') s.add_dependency('fast_blank') + s.add_dependency('public_suffix') # Helpers s.add_dependency('activesupport', ['~> 4.2'])