middleman-core 3.3.2 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|