final copping

This commit is contained in:
Thomas Reynolds 2014-07-02 11:05:57 -07:00
parent 5a936d315d
commit 6bb9673630
11 changed files with 57 additions and 51 deletions

View file

@ -32,9 +32,10 @@ module Middleman
def include_environment(name)
path = File.dirname(__FILE__)
other_config = File.join(path, name.to_s)
if File.exist? other_config
instance_eval File.read(other_config), other_config, 1
end
return unless File.exist? other_config
instance_eval File.read(other_config), other_config, 1
end
def ready(&block)

View file

@ -17,16 +17,16 @@ module Middleman
def after_configuration
helpers_path = File.join(app.root, app.config[:helpers_dir])
if File.exist?(helpers_path)
Dir[File.join(helpers_path, app.config[:helpers_filename_glob])].each do |filename|
module_name = app.config[:helpers_filename_to_module_name_proc].call(filename)
next unless module_name
return unless File.exist?(helpers_path)
require filename
next unless Object.const_defined?(module_name.to_sym)
Dir[File.join(helpers_path, app.config[:helpers_filename_glob])].each do |filename|
module_name = app.config[:helpers_filename_to_module_name_proc].call(filename)
next unless module_name
app.template_context_class.send :include, Object.const_get(module_name.to_sym)
end
require filename
next unless Object.const_defined?(module_name.to_sym)
app.template_context_class.send :include, Object.const_get(module_name.to_sym)
end
end
end

View file

@ -81,9 +81,9 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
# This is for backwards compatibility with the old provides_metadata-based code
# that used to be in this extension, but I don't know how much sense it makes.
unless resource.options[:lang]
resource.add_metadata options: { lang: @mount_at_root }, locals: { lang: @mount_at_root }
end
next if resource.options[:lang]
resource.add_metadata options: { lang: @mount_at_root }, locals: { lang: @mount_at_root }
end
resources + new_resources

View file

@ -61,9 +61,7 @@ module Middleman
end
end
if path.is_a?(String)
path = '/' + Util.strip_leading_slash(path)
end
path = '/' + Util.strip_leading_slash(path) if path.is_a?(String)
@page_configs << [path, metadata]
end

View file

@ -233,10 +233,11 @@ module Middleman
@app = app
ext = self
if ext.respond_to?(:instance_available)
@klass.instance_available do
ext.instance_available
end
return unless ext.respond_to?(:instance_available)
@klass.instance_available do
ext.instance_available
end
end

View file

@ -67,10 +67,10 @@ module Middleman
raise 'You must provide a Middleman::Extension or a block that returns a Middleman::Extension'
end
if options[:auto_activate]
descriptor = AutoActivation.new(name, options[:modes] || :all)
@auto_activate[options[:auto_activate]] << descriptor
end
return unless options[:auto_activate]
descriptor = AutoActivation.new(name, options[:modes] || :all)
@auto_activate[options[:auto_activate]] << descriptor
end
# @api private
@ -114,9 +114,9 @@ module Middleman
# @param [Middleman::Application] app An instance of the app.
def auto_activate(group, app)
@auto_activate[group].each do |descriptor|
if descriptor[:modes] == :all || descriptor[:modes].include?(app.config[:mode])
app.activate descriptor[:name]
end
next unless descriptor[:modes] == :all || descriptor[:modes].include?(app.config[:mode])
app.activate descriptor[:name]
end
end
end

View file

@ -35,12 +35,11 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension
asset_path
end
if asset_page = app.sitemap.find_resource_by_path(full_asset_path)
replacement_path = "/#{asset_page.destination_path}"
replacement_path = Pathname.new(replacement_path).relative_path_from(dirpath).to_s if relative_path
return unless asset_page = app.sitemap.find_resource_by_path(full_asset_path)
replacement_path
end
replacement_path = "/#{asset_page.destination_path}"
replacement_path = Pathname.new(replacement_path).relative_path_from(dirpath).to_s if relative_path
replacement_path
end
# Update the main sitemap resource list

View file

@ -29,9 +29,9 @@ class Middleman::Extensions::RelativeAssets < ::Middleman::Extension
asset_path
end
if !full_asset_path.include?('//') && !asset_path.start_with?('data:')
current_dir = Pathname('/' + request_path).dirname
Pathname(full_asset_path).relative_path_from(current_dir).to_s
end
return unless !full_asset_path.include?('//') && !asset_path.start_with?('data:')
current_dir = Pathname('/' + request_path).dirname
Pathname(full_asset_path).relative_path_from(current_dir).to_s
end
end

View file

@ -2,6 +2,7 @@ require 'webrick'
require 'middleman-core/meta_pages'
require 'middleman-core/logger'
# rubocop:disable GlobalVars
module Middleman
module PreviewServer
DEFAULT_PORT = 4567
@ -110,12 +111,12 @@ module Middleman
end
def start_file_watcher
return if @listener or @options[:disable_watcher]
return if @listener || @options[:disable_watcher]
# Watcher Library
require 'listen'
options = {force_polling: @options[:force_polling]}
options = { force_polling: @options[:force_polling] }
options[:latency] = @options[:latency] if @options[:latency]
@listener = Listen.to(Dir.pwd, options) do |modified, added, removed|
@ -153,6 +154,7 @@ module Middleman
Signal.trap(sig) do
# Do as little work as possible in the signal context
$mm_shutdown = true
@webrick.stop
end
end

View file

@ -12,10 +12,10 @@ module Middleman
def manipulate_resource_list(resources)
resources.each do |resource|
next unless resource.source_file =~ %r{\.liquid$}
# Convert data object into a hash for liquid
if resource.source_file =~ %r{\.liquid$}
resource.add_metadata locals: { data: app.data.to_h }
end
resource.add_metadata locals: { data: app.data.to_h }
end
end
end

View file

@ -100,15 +100,15 @@ module Middleman
# @param [String] path A path as a string
# @return [Boolean] Whether the path matches the matcher
def path_match(matcher, path)
!!case
case
when matcher.is_a?(String)
if matcher.include? '*'
File.fnmatch(matcher, path)
else
path == matcher
end
end
when matcher.respond_to?(:match)
matcher.match(path)
!matcher.match(path).nil?
when matcher.respond_to?(:call)
matcher.call(path)
else
@ -149,11 +149,16 @@ module Middleman
return source if source.to_s.include?('//') || source.to_s.start_with?('data:')
asset_folder = case kind
when :css then app.config[:css_dir]
when :js then app.config[:js_dir]
when :images then app.config[:images_dir]
when :fonts then app.config[:fonts_dir]
else kind.to_s
when :css
app.config[:css_dir]
when :js
app.config[:js_dir]
when :images
app.config[:images_dir]
when :fonts
app.config[:fonts_dir]
else
kind.to_s
end
source = source.to_s.tr(' ', '')
@ -172,7 +177,7 @@ module Middleman
# @return [String] The fully qualified asset url
def asset_url(app, path, prefix='', _options={})
# Don't touch assets which already have a full path
if path.include?('//') or path.start_with?('data:')
if path.include?('//') || path.start_with?('data:')
path
else # rewrite paths to use their destination path
if resource = app.sitemap.find_resource_by_destination_path(url_for(app, path))