middleman-core 3.2.1 → 3.2.2
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/Rakefile +1 -1
- data/features/helpers_select_tag.feature +19 -0
- data/lib/middleman-core.rb +4 -4
- data/lib/middleman-core/application.rb +40 -46
- data/lib/middleman-core/cli.rb +15 -15
- data/lib/middleman-core/cli/build.rb +26 -24
- data/lib/middleman-core/cli/bundler.rb +4 -4
- data/lib/middleman-core/cli/console.rb +6 -6
- data/lib/middleman-core/cli/extension.rb +12 -12
- data/lib/middleman-core/cli/init.rb +17 -17
- data/lib/middleman-core/cli/server.rb +28 -28
- data/lib/middleman-core/configuration.rb +2 -2
- data/lib/middleman-core/core_extensions.rb +23 -23
- data/lib/middleman-core/core_extensions/data.rb +5 -5
- data/lib/middleman-core/core_extensions/extensions.rb +6 -6
- data/lib/middleman-core/core_extensions/external_helpers.rb +2 -2
- data/lib/middleman-core/core_extensions/file_watcher.rb +3 -3
- data/lib/middleman-core/core_extensions/front_matter.rb +11 -11
- data/lib/middleman-core/core_extensions/rendering.rb +21 -21
- data/lib/middleman-core/core_extensions/request.rb +10 -8
- data/lib/middleman-core/core_extensions/routing.rb +1 -1
- data/lib/middleman-core/extensions.rb +5 -5
- data/lib/middleman-core/load_paths.rb +7 -7
- data/lib/middleman-core/logger.rb +13 -1
- data/lib/middleman-core/meta_pages.rb +2 -2
- data/lib/middleman-core/meta_pages/config_setting.rb +3 -3
- 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 +16 -12
- data/lib/middleman-core/profiling.rb +1 -1
- data/lib/middleman-core/renderers/coffee_script.rb +1 -1
- data/lib/middleman-core/renderers/erb.rb +1 -1
- data/lib/middleman-core/renderers/haml.rb +1 -1
- data/lib/middleman-core/renderers/kramdown.rb +2 -2
- data/lib/middleman-core/renderers/less.rb +2 -2
- data/lib/middleman-core/renderers/liquid.rb +1 -1
- data/lib/middleman-core/renderers/markdown.rb +3 -3
- data/lib/middleman-core/renderers/redcarpet.rb +1 -1
- data/lib/middleman-core/renderers/sass.rb +7 -7
- data/lib/middleman-core/renderers/slim.rb +2 -2
- data/lib/middleman-core/renderers/stylus.rb +2 -2
- data/lib/middleman-core/sitemap.rb +8 -8
- data/lib/middleman-core/sitemap/extensions/ignores.rb +2 -2
- data/lib/middleman-core/sitemap/extensions/redirects.rb +4 -1
- data/lib/middleman-core/sitemap/extensions/traversal.rb +6 -6
- data/lib/middleman-core/sitemap/queryable.rb +3 -3
- data/lib/middleman-core/sitemap/resource.rb +6 -6
- data/lib/middleman-core/sitemap/store.rb +12 -12
- data/lib/middleman-core/step_definitions.rb +5 -5
- data/lib/middleman-core/step_definitions/builder_steps.rb +5 -5
- data/lib/middleman-core/step_definitions/server_steps.rb +6 -6
- data/lib/middleman-core/templates.rb +14 -14
- data/lib/middleman-core/templates/default.rb +17 -17
- data/lib/middleman-core/templates/empty.rb +3 -3
- data/lib/middleman-core/templates/extension/Gemfile +7 -7
- data/lib/middleman-core/templates/extension/Rakefile +1 -1
- data/lib/middleman-core/templates/extension/features/support/env.rb +2 -2
- data/lib/middleman-core/templates/extension/lib/lib.rb +2 -2
- data/lib/middleman-core/templates/extension/lib/middleman_extension.rb +1 -1
- data/lib/middleman-core/templates/html5.rb +9 -9
- data/lib/middleman-core/templates/local.rb +3 -3
- data/lib/middleman-core/templates/mobile.rb +6 -6
- data/lib/middleman-core/templates/shared/config.tt +1 -1
- data/lib/middleman-core/util.rb +234 -182
- data/lib/middleman-core/version.rb +1 -1
- data/lib/middleman-more/core_extensions/compass.rb +3 -3
- data/lib/middleman-more/core_extensions/default_helpers.rb +21 -10
- data/lib/middleman-more/core_extensions/i18n.rb +18 -18
- data/lib/middleman-more/extensions/asset_hash.rb +7 -5
- data/lib/middleman-more/extensions/asset_host.rb +2 -2
- data/lib/middleman-more/extensions/automatic_alt_tags.rb +4 -4
- data/lib/middleman-more/extensions/automatic_image_sizes.rb +3 -3
- data/lib/middleman-more/extensions/cache_buster.rb +7 -7
- data/lib/middleman-more/extensions/lorem.rb +5 -5
- data/lib/middleman-more/extensions/minify_css.rb +4 -4
- data/lib/middleman-more/extensions/minify_javascript.rb +3 -3
- data/lib/middleman-more/extensions/relative_assets.rb +1 -1
- data/lib/middleman-more/templates/smacss.rb +10 -10
- data/lib/middleman/rack.rb +2 -2
- data/middleman-core.gemspec +1 -1
- metadata +6 -4
|
@@ -9,8 +9,8 @@ module Middleman
|
|
|
9
9
|
# once registered
|
|
10
10
|
def registered(app)
|
|
11
11
|
# Setup a default helpers paths
|
|
12
|
-
app.config.define_setting :helpers_dir,
|
|
13
|
-
app.config.define_setting :helpers_filename_glob,
|
|
12
|
+
app.config.define_setting :helpers_dir, 'helpers', 'Directory to autoload helper modules from'
|
|
13
|
+
app.config.define_setting :helpers_filename_glob, '**.rb', 'Glob pattern for matching helper ruby files'
|
|
14
14
|
app.config.define_setting :helpers_filename_to_module_name_proc, Proc.new { |filename|
|
|
15
15
|
basename = File.basename(filename, File.extname(filename))
|
|
16
16
|
basename.camelcase
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require 'pathname'
|
|
2
|
+
require 'set'
|
|
3
3
|
|
|
4
4
|
# API for watching file change events
|
|
5
5
|
module Middleman
|
|
@@ -128,7 +128,7 @@ module Middleman
|
|
|
128
128
|
path = Pathname(path)
|
|
129
129
|
return unless path.exist?
|
|
130
130
|
|
|
131
|
-
glob = (path +
|
|
131
|
+
glob = (path + '**').to_s
|
|
132
132
|
subset = @known_paths.select { |p| p.fnmatch(glob) }
|
|
133
133
|
|
|
134
134
|
::Middleman::Util.all_files_under(path).each do |filepath|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'active_support/core_ext/hash/keys'
|
|
2
2
|
require 'pathname'
|
|
3
3
|
|
|
4
4
|
# Parsing YAML frontmatter
|
|
5
|
-
require
|
|
5
|
+
require 'yaml'
|
|
6
6
|
|
|
7
7
|
# Parsing JSON frontmatter
|
|
8
|
-
require
|
|
8
|
+
require 'active_support/json'
|
|
9
9
|
|
|
10
10
|
# Extensions namespace
|
|
11
11
|
module Middleman::CoreExtensions
|
|
@@ -48,7 +48,7 @@ module Middleman::CoreExtensions
|
|
|
48
48
|
{ :options => data, :page => ::Middleman::Util.recursively_enhance(fmdata).freeze }
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
module ResourceInstanceMethods
|
|
53
53
|
def ignored?
|
|
54
54
|
if !proxy? && raw_data[:ignored] == true
|
|
@@ -108,9 +108,9 @@ module Middleman::CoreExtensions
|
|
|
108
108
|
# Copied from Sitemap::Store#file_to_path, but without
|
|
109
109
|
# removing the file extension
|
|
110
110
|
file = File.join(app.root, file)
|
|
111
|
-
prefix = app.source_dir.sub(/\/$/,
|
|
111
|
+
prefix = app.source_dir.sub(/\/$/, '') + '/'
|
|
112
112
|
return unless file.include?(prefix)
|
|
113
|
-
path = file.sub(prefix,
|
|
113
|
+
path = file.sub(prefix, '').sub(/\.frontmatter$/, '')
|
|
114
114
|
|
|
115
115
|
@cache.delete(path)
|
|
116
116
|
end
|
|
@@ -122,7 +122,7 @@ module Middleman::CoreExtensions
|
|
|
122
122
|
def parse_yaml_front_matter(content, full_path)
|
|
123
123
|
yaml_regex = /\A(---\s*\n.*?\n?)^(---\s*$\n?)/m
|
|
124
124
|
if content =~ yaml_regex
|
|
125
|
-
content = content.sub(yaml_regex,
|
|
125
|
+
content = content.sub(yaml_regex, '')
|
|
126
126
|
|
|
127
127
|
begin
|
|
128
128
|
data = YAML.load($1) || {}
|
|
@@ -144,10 +144,10 @@ module Middleman::CoreExtensions
|
|
|
144
144
|
json_regex = /\A(;;;\s*\n.*?\n?)^(;;;\s*$\n?)/m
|
|
145
145
|
|
|
146
146
|
if content =~ json_regex
|
|
147
|
-
content = content.sub(json_regex,
|
|
147
|
+
content = content.sub(json_regex, '')
|
|
148
148
|
|
|
149
149
|
begin
|
|
150
|
-
json = ($1+$2).sub(
|
|
150
|
+
json = ($1+$2).sub(';;;', '{').sub(';;;', '}')
|
|
151
151
|
data = ActiveSupport::JSON.decode(json).symbolize_keys
|
|
152
152
|
rescue => e
|
|
153
153
|
app.logger.error "JSON Exception parsing #{full_path}: #{e.message}"
|
|
@@ -178,7 +178,7 @@ module Middleman::CoreExtensions
|
|
|
178
178
|
return [data, nil] if !app.files.exists?(full_path) || ::Middleman::Util.binary?(full_path)
|
|
179
179
|
|
|
180
180
|
content = File.read(full_path)
|
|
181
|
-
|
|
181
|
+
|
|
182
182
|
begin
|
|
183
183
|
if content =~ /\A.*coding:/
|
|
184
184
|
lines = content.split(/\n/)
|
|
@@ -196,7 +196,7 @@ module Middleman::CoreExtensions
|
|
|
196
196
|
end
|
|
197
197
|
|
|
198
198
|
def normalize_path(path)
|
|
199
|
-
path.sub(%r{^#{Regexp.escape(app.source_dir)}\/},
|
|
199
|
+
path.sub(%r{^#{Regexp.escape(app.source_dir)}\/}, '')
|
|
200
200
|
end
|
|
201
201
|
end
|
|
202
202
|
end
|
|
@@ -28,65 +28,65 @@ module Middleman
|
|
|
28
28
|
require 'active_support/core_ext/string/output_safety'
|
|
29
29
|
|
|
30
30
|
# Activate custom renderers
|
|
31
|
-
require
|
|
31
|
+
require 'middleman-core/renderers/erb'
|
|
32
32
|
app.register Middleman::Renderers::ERb
|
|
33
33
|
|
|
34
34
|
# CoffeeScript Support
|
|
35
35
|
begin
|
|
36
|
-
require
|
|
36
|
+
require 'middleman-core/renderers/coffee_script'
|
|
37
37
|
app.register Middleman::Renderers::CoffeeScript
|
|
38
38
|
rescue LoadError
|
|
39
39
|
end
|
|
40
40
|
|
|
41
41
|
# Haml Support
|
|
42
42
|
begin
|
|
43
|
-
require
|
|
43
|
+
require 'middleman-core/renderers/haml'
|
|
44
44
|
app.register Middleman::Renderers::Haml
|
|
45
45
|
rescue LoadError
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
# Sass Support
|
|
49
49
|
begin
|
|
50
|
-
require
|
|
50
|
+
require 'middleman-core/renderers/sass'
|
|
51
51
|
app.register Middleman::Renderers::Sass
|
|
52
52
|
rescue LoadError
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
# Markdown Support
|
|
56
|
-
require
|
|
56
|
+
require 'middleman-core/renderers/markdown'
|
|
57
57
|
app.register Middleman::Renderers::Markdown
|
|
58
58
|
|
|
59
59
|
# AsciiDoc Support
|
|
60
60
|
begin
|
|
61
|
-
require
|
|
61
|
+
require 'middleman-core/renderers/asciidoc'
|
|
62
62
|
app.register Middleman::Renderers::AsciiDoc
|
|
63
63
|
rescue LoadError
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
# Liquid Support
|
|
67
67
|
begin
|
|
68
|
-
require
|
|
68
|
+
require 'middleman-core/renderers/liquid'
|
|
69
69
|
app.register Middleman::Renderers::Liquid
|
|
70
70
|
rescue LoadError
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
# Slim Support
|
|
74
74
|
begin
|
|
75
|
-
require
|
|
75
|
+
require 'middleman-core/renderers/slim'
|
|
76
76
|
app.register Middleman::Renderers::Slim
|
|
77
77
|
rescue LoadError
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
# Less Support
|
|
81
81
|
begin
|
|
82
|
-
require
|
|
82
|
+
require 'middleman-core/renderers/less'
|
|
83
83
|
app.register Middleman::Renderers::Less
|
|
84
84
|
rescue LoadError
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
# Stylus Support
|
|
88
88
|
begin
|
|
89
|
-
require
|
|
89
|
+
require 'middleman-core/renderers/stylus'
|
|
90
90
|
app.register Middleman::Renderers::Stylus
|
|
91
91
|
rescue LoadError
|
|
92
92
|
end
|
|
@@ -198,7 +198,7 @@ module Middleman
|
|
|
198
198
|
engine = File.extname(resource.source_file)[1..-1].to_sym
|
|
199
199
|
|
|
200
200
|
# Look for partials relative to the current path
|
|
201
|
-
relative_dir = File.join(current_dir.sub(%r{^#{Regexp.escape(self.source_dir)}/?},
|
|
201
|
+
relative_dir = File.join(current_dir.sub(%r{^#{Regexp.escape(self.source_dir)}/?}, ''), data)
|
|
202
202
|
|
|
203
203
|
# Try to use the current engine first
|
|
204
204
|
found_partial, found_engine = resolve_template(relative_dir, :preferred_engine => engine, :try_without_underscore => true)
|
|
@@ -244,9 +244,9 @@ module Middleman
|
|
|
244
244
|
|
|
245
245
|
# Store last engine for later (could be inside nested renders)
|
|
246
246
|
context.current_engine, engine_was = engine, context.current_engine
|
|
247
|
-
|
|
247
|
+
|
|
248
248
|
# Save current buffer for later
|
|
249
|
-
@_out_buf, _buf_was =
|
|
249
|
+
@_out_buf, _buf_was = '', @_out_buf
|
|
250
250
|
|
|
251
251
|
# Read from disk or cache the contents of the file
|
|
252
252
|
body = if opts[:template_body]
|
|
@@ -284,7 +284,7 @@ module Middleman
|
|
|
284
284
|
content = callback.call(content, path, locs, template_class)
|
|
285
285
|
end
|
|
286
286
|
|
|
287
|
-
output = ::ActiveSupport::SafeBuffer.new
|
|
287
|
+
output = ::ActiveSupport::SafeBuffer.new ''
|
|
288
288
|
output.safe_concat content
|
|
289
289
|
output
|
|
290
290
|
ensure
|
|
@@ -400,7 +400,7 @@ module Middleman
|
|
|
400
400
|
# @return [void]
|
|
401
401
|
def wrap_layout(layout_name, &block)
|
|
402
402
|
# Save current buffer for later
|
|
403
|
-
@_out_buf, _buf_was =
|
|
403
|
+
@_out_buf, _buf_was = '', @_out_buf
|
|
404
404
|
|
|
405
405
|
layout_path = locate_layout(layout_name, self.current_engine)
|
|
406
406
|
|
|
@@ -414,7 +414,7 @@ module Middleman
|
|
|
414
414
|
content = if block_given?
|
|
415
415
|
capture_html(&block)
|
|
416
416
|
else
|
|
417
|
-
|
|
417
|
+
''
|
|
418
418
|
end
|
|
419
419
|
ensure
|
|
420
420
|
# Reset stored buffer
|
|
@@ -450,7 +450,7 @@ module Middleman
|
|
|
450
450
|
on_disk_path = File.expand_path(relative_path, self.source_dir)
|
|
451
451
|
|
|
452
452
|
# By default, any engine will do
|
|
453
|
-
preferred_engine =
|
|
453
|
+
preferred_engine = '*'
|
|
454
454
|
|
|
455
455
|
# Unless we're specifically looking for a preferred engine
|
|
456
456
|
if options.has_key?(:preferred_engine)
|
|
@@ -466,14 +466,14 @@ module Middleman
|
|
|
466
466
|
|
|
467
467
|
# Change the glob to only look for the matched extensions
|
|
468
468
|
if matched_exts.length > 0
|
|
469
|
-
preferred_engine =
|
|
469
|
+
preferred_engine = '{' + matched_exts.join(',') + '}'
|
|
470
470
|
else
|
|
471
471
|
return false
|
|
472
472
|
end
|
|
473
473
|
end
|
|
474
474
|
|
|
475
475
|
# Look for files that match
|
|
476
|
-
path_with_ext = on_disk_path +
|
|
476
|
+
path_with_ext = on_disk_path + '.' + preferred_engine
|
|
477
477
|
|
|
478
478
|
found_path = Dir[path_with_ext].find do |path|
|
|
479
479
|
::Tilt[path]
|
|
@@ -481,8 +481,8 @@ module Middleman
|
|
|
481
481
|
|
|
482
482
|
if !found_path && options[:try_without_underscore] &&
|
|
483
483
|
path_no_underscore = path_with_ext.
|
|
484
|
-
sub(relative_path, relative_path.sub(/^_/,
|
|
485
|
-
sub(/\/_/,
|
|
484
|
+
sub(relative_path, relative_path.sub(/^_/, '').
|
|
485
|
+
sub(/\/_/, '/'))
|
|
486
486
|
found_path = Dir[path_no_underscore].find do |path|
|
|
487
487
|
::Tilt[path]
|
|
488
488
|
end
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Built on Rack
|
|
2
|
-
require
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
2
|
+
require 'rack'
|
|
3
|
+
require 'rack/file'
|
|
4
|
+
require 'rack/lint'
|
|
5
|
+
require 'rack/head'
|
|
6
|
+
|
|
7
|
+
require 'middleman-core/util'
|
|
6
8
|
|
|
7
9
|
module Middleman
|
|
8
10
|
module CoreExtensions
|
|
@@ -77,7 +79,7 @@ module Middleman
|
|
|
77
79
|
end
|
|
78
80
|
|
|
79
81
|
inner_app = inst(&block)
|
|
80
|
-
app.map(
|
|
82
|
+
app.map('/') { run inner_app }
|
|
81
83
|
|
|
82
84
|
Array(@mappings).each do |path, block|
|
|
83
85
|
app.map(path, &block)
|
|
@@ -227,11 +229,11 @@ module Middleman
|
|
|
227
229
|
start_time = Time.now
|
|
228
230
|
current_path = nil
|
|
229
231
|
|
|
230
|
-
request_path = URI.decode(env[
|
|
232
|
+
request_path = URI.decode(env['PATH_INFO'].dup)
|
|
231
233
|
if request_path.respond_to? :force_encoding
|
|
232
234
|
request_path.force_encoding('UTF-8')
|
|
233
235
|
end
|
|
234
|
-
request_path = full_path(request_path)
|
|
236
|
+
request_path = ::Middleman::Util.full_path(request_path, self)
|
|
235
237
|
|
|
236
238
|
# Run before callbacks
|
|
237
239
|
run_hook :before
|
|
@@ -296,7 +298,7 @@ module Middleman
|
|
|
296
298
|
# Do not set Content-Type if status is 1xx, 204, 205 or 304, otherwise
|
|
297
299
|
# Rack will throw an error (500)
|
|
298
300
|
if !(100..199).include?(status) && ![204, 205, 304].include?(status)
|
|
299
|
-
response[1]['Content-Type'] = resource.content_type ||
|
|
301
|
+
response[1]['Content-Type'] = resource.content_type || 'application/octet-stream'
|
|
300
302
|
end
|
|
301
303
|
halt response
|
|
302
304
|
end
|
|
@@ -35,7 +35,7 @@ module Middleman
|
|
|
35
35
|
opts[:layout] = config[:layout] if opts[:layout].nil?
|
|
36
36
|
|
|
37
37
|
# If the url is a regexp
|
|
38
|
-
if url.is_a?(Regexp) || url.include?(
|
|
38
|
+
if url.is_a?(Regexp) || url.include?('*')
|
|
39
39
|
|
|
40
40
|
# Use the metadata loop for matching against paths at runtime
|
|
41
41
|
sitemap.provides_metadata_for_path(url) do |_|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require 'active_support/core_ext/class/attribute'
|
|
2
|
+
require 'active_support/core_ext/module/delegation'
|
|
3
3
|
|
|
4
4
|
module Middleman
|
|
5
5
|
|
|
@@ -53,7 +53,7 @@ module Middleman
|
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
# Where to look in gems for extensions to auto-register
|
|
56
|
-
EXTENSION_FILE = File.join(
|
|
56
|
+
EXTENSION_FILE = File.join('lib', 'middleman_extension.rb') unless const_defined?(:EXTENSION_FILE)
|
|
57
57
|
|
|
58
58
|
class << self
|
|
59
59
|
# Automatically load extensions from available RubyGems
|
|
@@ -61,7 +61,7 @@ module Middleman
|
|
|
61
61
|
#
|
|
62
62
|
# @private
|
|
63
63
|
def load_extensions_in_path
|
|
64
|
-
require
|
|
64
|
+
require 'rubygems'
|
|
65
65
|
|
|
66
66
|
extensions = rubygems_latest_specs.select do |spec|
|
|
67
67
|
spec_has_file?(spec, EXTENSION_FILE)
|
|
@@ -130,7 +130,7 @@ module Middleman
|
|
|
130
130
|
end
|
|
131
131
|
|
|
132
132
|
def extension_name
|
|
133
|
-
self.ext_name || self.name.underscore.split(
|
|
133
|
+
self.ext_name || self.name.underscore.split('/').last.to_sym
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
def register(n=self.extension_name)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Core Pathname library used for traversal
|
|
2
|
-
require
|
|
2
|
+
require 'pathname'
|
|
3
3
|
|
|
4
4
|
module Middleman
|
|
5
5
|
|
|
@@ -8,20 +8,20 @@ module Middleman
|
|
|
8
8
|
@_is_setup ||= begin
|
|
9
9
|
|
|
10
10
|
# Only look for config.rb if MM_ROOT isn't set
|
|
11
|
-
if !ENV[
|
|
12
|
-
ENV[
|
|
11
|
+
if !ENV['MM_ROOT'] && found_path = locate_root
|
|
12
|
+
ENV['MM_ROOT'] = found_path
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
is_bundler_setup = false
|
|
16
16
|
|
|
17
17
|
# If we've found the root, try to setup Bundler
|
|
18
|
-
if ENV[
|
|
18
|
+
if ENV['MM_ROOT']
|
|
19
19
|
|
|
20
|
-
root_gemfile = File.expand_path('Gemfile', ENV[
|
|
20
|
+
root_gemfile = File.expand_path('Gemfile', ENV['MM_ROOT'])
|
|
21
21
|
ENV['BUNDLE_GEMFILE'] ||= root_gemfile
|
|
22
22
|
|
|
23
23
|
if !File.exists?(ENV['BUNDLE_GEMFILE'])
|
|
24
|
-
git_gemfile = Pathname.new(__FILE__).expand_path.parent.parent.parent +
|
|
24
|
+
git_gemfile = Pathname.new(__FILE__).expand_path.parent.parent.parent + 'Gemfile'
|
|
25
25
|
ENV['BUNDLE_GEMFILE'] = git_gemfile.to_s
|
|
26
26
|
end
|
|
27
27
|
|
|
@@ -32,7 +32,7 @@ module Middleman
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
# Automatically discover extensions in RubyGems
|
|
35
|
-
require
|
|
35
|
+
require 'middleman-core/extensions'
|
|
36
36
|
|
|
37
37
|
if is_bundler_setup
|
|
38
38
|
Bundler.require
|
|
@@ -7,6 +7,18 @@ module Middleman
|
|
|
7
7
|
|
|
8
8
|
# The Middleman Logger
|
|
9
9
|
class Logger < ActiveSupport::BufferedLogger
|
|
10
|
+
|
|
11
|
+
def self.singleton(*args)
|
|
12
|
+
if !@_logger || args.length > 0
|
|
13
|
+
if args.length == 1 && (args.first.is_a?(::String) || args.first.respond_to?(:write))
|
|
14
|
+
args = [0, false, args.first]
|
|
15
|
+
end
|
|
16
|
+
@_logger = new(*args)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
@_logger
|
|
20
|
+
end
|
|
21
|
+
|
|
10
22
|
def initialize(log_level=1, is_instrumenting=false, target=$stdout)
|
|
11
23
|
super(target)
|
|
12
24
|
|
|
@@ -27,7 +39,7 @@ module Middleman
|
|
|
27
39
|
end
|
|
28
40
|
|
|
29
41
|
def call(message, *args)
|
|
30
|
-
return if @instrumenting.is_a?(String) && @instrumenting !=
|
|
42
|
+
return if @instrumenting.is_a?(String) && @instrumenting != 'instrument' && !message.include?(@instrumenting)
|
|
31
43
|
|
|
32
44
|
evt = ActiveSupport::Notifications::Event.new(message, *args)
|
|
33
45
|
self.info "== Instrument (#{evt.name.sub(/.middleman$/, '')}): #{evt.duration}ms"
|
|
@@ -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, :urls => [
|
|
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)
|
|
@@ -96,7 +96,7 @@ module Middleman
|
|
|
96
96
|
|
|
97
97
|
# Respond to an HTML request
|
|
98
98
|
def response(content)
|
|
99
|
-
[ 200, {
|
|
99
|
+
[ 200, {'Content-Type' => 'text/html'}, Array(content) ]
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
def extension_options(extension)
|
|
@@ -10,18 +10,18 @@ module Middleman
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def render
|
|
13
|
-
content =
|
|
13
|
+
content = ''
|
|
14
14
|
key_classes = ['key']
|
|
15
15
|
key_classes << 'modified' if @setting.value_set?
|
|
16
16
|
content << content_tag(:span, @setting.key.inspect, :class => key_classes.join(' '))
|
|
17
|
-
content <<
|
|
17
|
+
content << ' = '
|
|
18
18
|
content << content_tag(:span, @setting.value.inspect, :class => 'value')
|
|
19
19
|
if @setting.default
|
|
20
20
|
content << content_tag(:span, :class => 'default') do
|
|
21
21
|
if @setting.value_set?
|
|
22
22
|
"Default: #{@setting.default.inspect}"
|
|
23
23
|
else
|
|
24
|
-
|
|
24
|
+
'(Default)'
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
end
|