middleman-core 3.3.2 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/features/helpers_select_tag.feature +6 -8
- data/lib/middleman-core.rb +1 -2
- data/lib/middleman-core/application.rb +10 -9
- data/lib/middleman-core/cli.rb +9 -13
- data/lib/middleman-core/cli/build.rb +26 -27
- data/lib/middleman-core/cli/bundler.rb +6 -7
- data/lib/middleman-core/cli/console.rb +10 -13
- data/lib/middleman-core/cli/extension.rb +2 -4
- data/lib/middleman-core/cli/init.rb +27 -28
- data/lib/middleman-core/cli/server.rb +43 -44
- data/lib/middleman-core/configuration.rb +13 -11
- data/lib/middleman-core/core_extensions/data.rb +21 -29
- data/lib/middleman-core/core_extensions/extensions.rb +8 -8
- data/lib/middleman-core/core_extensions/external_helpers.rb +3 -5
- data/lib/middleman-core/core_extensions/file_watcher.rb +7 -11
- data/lib/middleman-core/core_extensions/front_matter.rb +5 -6
- data/lib/middleman-core/core_extensions/rendering.rb +40 -30
- data/lib/middleman-core/core_extensions/request.rb +16 -19
- data/lib/middleman-core/core_extensions/routing.rb +37 -36
- data/lib/middleman-core/core_extensions/show_exceptions.rb +1 -5
- data/lib/middleman-core/extension.rb +14 -16
- data/lib/middleman-core/extensions.rb +4 -6
- data/lib/middleman-core/load_paths.rb +3 -6
- data/lib/middleman-core/logger.rb +1 -3
- data/lib/middleman-core/meta_pages.rb +11 -11
- data/lib/middleman-core/meta_pages/config_setting.rb +4 -4
- data/lib/middleman-core/meta_pages/sitemap_resource.rb +2 -2
- data/lib/middleman-core/meta_pages/sitemap_tree.rb +4 -4
- data/lib/middleman-core/preview_server.rb +12 -11
- data/lib/middleman-core/profiling.rb +6 -8
- data/lib/middleman-core/renderers/asciidoc.rb +12 -13
- data/lib/middleman-core/renderers/coffee_script.rb +2 -4
- data/lib/middleman-core/renderers/erb.rb +3 -4
- data/lib/middleman-core/renderers/haml.rb +2 -4
- data/lib/middleman-core/renderers/kramdown.rb +3 -4
- data/lib/middleman-core/renderers/less.rb +3 -9
- data/lib/middleman-core/renderers/liquid.rb +4 -8
- data/lib/middleman-core/renderers/markdown.rb +7 -11
- data/lib/middleman-core/renderers/redcarpet.rb +14 -16
- data/lib/middleman-core/renderers/sass.rb +36 -15
- data/lib/middleman-core/renderers/slim.rb +7 -10
- data/lib/middleman-core/renderers/stylus.rb +2 -6
- data/lib/middleman-core/sitemap.rb +6 -13
- data/lib/middleman-core/sitemap/extensions/ignores.rb +4 -10
- data/lib/middleman-core/sitemap/extensions/on_disk.rb +3 -7
- data/lib/middleman-core/sitemap/extensions/proxies.rb +7 -12
- data/lib/middleman-core/sitemap/extensions/redirects.rb +7 -15
- data/lib/middleman-core/sitemap/extensions/request_endpoints.rb +7 -15
- data/lib/middleman-core/sitemap/extensions/traversal.rb +4 -7
- data/lib/middleman-core/sitemap/queryable.rb +22 -27
- data/lib/middleman-core/sitemap/resource.rb +13 -25
- data/lib/middleman-core/sitemap/store.rb +11 -15
- data/lib/middleman-core/templates.rb +9 -12
- data/lib/middleman-core/templates/default.rb +6 -7
- data/lib/middleman-core/templates/empty.rb +0 -1
- data/lib/middleman-core/templates/extension/Gemfile +1 -1
- data/lib/middleman-core/templates/extension/Rakefile +2 -2
- data/lib/middleman-core/templates/extension/lib/lib.rb +0 -1
- data/lib/middleman-core/templates/html5.rb +6 -7
- data/lib/middleman-core/templates/local.rb +1 -2
- data/lib/middleman-core/templates/mobile.rb +3 -4
- data/lib/middleman-core/templates/shared/config.ru +1 -1
- data/lib/middleman-core/util.rb +5 -6
- data/lib/middleman-core/version.rb +1 -1
- data/lib/middleman-more/core_extensions/compass.rb +0 -1
- data/lib/middleman-more/core_extensions/default_helpers.rb +25 -16
- data/lib/middleman-more/core_extensions/i18n.rb +24 -23
- data/lib/middleman-more/extensions/asset_hash.rb +4 -6
- data/lib/middleman-more/extensions/asset_host.rb +1 -1
- data/lib/middleman-more/extensions/automatic_alt_tags.rb +2 -3
- data/lib/middleman-more/extensions/automatic_image_sizes.rb +4 -5
- data/lib/middleman-more/extensions/cache_buster.rb +0 -1
- data/lib/middleman-more/extensions/gzip.rb +1 -1
- data/lib/middleman-more/extensions/lorem.rb +8 -8
- data/lib/middleman-more/extensions/minify_css.rb +9 -8
- data/lib/middleman-more/extensions/minify_javascript.rb +5 -6
- data/lib/middleman-more/extensions/relative_assets.rb +0 -1
- data/lib/middleman-more/templates/smacss.rb +6 -7
- data/middleman-core.gemspec +1 -1
- metadata +5 -5
|
@@ -5,10 +5,8 @@ require 'rack/showexceptions'
|
|
|
5
5
|
module Middleman
|
|
6
6
|
module CoreExtensions
|
|
7
7
|
module ShowExceptions
|
|
8
|
-
|
|
9
8
|
# Setup extension
|
|
10
9
|
class << self
|
|
11
|
-
|
|
12
10
|
# Once registered
|
|
13
11
|
def registered(app)
|
|
14
12
|
# Whether to catch and display exceptions
|
|
@@ -18,9 +16,7 @@ module Middleman
|
|
|
18
16
|
# When in dev
|
|
19
17
|
app.configure :development do
|
|
20
18
|
# Include middlemare
|
|
21
|
-
if config[:show_exceptions]
|
|
22
|
-
use ::Rack::ShowExceptions
|
|
23
|
-
end
|
|
19
|
+
use ::Rack::ShowExceptions if config[:show_exceptions]
|
|
24
20
|
end
|
|
25
21
|
end
|
|
26
22
|
end
|
|
@@ -2,11 +2,10 @@ require 'active_support/core_ext/module/delegation'
|
|
|
2
2
|
require 'active_support/core_ext/class/attribute'
|
|
3
3
|
|
|
4
4
|
module Middleman
|
|
5
|
-
|
|
6
5
|
class Extension
|
|
7
|
-
class_attribute :supports_multiple_instances, :
|
|
8
|
-
class_attribute :defined_helpers, :
|
|
9
|
-
class_attribute :ext_name, :
|
|
6
|
+
class_attribute :supports_multiple_instances, instance_reader: false, instance_writer: false
|
|
7
|
+
class_attribute :defined_helpers, instance_reader: false, instance_writer: false
|
|
8
|
+
class_attribute :ext_name, instance_reader: false, instance_writer: false
|
|
10
9
|
|
|
11
10
|
class << self
|
|
12
11
|
def config
|
|
@@ -24,7 +23,7 @@ module Middleman
|
|
|
24
23
|
def helpers(*m, &block)
|
|
25
24
|
self.defined_helpers ||= []
|
|
26
25
|
|
|
27
|
-
if
|
|
26
|
+
if block_given?
|
|
28
27
|
mod = Module.new
|
|
29
28
|
mod.module_eval(&block)
|
|
30
29
|
m = [mod]
|
|
@@ -34,10 +33,10 @@ module Middleman
|
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
def extension_name
|
|
37
|
-
|
|
36
|
+
ext_name || name.underscore.split('/').last.to_sym
|
|
38
37
|
end
|
|
39
38
|
|
|
40
|
-
def register(n=
|
|
39
|
+
def register(n=extension_name)
|
|
41
40
|
::Middleman::Extensions.register(n, self)
|
|
42
41
|
end
|
|
43
42
|
|
|
@@ -59,7 +58,7 @@ module Middleman
|
|
|
59
58
|
name = instance.class.extension_name
|
|
60
59
|
return unless @_extension_activation_callbacks && @_extension_activation_callbacks[name]
|
|
61
60
|
@_extension_activation_callbacks[name].each do |block|
|
|
62
|
-
block.arity == 1 ? block.call(instance) : block.call
|
|
61
|
+
block.arity == 1 ? block.call(instance) : block.call
|
|
63
62
|
end
|
|
64
63
|
end
|
|
65
64
|
end
|
|
@@ -67,7 +66,7 @@ module Middleman
|
|
|
67
66
|
attr_accessor :options
|
|
68
67
|
attr_reader :app
|
|
69
68
|
|
|
70
|
-
delegate :after_extension_activated, :
|
|
69
|
+
delegate :after_extension_activated, to: :"::Middleman::Extension"
|
|
71
70
|
|
|
72
71
|
def initialize(klass, options_hash={}, &block)
|
|
73
72
|
@_helpers = []
|
|
@@ -91,9 +90,9 @@ module Middleman
|
|
|
91
90
|
end
|
|
92
91
|
end
|
|
93
92
|
|
|
94
|
-
|
|
93
|
+
protected
|
|
95
94
|
|
|
96
|
-
def setup_options(options_hash
|
|
95
|
+
def setup_options(options_hash)
|
|
97
96
|
@options = self.class.config.dup
|
|
98
97
|
@options.finalize!
|
|
99
98
|
|
|
@@ -128,10 +127,9 @@ module Middleman
|
|
|
128
127
|
def bind_after_configuration
|
|
129
128
|
ext = self
|
|
130
129
|
@klass.after_configuration do
|
|
131
|
-
if ext.respond_to?(:after_configuration)
|
|
132
|
-
ext.after_configuration
|
|
133
|
-
end
|
|
130
|
+
ext.after_configuration if ext.respond_to?(:after_configuration)
|
|
134
131
|
|
|
132
|
+
# rubocop:disable IfUnlessModifier
|
|
135
133
|
if ext.respond_to?(:manipulate_resource_list)
|
|
136
134
|
ext.app.sitemap.register_resource_list_manipulator(ext.class.extension_name, ext)
|
|
137
135
|
end
|
|
@@ -142,7 +140,7 @@ module Middleman
|
|
|
142
140
|
ext = self
|
|
143
141
|
if ext.respond_to?(:before_build)
|
|
144
142
|
@klass.before_build do |builder|
|
|
145
|
-
if ext.method(:before_build).arity
|
|
143
|
+
if ext.method(:before_build).arity == 1
|
|
146
144
|
ext.before_build(builder)
|
|
147
145
|
else
|
|
148
146
|
ext.before_build
|
|
@@ -155,7 +153,7 @@ module Middleman
|
|
|
155
153
|
ext = self
|
|
156
154
|
if ext.respond_to?(:after_build)
|
|
157
155
|
@klass.after_build do |builder|
|
|
158
|
-
if ext.method(:after_build).arity
|
|
156
|
+
if ext.method(:after_build).arity == 1
|
|
159
157
|
ext.after_build(builder)
|
|
160
158
|
else
|
|
161
159
|
ext.after_build
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
module Middleman
|
|
2
|
-
|
|
3
2
|
module Extensions
|
|
4
|
-
|
|
5
3
|
class << self
|
|
6
4
|
def registered
|
|
7
5
|
@_registered ||= {}
|
|
@@ -24,7 +22,7 @@ module Middleman
|
|
|
24
22
|
def register(name, namespace=nil, &block)
|
|
25
23
|
# If we've already got a matching extension that passed the
|
|
26
24
|
# version check, bail out.
|
|
27
|
-
return if registered.
|
|
25
|
+
return if registered.key?(name.to_sym) &&
|
|
28
26
|
!registered[name.to_sym].is_a?(String)
|
|
29
27
|
|
|
30
28
|
registered[name.to_sym] = if block_given?
|
|
@@ -36,11 +34,11 @@ module Middleman
|
|
|
36
34
|
|
|
37
35
|
def load(name)
|
|
38
36
|
name = name.to_sym
|
|
39
|
-
return nil unless registered.
|
|
37
|
+
return nil unless registered.key?(name)
|
|
40
38
|
|
|
41
39
|
extension = registered[name]
|
|
42
40
|
if extension.is_a?(Proc)
|
|
43
|
-
extension = extension.call
|
|
41
|
+
extension = extension.call || nil
|
|
44
42
|
registered[name] = extension
|
|
45
43
|
end
|
|
46
44
|
|
|
@@ -92,7 +90,7 @@ module Middleman
|
|
|
92
90
|
# @return [Boolean] Whether the file exists
|
|
93
91
|
def spec_has_file?(spec, path)
|
|
94
92
|
full_path = File.join(spec.full_gem_path, path)
|
|
95
|
-
File.
|
|
93
|
+
File.exist?(full_path)
|
|
96
94
|
end
|
|
97
95
|
end
|
|
98
96
|
end
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
require 'pathname'
|
|
3
3
|
|
|
4
4
|
module Middleman
|
|
5
|
-
|
|
6
5
|
class << self
|
|
7
6
|
def setup_load_paths
|
|
8
7
|
@_is_setup ||= begin
|
|
@@ -20,12 +19,12 @@ module Middleman
|
|
|
20
19
|
root_gemfile = File.expand_path('Gemfile', ENV['MM_ROOT'])
|
|
21
20
|
ENV['BUNDLE_GEMFILE'] ||= root_gemfile
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
unless File.exist?(ENV['BUNDLE_GEMFILE'])
|
|
24
23
|
git_gemfile = Pathname.new(__FILE__).expand_path.parent.parent.parent + 'Gemfile'
|
|
25
24
|
ENV['BUNDLE_GEMFILE'] = git_gemfile.to_s
|
|
26
25
|
end
|
|
27
26
|
|
|
28
|
-
if File.
|
|
27
|
+
if File.exist?(ENV['BUNDLE_GEMFILE'])
|
|
29
28
|
is_bundler_setup = true
|
|
30
29
|
require 'bundler/setup'
|
|
31
30
|
end
|
|
@@ -45,12 +44,10 @@ module Middleman
|
|
|
45
44
|
end
|
|
46
45
|
|
|
47
46
|
# Recursive method to find config.rb
|
|
48
|
-
def locate_root(cwd
|
|
47
|
+
def locate_root(cwd=Pathname.new(Dir.pwd))
|
|
49
48
|
return cwd.to_s if (cwd + 'config.rb').exist?
|
|
50
49
|
return false if cwd.root?
|
|
51
50
|
locate_root(cwd.parent)
|
|
52
51
|
end
|
|
53
|
-
|
|
54
52
|
end
|
|
55
|
-
|
|
56
53
|
end
|
|
@@ -4,10 +4,8 @@ require 'active_support/logger'
|
|
|
4
4
|
require 'thread'
|
|
5
5
|
|
|
6
6
|
module Middleman
|
|
7
|
-
|
|
8
7
|
# The Middleman Logger
|
|
9
8
|
class Logger < ActiveSupport::Logger
|
|
10
|
-
|
|
11
9
|
def self.singleton(*args)
|
|
12
10
|
if !@_logger || args.length > 0
|
|
13
11
|
if args.length == 1 && (args.first.is_a?(::String) || args.first.respond_to?(:write))
|
|
@@ -42,7 +40,7 @@ module Middleman
|
|
|
42
40
|
return if @instrumenting.is_a?(String) && @instrumenting != 'instrument' && !message.include?(@instrumenting)
|
|
43
41
|
|
|
44
42
|
evt = ActiveSupport::Notifications::Event.new(message, *args)
|
|
45
|
-
|
|
43
|
+
info "== Instrument (#{evt.name.sub(/.middleman$/, '')}): #{evt.duration}ms"
|
|
46
44
|
end
|
|
47
45
|
end
|
|
48
46
|
end
|
|
@@ -19,7 +19,7 @@ module Middleman
|
|
|
19
19
|
meta_pages = self
|
|
20
20
|
@rack_app = Rack::Builder.new do
|
|
21
21
|
# Serve assets from metadata/assets
|
|
22
|
-
use Rack::Static, :
|
|
22
|
+
use Rack::Static, urls: ['/assets'], root: File.join(File.dirname(__FILE__), 'meta_pages')
|
|
23
23
|
|
|
24
24
|
map '/' do
|
|
25
25
|
run meta_pages.method(:index)
|
|
@@ -40,12 +40,12 @@ module Middleman
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
# The index page
|
|
43
|
-
def index(
|
|
43
|
+
def index(_)
|
|
44
44
|
template('index.html.erb')
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
# Inspect the sitemap
|
|
48
|
-
def sitemap(
|
|
48
|
+
def sitemap(_)
|
|
49
49
|
resources = @middleman.inst.sitemap.resources(true)
|
|
50
50
|
|
|
51
51
|
sitemap_tree = SitemapTree.new
|
|
@@ -54,12 +54,12 @@ module Middleman
|
|
|
54
54
|
sitemap_tree.add_resource resource
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
template('sitemap.html.erb', :
|
|
57
|
+
template('sitemap.html.erb', sitemap_tree: sitemap_tree)
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
# Inspect configuration
|
|
61
|
-
def config(
|
|
62
|
-
global_config = @middleman.inst.config.all_settings.map {|c| ConfigSetting.new(c) }
|
|
61
|
+
def config(_)
|
|
62
|
+
global_config = @middleman.inst.config.all_settings.map { |c| ConfigSetting.new(c) }
|
|
63
63
|
extension_config = {}
|
|
64
64
|
|
|
65
65
|
@middleman.inst.extensions.each do |ext_name, extension|
|
|
@@ -80,9 +80,9 @@ module Middleman
|
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
template('config.html.erb',
|
|
83
|
-
:
|
|
84
|
-
:
|
|
85
|
-
:
|
|
83
|
+
global_config: global_config,
|
|
84
|
+
extension_config: extension_config,
|
|
85
|
+
registered_extensions: Middleman::Extensions.registered.dup)
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
private
|
|
@@ -96,11 +96,11 @@ module Middleman
|
|
|
96
96
|
|
|
97
97
|
# Respond to an HTML request
|
|
98
98
|
def response(content)
|
|
99
|
-
[
|
|
99
|
+
[200, { 'Content-Type' => 'text/html' }, Array(content)]
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
def extension_options(extension)
|
|
103
|
-
extension.options.all_settings.map {|c| ConfigSetting.new(c) }
|
|
103
|
+
extension.options.all_settings.map { |c| ConfigSetting.new(c) }
|
|
104
104
|
end
|
|
105
105
|
end
|
|
106
106
|
end
|
|
@@ -15,17 +15,17 @@ module Middleman
|
|
|
15
15
|
content = ''
|
|
16
16
|
key_classes = ['key']
|
|
17
17
|
key_classes << 'modified' if @setting.value_set?
|
|
18
|
-
content << content_tag(:span, @setting.key.pretty_inspect.strip, :
|
|
18
|
+
content << content_tag(:span, @setting.key.pretty_inspect.strip, class: key_classes.join(' '))
|
|
19
19
|
content << ' = '
|
|
20
|
-
content << content_tag(:span, @setting.value.pretty_inspect.strip, :
|
|
20
|
+
content << content_tag(:span, @setting.value.pretty_inspect.strip, class: 'value')
|
|
21
21
|
if @setting.default && @setting.value_set? && @setting.default != @setting.value
|
|
22
|
-
content << content_tag(:span, :
|
|
22
|
+
content << content_tag(:span, class: 'default') do
|
|
23
23
|
"(Default: #{@setting.default.inspect})"
|
|
24
24
|
end
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
if @setting.description
|
|
28
|
-
content << content_tag(:p, :
|
|
28
|
+
content << content_tag(:p, class: 'description') do
|
|
29
29
|
@setting.description
|
|
30
30
|
end
|
|
31
31
|
end
|
|
@@ -14,7 +14,7 @@ module Middleman
|
|
|
14
14
|
def render
|
|
15
15
|
classes = 'resource-details'
|
|
16
16
|
classes << ' ignored' if @resource.ignored?
|
|
17
|
-
content_tag :div, :
|
|
17
|
+
content_tag :div, class: classes do
|
|
18
18
|
content_tag :table do
|
|
19
19
|
content = ''
|
|
20
20
|
resource_properties.each do |label, value|
|
|
@@ -38,7 +38,7 @@ module Middleman
|
|
|
38
38
|
build_path = @resource.destination_path
|
|
39
39
|
build_path = 'Not built' if ignored?
|
|
40
40
|
props['Build Path'] = build_path if @resource.path != build_path
|
|
41
|
-
props['URL'] = content_tag(:a, @resource.url, :
|
|
41
|
+
props['URL'] = content_tag(:a, @resource.url, href: @resource.url) unless ignored?
|
|
42
42
|
props['Source File'] = @resource.source_file.sub(/^#{Regexp.escape(ENV['MM_ROOT'] + '/')}/, '')
|
|
43
43
|
|
|
44
44
|
data = @resource.data
|
|
@@ -13,8 +13,7 @@ module Middleman
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def render
|
|
16
|
-
|
|
17
|
-
@children.keys.sort do |a,b|
|
|
16
|
+
sorted_children_keys = @children.keys.sort do |a, b|
|
|
18
17
|
a_subtree = @children[a]
|
|
19
18
|
b_subtree = @children[b]
|
|
20
19
|
if a_subtree.is_a? SitemapResource
|
|
@@ -32,7 +31,9 @@ module Middleman
|
|
|
32
31
|
else
|
|
33
32
|
a.downcase <=> b.downcase
|
|
34
33
|
end
|
|
35
|
-
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
sorted_children_keys.reduce('') do |content, path_part|
|
|
36
37
|
subtree = @children[path_part]
|
|
37
38
|
content << "<details class='#{subtree.css_classes.join(' ')}'>"
|
|
38
39
|
content << '<summary>'
|
|
@@ -41,7 +42,6 @@ module Middleman
|
|
|
41
42
|
content << subtree.render
|
|
42
43
|
content << '</details>'
|
|
43
44
|
end
|
|
44
|
-
content
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def css_classes
|
|
@@ -2,20 +2,20 @@ require 'webrick'
|
|
|
2
2
|
require 'middleman-core/meta_pages'
|
|
3
3
|
require 'middleman-core/logger'
|
|
4
4
|
|
|
5
|
+
# rubocop:disable GlobalVars
|
|
5
6
|
module Middleman
|
|
6
7
|
module PreviewServer
|
|
7
|
-
|
|
8
8
|
DEFAULT_PORT = 4567
|
|
9
9
|
|
|
10
10
|
class << self
|
|
11
11
|
attr_reader :app, :host, :port
|
|
12
|
-
delegate :logger, :
|
|
12
|
+
delegate :logger, to: :app
|
|
13
13
|
|
|
14
14
|
# Start an instance of Middleman::Application
|
|
15
15
|
# @return [void]
|
|
16
16
|
def start(opts={})
|
|
17
17
|
@options = opts
|
|
18
|
-
@host = @options[:host] ||
|
|
18
|
+
@host = @options[:host] || '0.0.0.0'
|
|
19
19
|
@port = @options[:port] || DEFAULT_PORT
|
|
20
20
|
|
|
21
21
|
mount_instance(new_app)
|
|
@@ -70,7 +70,7 @@ module Middleman
|
|
|
70
70
|
|
|
71
71
|
begin
|
|
72
72
|
app = new_app
|
|
73
|
-
rescue
|
|
73
|
+
rescue => e
|
|
74
74
|
logger.error "Error reloading Middleman: #{e}\n#{e.backtrace.join("\n")}"
|
|
75
75
|
logger.info '== The Middleman is still running the application from before the error'
|
|
76
76
|
return
|
|
@@ -89,7 +89,8 @@ module Middleman
|
|
|
89
89
|
@webrick.shutdown
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
private
|
|
93
|
+
|
|
93
94
|
def new_app
|
|
94
95
|
opts = @options.dup
|
|
95
96
|
server = ::Middleman::Application.server
|
|
@@ -120,7 +121,7 @@ module Middleman
|
|
|
120
121
|
if first_run
|
|
121
122
|
# Watcher Library
|
|
122
123
|
require 'listen'
|
|
123
|
-
@listener = Listen.to(Dir.pwd, :
|
|
124
|
+
@listener = Listen.to(Dir.pwd, relative_paths: true, force_polling: @options[:force_polling])
|
|
124
125
|
@listener.latency(@options[:latency])
|
|
125
126
|
end
|
|
126
127
|
|
|
@@ -166,10 +167,10 @@ module Middleman
|
|
|
166
167
|
# @return [void]
|
|
167
168
|
def setup_webrick(is_logging)
|
|
168
169
|
http_opts = {
|
|
169
|
-
:
|
|
170
|
-
:
|
|
171
|
-
:
|
|
172
|
-
:
|
|
170
|
+
BindAddress: host,
|
|
171
|
+
Port: port,
|
|
172
|
+
AccessLog: [],
|
|
173
|
+
DoNotReverseLookup: true
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
if is_logging
|
|
@@ -181,7 +182,7 @@ module Middleman
|
|
|
181
182
|
begin
|
|
182
183
|
::WEBrick::HTTPServer.new(http_opts)
|
|
183
184
|
rescue Errno::EADDRINUSE
|
|
184
|
-
logger.error "== Port #{port} is unavailable. Either close the instance of Middleman already running on #{port} or start this Middleman on a new port with: --port=#{port.to_i+1}"
|
|
185
|
+
logger.error "== Port #{port} is unavailable. Either close the instance of Middleman already running on #{port} or start this Middleman on a new port with: --port=#{port.to_i + 1}"
|
|
185
186
|
exit(1)
|
|
186
187
|
end
|
|
187
188
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module Middleman
|
|
2
2
|
module Profiling
|
|
3
|
-
|
|
4
3
|
# The profiler instance. There can only be one!
|
|
4
|
+
# rubocop:disable TrivialAccessors
|
|
5
5
|
def self.profiler=(prof)
|
|
6
6
|
@profiler = prof
|
|
7
7
|
end
|
|
@@ -24,18 +24,16 @@ module Middleman
|
|
|
24
24
|
def start
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
def report(
|
|
27
|
+
def report(_)
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
# A profiler that uses ruby-prof
|
|
32
32
|
class RubyProfProfiler
|
|
33
33
|
def initialize
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
raise "To use the --profile option, you must add the 'ruby-prof' gem to your Gemfile"
|
|
38
|
-
end
|
|
34
|
+
require 'ruby-prof'
|
|
35
|
+
rescue LoadError
|
|
36
|
+
raise "To use the --profile option, you must add the 'ruby-prof' gem to your Gemfile"
|
|
39
37
|
end
|
|
40
38
|
|
|
41
39
|
def start
|
|
@@ -50,7 +48,7 @@ module Middleman
|
|
|
50
48
|
outfile = (outfile + '.html') unless outfile.end_with? '.html'
|
|
51
49
|
FileUtils.mkdir_p(File.dirname(outfile))
|
|
52
50
|
File.open(outfile, 'w') do |f|
|
|
53
|
-
printer.print(f, :
|
|
51
|
+
printer.print(f, min_percent: 1)
|
|
54
52
|
end
|
|
55
53
|
end
|
|
56
54
|
end
|