middleman-core 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/features/helpers_select_tag.feature +19 -0
  4. data/lib/middleman-core.rb +4 -4
  5. data/lib/middleman-core/application.rb +40 -46
  6. data/lib/middleman-core/cli.rb +15 -15
  7. data/lib/middleman-core/cli/build.rb +26 -24
  8. data/lib/middleman-core/cli/bundler.rb +4 -4
  9. data/lib/middleman-core/cli/console.rb +6 -6
  10. data/lib/middleman-core/cli/extension.rb +12 -12
  11. data/lib/middleman-core/cli/init.rb +17 -17
  12. data/lib/middleman-core/cli/server.rb +28 -28
  13. data/lib/middleman-core/configuration.rb +2 -2
  14. data/lib/middleman-core/core_extensions.rb +23 -23
  15. data/lib/middleman-core/core_extensions/data.rb +5 -5
  16. data/lib/middleman-core/core_extensions/extensions.rb +6 -6
  17. data/lib/middleman-core/core_extensions/external_helpers.rb +2 -2
  18. data/lib/middleman-core/core_extensions/file_watcher.rb +3 -3
  19. data/lib/middleman-core/core_extensions/front_matter.rb +11 -11
  20. data/lib/middleman-core/core_extensions/rendering.rb +21 -21
  21. data/lib/middleman-core/core_extensions/request.rb +10 -8
  22. data/lib/middleman-core/core_extensions/routing.rb +1 -1
  23. data/lib/middleman-core/extensions.rb +5 -5
  24. data/lib/middleman-core/load_paths.rb +7 -7
  25. data/lib/middleman-core/logger.rb +13 -1
  26. data/lib/middleman-core/meta_pages.rb +2 -2
  27. data/lib/middleman-core/meta_pages/config_setting.rb +3 -3
  28. data/lib/middleman-core/meta_pages/sitemap_resource.rb +2 -2
  29. data/lib/middleman-core/meta_pages/sitemap_tree.rb +4 -4
  30. data/lib/middleman-core/preview_server.rb +16 -12
  31. data/lib/middleman-core/profiling.rb +1 -1
  32. data/lib/middleman-core/renderers/coffee_script.rb +1 -1
  33. data/lib/middleman-core/renderers/erb.rb +1 -1
  34. data/lib/middleman-core/renderers/haml.rb +1 -1
  35. data/lib/middleman-core/renderers/kramdown.rb +2 -2
  36. data/lib/middleman-core/renderers/less.rb +2 -2
  37. data/lib/middleman-core/renderers/liquid.rb +1 -1
  38. data/lib/middleman-core/renderers/markdown.rb +3 -3
  39. data/lib/middleman-core/renderers/redcarpet.rb +1 -1
  40. data/lib/middleman-core/renderers/sass.rb +7 -7
  41. data/lib/middleman-core/renderers/slim.rb +2 -2
  42. data/lib/middleman-core/renderers/stylus.rb +2 -2
  43. data/lib/middleman-core/sitemap.rb +8 -8
  44. data/lib/middleman-core/sitemap/extensions/ignores.rb +2 -2
  45. data/lib/middleman-core/sitemap/extensions/redirects.rb +4 -1
  46. data/lib/middleman-core/sitemap/extensions/traversal.rb +6 -6
  47. data/lib/middleman-core/sitemap/queryable.rb +3 -3
  48. data/lib/middleman-core/sitemap/resource.rb +6 -6
  49. data/lib/middleman-core/sitemap/store.rb +12 -12
  50. data/lib/middleman-core/step_definitions.rb +5 -5
  51. data/lib/middleman-core/step_definitions/builder_steps.rb +5 -5
  52. data/lib/middleman-core/step_definitions/server_steps.rb +6 -6
  53. data/lib/middleman-core/templates.rb +14 -14
  54. data/lib/middleman-core/templates/default.rb +17 -17
  55. data/lib/middleman-core/templates/empty.rb +3 -3
  56. data/lib/middleman-core/templates/extension/Gemfile +7 -7
  57. data/lib/middleman-core/templates/extension/Rakefile +1 -1
  58. data/lib/middleman-core/templates/extension/features/support/env.rb +2 -2
  59. data/lib/middleman-core/templates/extension/lib/lib.rb +2 -2
  60. data/lib/middleman-core/templates/extension/lib/middleman_extension.rb +1 -1
  61. data/lib/middleman-core/templates/html5.rb +9 -9
  62. data/lib/middleman-core/templates/local.rb +3 -3
  63. data/lib/middleman-core/templates/mobile.rb +6 -6
  64. data/lib/middleman-core/templates/shared/config.tt +1 -1
  65. data/lib/middleman-core/util.rb +234 -182
  66. data/lib/middleman-core/version.rb +1 -1
  67. data/lib/middleman-more/core_extensions/compass.rb +3 -3
  68. data/lib/middleman-more/core_extensions/default_helpers.rb +21 -10
  69. data/lib/middleman-more/core_extensions/i18n.rb +18 -18
  70. data/lib/middleman-more/extensions/asset_hash.rb +7 -5
  71. data/lib/middleman-more/extensions/asset_host.rb +2 -2
  72. data/lib/middleman-more/extensions/automatic_alt_tags.rb +4 -4
  73. data/lib/middleman-more/extensions/automatic_image_sizes.rb +3 -3
  74. data/lib/middleman-more/extensions/cache_buster.rb +7 -7
  75. data/lib/middleman-more/extensions/lorem.rb +5 -5
  76. data/lib/middleman-more/extensions/minify_css.rb +4 -4
  77. data/lib/middleman-more/extensions/minify_javascript.rb +3 -3
  78. data/lib/middleman-more/extensions/relative_assets.rb +1 -1
  79. data/lib/middleman-more/templates/smacss.rb +10 -10
  80. data/lib/middleman/rack.rb +2 -2
  81. data/middleman-core.gemspec +1 -1
  82. metadata +6 -4
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  # Current Version
3
3
  # @return [String]
4
- VERSION = '3.2.1' unless const_defined?(:VERSION)
4
+ VERSION = '3.2.2' unless const_defined?(:VERSION)
5
5
  end
@@ -1,5 +1,5 @@
1
- require "middleman-core/renderers/sass"
2
- require "compass"
1
+ require 'middleman-core/renderers/sass'
2
+ require 'compass'
3
3
 
4
4
  class Middleman::CoreExtensions::Compass < ::Middleman::Extension
5
5
 
@@ -44,7 +44,7 @@ class Middleman::CoreExtensions::Compass < ::Middleman::Extension
44
44
  compass_config.output_style = :nested
45
45
 
46
46
  # No line-comments in test mode (changing paths mess with sha1)
47
- compass_config.line_comments = false if ENV["TEST"]
47
+ compass_config.line_comments = false if ENV['TEST']
48
48
  end
49
49
 
50
50
  # Call hook
@@ -6,9 +6,9 @@ end
6
6
  class Padrino::Helpers::OutputHelpers::ErbHandler
7
7
  # Force Erb capture not to use safebuffer
8
8
  def capture_from_template(*args, &block)
9
- self.output_buffer, _buf_was = "", self.output_buffer
9
+ self.output_buffer, _buf_was = '', self.output_buffer
10
10
  captured_block = block.call(*args)
11
- ret = eval("@_out_buf", block.binding)
11
+ ret = eval('@_out_buf', block.binding)
12
12
  self.output_buffer = _buf_was
13
13
  [ ret, captured_block ]
14
14
  end
@@ -49,7 +49,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
49
49
  output = ActiveSupport::SafeBuffer.new
50
50
  output.safe_concat "<#{name}#{attributes}>"
51
51
  if content.respond_to?(:each) && !content.is_a?(String)
52
- content.each { |c| output.safe_concat c; output.safe_concat NEWLINE }
52
+ content.each { |c| output.safe_concat c; output.safe_concat ::Padrino::Helpers::TagHelpers::NEWLINE }
53
53
  else
54
54
  output.safe_concat "#{content}"
55
55
  end
@@ -60,7 +60,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
60
60
 
61
61
  def capture_html(*args, &block)
62
62
  handler = auto_find_proper_handler(&block)
63
- captured_block, captured_html = nil, ""
63
+ captured_block, captured_html = nil, ''
64
64
  if handler && handler.is_type? && handler.block_is_type?(block)
65
65
  captured_html, captured_block = handler.capture_from_template(*args, &block)
66
66
  end
@@ -134,7 +134,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
134
134
  parts = path.split('.').first.split('/')
135
135
  parts.each_with_index { |_, i| classes << parts.first(i+1).join('_') }
136
136
 
137
- prefix = options[:numeric_prefix] || "x"
137
+ prefix = options[:numeric_prefix] || 'x'
138
138
  classes.map do |c|
139
139
  # Replace weird class name characters
140
140
  c = c.gsub(/[^a-zA-Z0-9\-_]/, '-')
@@ -162,7 +162,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
162
162
  source = source.to_s.tr(' ', '')
163
163
  ignore_extension = (kind == :images || kind == :fonts) # don't append extension
164
164
  source << ".#{kind}" unless ignore_extension || source.end_with?(".#{kind}")
165
- asset_folder = "" if source.start_with?('/') # absolute path
165
+ asset_folder = '' if source.start_with?('/') # absolute path
166
166
 
167
167
  asset_url(source, asset_folder)
168
168
  end
@@ -172,7 +172,7 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
172
172
  # @param [String] path The path (such as "photo.jpg")
173
173
  # @param [String] prefix The type prefix (such as "images")
174
174
  # @return [String] The fully qualified asset url
175
- def asset_url(path, prefix="")
175
+ def asset_url(path, prefix='')
176
176
  # Don't touch assets which already have a full path
177
177
  if path.include?('//') or path.start_with?('data:')
178
178
  path
@@ -194,7 +194,10 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
194
194
  # or a Resource, this will produce the nice URL configured for that
195
195
  # path, respecting :relative_links, directory indexes, etc.
196
196
  def url_for(path_or_resource, options={})
197
- ::Middleman::Util.url_for(self, path_or_resource, options)
197
+ options_with_resource = options.dup
198
+ options_with_resource[:current_resource] ||= current_resource
199
+
200
+ ::Middleman::Util.url_for(self, path_or_resource, options_with_resource)
198
201
  end
199
202
 
200
203
  # Overload the regular link_to to be sitemap-aware - if you
@@ -215,15 +218,23 @@ class Middleman::CoreExtensions::DefaultHelpers < ::Middleman::Extension
215
218
  options_index = block_given? ? 1 : 2
216
219
 
217
220
  if block_given? && args.size > 2
218
- raise ArgumentError.new("Too many arguments to link_to(url, options={}, &block)")
221
+ raise ArgumentError.new('Too many arguments to link_to(url, options={}, &block)')
219
222
  end
220
223
 
221
224
  if url = args[url_arg_index]
222
225
  options = args[options_index] || {}
223
- raise ArgumentError.new("Options must be a hash") unless options.is_a?(Hash)
226
+ raise ArgumentError.new('Options must be a hash') unless options.is_a?(Hash)
224
227
 
225
228
  # Transform the url through our magic url_for method
226
229
  args[url_arg_index] = url_for(url, options)
230
+
231
+ # Cleanup before passing to Padrino
232
+ options.delete(:relative)
233
+ options.delete(:current_resource)
234
+ options.delete(:find_resource)
235
+ options.delete(:query)
236
+ options.delete(:anchor)
237
+ options.delete(:fragment)
227
238
  end
228
239
 
229
240
  super(*args, &block)
@@ -1,11 +1,11 @@
1
1
  class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
2
- option :no_fallbacks, false, "Disable I18n fallbacks"
3
- option :langs, nil, "List of langs, will autodiscover by default"
4
- option :lang_map, {}, "Language shortname map"
5
- option :path, "/:locale/", "URL prefix path"
6
- option :templates_dir, "localizable", "Location of templates to be localized"
7
- option :mount_at_root, nil, "Mount a specific language at the root of the site"
8
- option :data, "locales", "The directory holding your locale configurations"
2
+ option :no_fallbacks, false, 'Disable I18n fallbacks'
3
+ option :langs, nil, 'List of langs, will autodiscover by default'
4
+ option :lang_map, {}, 'Language shortname map'
5
+ option :path, '/:locale/', 'URL prefix path'
6
+ option :templates_dir, 'localizable', 'Location of templates to be localized'
7
+ option :mount_at_root, nil, 'Mount a specific language at the root of the site'
8
+ option :data, 'locales', 'The directory holding your locale configurations'
9
9
 
10
10
  def initialize(app, options_hash={}, &block)
11
11
  super
@@ -17,11 +17,11 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
17
17
 
18
18
  # See https://github.com/svenfuchs/i18n/wiki/Fallbacks
19
19
  unless options[:no_fallbacks]
20
- require "i18n/backend/fallbacks"
20
+ require 'i18n/backend/fallbacks'
21
21
  ::I18n::Backend::Simple.send(:include, ::I18n::Backend::Fallbacks)
22
22
  end
23
23
 
24
- app.config.define_setting :locales_dir, "locales", 'The directory holding your locale configurations'
24
+ app.config.define_setting :locales_dir, 'locales', 'The directory holding your locale configurations'
25
25
 
26
26
  app.send :include, LocaleHelpers
27
27
  end
@@ -29,7 +29,7 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
29
29
  def after_configuration
30
30
  app.files.reload_path(app.config[:locals_dir] || options[:data])
31
31
 
32
- @locales_glob = File.join(app.config[:locals_dir] || options[:data], "**", "*.{rb,yml,yaml}")
32
+ @locales_glob = File.join(app.config[:locals_dir] || options[:data], '**', '*.{rb,yml,yaml}')
33
33
  @locales_regex = convert_glob_to_regex(@locales_glob)
34
34
 
35
35
  @maps = {}
@@ -42,7 +42,7 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
42
42
  end
43
43
 
44
44
  # Don't output localizable files
45
- app.ignore File.join(options[:templates_dir], "**")
45
+ app.ignore File.join(options[:templates_dir], '**')
46
46
 
47
47
  app.sitemap.provides_metadata_for_path(&method(:metadata_for_path))
48
48
  app.files.changed(&method(:on_file_changed))
@@ -75,11 +75,11 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
75
75
  lang, path, page_id = result
76
76
  new_resources << build_resource(path, resource.path, page_id, lang)
77
77
  # If it's a "localizable template"
78
- elsif File.fnmatch?(File.join(options[:templates_dir], "**"), resource.path)
78
+ elsif File.fnmatch?(File.join(options[:templates_dir], '**'), resource.path)
79
79
  page_id = File.basename(resource.path, File.extname(resource.path))
80
80
  langs.each do |lang|
81
81
  # Remove folder name
82
- path = resource.path.sub(options[:templates_dir], "")
82
+ path = resource.path.sub(options[:templates_dir], '')
83
83
  new_resources << build_resource(path, resource.path, page_id, lang)
84
84
  end
85
85
  end
@@ -100,7 +100,7 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
100
100
 
101
101
  def convert_glob_to_regex(glob)
102
102
  # File.fnmatch doesn't support brackets: {rb,yml,yaml}
103
- regex = @locales_glob.sub(/\./, '\.').sub(File.join("**", "*"), ".*").sub(/\//, '\/').sub("{rb,yml,yaml}", "(rb|ya?ml)")
103
+ regex = @locales_glob.sub(/\./, '\.').sub(File.join('**', '*'), '.*').sub(/\//, '\/').sub('{rb,yml,yaml}', '(rb|ya?ml)')
104
104
  %r{^#{regex}}
105
105
  end
106
106
 
@@ -148,7 +148,7 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
148
148
  known_langs = app.files.known_paths.select do |p|
149
149
  p.to_s.match(@locales_regex) && (p.to_s.split(File::SEPARATOR).length === 2)
150
150
  end.map { |p|
151
- File.basename(p.to_s).sub(/\.ya?ml$/, "").sub(/\.rb$/, "")
151
+ File.basename(p.to_s).sub(/\.ya?ml$/, '').sub(/\.rb$/, '')
152
152
  }.sort.map(&:to_sym)
153
153
  end
154
154
  end
@@ -179,10 +179,10 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
179
179
  localized_page_id = ::I18n.t("paths.#{page_id}", :default => page_id, :fallback => [])
180
180
 
181
181
  prefix = if (options[:mount_at_root] == lang) || (options[:mount_at_root] == nil && langs[0] == lang)
182
- "/"
182
+ '/'
183
183
  else
184
184
  replacement = options[:lang_map].fetch(lang, lang)
185
- options[:path].sub(":locale", replacement.to_s)
185
+ options[:path].sub(':locale', replacement.to_s)
186
186
  end
187
187
 
188
188
  # path needs to be changed if file has a localizable extension. (options[mount_at_root] == lang)
@@ -190,7 +190,7 @@ class Middleman::CoreExtensions::Internationalization < ::Middleman::Extension
190
190
  File.join(prefix, path.sub(page_id, localized_page_id))
191
191
  )
192
192
 
193
- path.gsub!(options[:templates_dir]+"/", "")
193
+ path.gsub!(options[:templates_dir]+'/', '')
194
194
 
195
195
  @_localization_data[path] = [lang, path, localized_page_id]
196
196
 
@@ -1,6 +1,8 @@
1
+ require 'middleman-core/util'
2
+
1
3
  class Middleman::Extensions::AssetHash < ::Middleman::Extension
2
- option :exts, %w(.jpg .jpeg .png .gif .js .css .otf .woff .eot .ttf .svg), "List of extensions that get asset hashes appended to them."
3
- option :ignore, [], "Regexes of filenames to skip adding asset hashes to"
4
+ option :exts, %w(.jpg .jpeg .png .gif .js .css .otf .woff .eot .ttf .svg), 'List of extensions that get asset hashes appended to them.'
5
+ option :ignore, [], 'Regexes of filenames to skip adding asset hashes to'
4
6
 
5
7
  def initialize(app, options_hash={}, &block)
6
8
  super
@@ -41,7 +43,7 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension
41
43
  return if ignored_resource?(resource)
42
44
 
43
45
  # Render through the Rack interface so middleware and mounted apps get a shot
44
- response = @rack_client.get(URI.escape(resource.destination_path), {}, { "bypass_asset_hash" => "true" })
46
+ response = @rack_client.get(URI.escape(resource.destination_path), {}, { 'bypass_asset_hash' => 'true' })
45
47
  raise "#{resource.path} should be in the sitemap!" unless response.status == 200
46
48
 
47
49
  digest = Digest::SHA1.hexdigest(response.body)[0..7]
@@ -68,9 +70,9 @@ class Middleman::Extensions::AssetHash < ::Middleman::Extension
68
70
  status, headers, response = @rack_app.call(env)
69
71
 
70
72
  # We don't want to use this middleware when rendering files to figure out their hash!
71
- return [status, headers, response] if env["bypass_asset_hash"] == 'true'
73
+ return [status, headers, response] if env['bypass_asset_hash'] == 'true'
72
74
 
73
- path = @middleman_app.full_path(env["PATH_INFO"])
75
+ path = ::Middleman::Util.full_path(env['PATH_INFO'], @middleman_app)
74
76
 
75
77
  if path =~ /(^\/$)|(\.(htm|html|php|css|js)$)/
76
78
  body = ::Middleman::Util.extract_response_text(response)
@@ -26,13 +26,13 @@ class Middleman::Extensions::AssetHost < ::Middleman::Extension
26
26
  app.config[:asset_host] || options[:host]
27
27
  end
28
28
 
29
- helpers do
29
+ helpers do
30
30
  # Override default asset url helper to include asset hosts
31
31
  #
32
32
  # @param [String] path
33
33
  # @param [String] prefix
34
34
  # @return [String]
35
- def asset_url(path, prefix="")
35
+ def asset_url(path, prefix='')
36
36
  controller = extensions[:asset_host]
37
37
 
38
38
  original_output = super
@@ -8,10 +8,10 @@ class Middleman::Extensions::AutomaticAltTags < ::Middleman::Extension
8
8
  helpers do
9
9
  # Override default image_tag helper to automatically insert alt tag
10
10
  # containing image name.
11
-
11
+
12
12
  def image_tag(path)
13
- if !path.include?("://")
14
- params[:alt] ||= ""
13
+ if !path.include?('://')
14
+ params[:alt] ||= ''
15
15
 
16
16
  real_path = path
17
17
  real_path = File.join(images_dir, real_path) unless real_path.start_with?('/')
@@ -19,7 +19,7 @@ class Middleman::Extensions::AutomaticAltTags < ::Middleman::Extension
19
19
 
20
20
  if File.exists?(full_path)
21
21
  begin
22
- alt_text = File.basename(full_path, ".*")
22
+ alt_text = File.basename(full_path, '.*')
23
23
  alt_text.capitalize!
24
24
  params[:alt] = alt_text
25
25
  end
@@ -5,7 +5,7 @@ class Middleman::Extensions::AutomaticImageSizes < ::Middleman::Extension
5
5
  super
6
6
 
7
7
  # Include 3rd-party fastimage library
8
- require "vendored-middleman-deps/fastimage"
8
+ require 'vendored-middleman-deps/fastimage'
9
9
  end
10
10
 
11
11
  helpers do
@@ -16,8 +16,8 @@ class Middleman::Extensions::AutomaticImageSizes < ::Middleman::Extension
16
16
  # @param [Hash] params
17
17
  # @return [String]
18
18
  def image_tag(path, params={})
19
- if !params.has_key?(:width) && !params.has_key?(:height) && !path.include?("://")
20
- params[:alt] ||= ""
19
+ if !params.has_key?(:width) && !params.has_key?(:height) && !path.include?('://')
20
+ params[:alt] ||= ''
21
21
 
22
22
  real_path = path
23
23
  real_path = File.join(images_dir, real_path) unless real_path.start_with?('/')
@@ -10,7 +10,7 @@ class Middleman::Extensions::CacheBuster < ::Middleman::Extension
10
10
  real_path = real_path.path if real_path.is_a? File
11
11
  real_path = real_path.gsub(File.join(root, build_dir), source)
12
12
  if File.readable?(real_path)
13
- File.mtime(real_path).strftime("%s")
13
+ File.mtime(real_path).strftime('%s')
14
14
  else
15
15
  logger.warn "WARNING: '#{File.basename(path)}' was not found (or cannot be read) in #{File.dirname(real_path)}"
16
16
  end
@@ -18,14 +18,14 @@ class Middleman::Extensions::CacheBuster < ::Middleman::Extension
18
18
  end if app.respond_to?(:compass_config)
19
19
  end
20
20
 
21
- helpers do
21
+ helpers do
22
22
  # asset_url override if we're using cache busting
23
23
  # @param [String] path
24
24
  # @param [String] prefix
25
- def asset_url(path, prefix="")
25
+ def asset_url(path, prefix='')
26
26
  http_path = super
27
27
 
28
- if http_path.include?("://") || !%w(.css .png .jpg .jpeg .svg .svgz .js .gif).include?(File.extname(http_path))
28
+ if http_path.include?('://') || !%w(.css .png .jpg .jpeg .svg .svgz .js .gif).include?(File.extname(http_path))
29
29
  http_path
30
30
  else
31
31
  if respond_to?(:http_images_path) && prefix == http_images_path
@@ -37,15 +37,15 @@ class Middleman::Extensions::CacheBuster < ::Middleman::Extension
37
37
  if build?
38
38
  real_path_dynamic = File.join(build_dir, prefix, path)
39
39
  real_path_dynamic = File.expand_path(real_path_dynamic, root)
40
- http_path << "?" + File.mtime(real_path_dynamic).strftime("%s") if File.readable?(real_path_dynamic)
40
+ http_path << '?' + File.mtime(real_path_dynamic).strftime('%s') if File.readable?(real_path_dynamic)
41
41
  elsif resource = sitemap.find_resource_by_path(real_path_static)
42
42
  if !resource.template?
43
- http_path << "?" + File.mtime(resource.source_file).strftime("%s")
43
+ http_path << '?' + File.mtime(resource.source_file).strftime('%s')
44
44
  else
45
45
  # It's a template, possible with partials. We can't really
46
46
  # know when it's updated, so generate fresh cache buster every
47
47
  # time during developement
48
- http_path << "?" + Time.now.strftime("%s")
48
+ http_path << '?' + Time.now.strftime('%s')
49
49
  end
50
50
  end
51
51
 
@@ -12,7 +12,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
12
12
  # @param [Hash] options
13
13
  # @return [String]
14
14
  def placekitten(size, options={})
15
- options[:domain] = "http://placekitten.com"
15
+ options[:domain] = 'http://placekitten.com'
16
16
  lorem.image(size, options)
17
17
  end
18
18
  end
@@ -110,14 +110,14 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
110
110
  # Get a placeholder first name
111
111
  # @return [String]
112
112
  def first_name
113
- names = "Judith Angelo Margarita Kerry Elaine Lorenzo Justice Doris Raul Liliana Kerry Elise Ciaran Johnny Moses Davion Penny Mohammed Harvey Sheryl Hudson Brendan Brooklynn Denis Sadie Trisha Jacquelyn Virgil Cindy Alexa Marianne Giselle Casey Alondra Angela Katherine Skyler Kyleigh Carly Abel Adrianna Luis Dominick Eoin Noel Ciara Roberto Skylar Brock Earl Dwayne Jackie Hamish Sienna Nolan Daren Jean Shirley Connor Geraldine Niall Kristi Monty Yvonne Tammie Zachariah Fatima Ruby Nadia Anahi Calum Peggy Alfredo Marybeth Bonnie Gordon Cara John Staci Samuel Carmen Rylee Yehudi Colm Beth Dulce Darius inley Javon Jason Perla Wayne Laila Kaleigh Maggie Don Quinn Collin Aniya Zoe Isabel Clint Leland Esmeralda Emma Madeline Byron Courtney Vanessa Terry Antoinette George Constance Preston Rolando Caleb Kenneth Lynette Carley Francesca Johnnie Jordyn Arturo Camila Skye Guy Ana Kaylin Nia Colton Bart Brendon Alvin Daryl Dirk Mya Pete Joann Uriel Alonzo Agnes Chris Alyson Paola Dora Elias Allen Jackie Eric Bonita Kelvin Emiliano Ashton Kyra Kailey Sonja Alberto Ty Summer Brayden Lori Kelly Tomas Joey Billie Katie Stephanie Danielle Alexis Jamal Kieran Lucinda Eliza Allyson Melinda Alma Piper Deana Harriet Bryce Eli Jadyn Rogelio Orlaith Janet Randal Toby Carla Lorie Caitlyn Annika Isabelle inn Ewan Maisie Michelle Grady Ida Reid Emely Tricia Beau Reese Vance Dalton Lexi Rafael Makenzie Mitzi Clinton Xena Angelina Kendrick Leslie Teddy Jerald Noelle Neil Marsha Gayle Omar Abigail Alexandra Phil Andre Billy Brenden Bianca Jared Gretchen Patrick Antonio Josephine Kyla Manuel Freya Kellie Tonia Jamie Sydney Andres Ruben Harrison Hector Clyde Wendell Kaden Ian Tracy Cathleen Shawn".split(" ")
113
+ names = 'Judith Angelo Margarita Kerry Elaine Lorenzo Justice Doris Raul Liliana Kerry Elise Ciaran Johnny Moses Davion Penny Mohammed Harvey Sheryl Hudson Brendan Brooklynn Denis Sadie Trisha Jacquelyn Virgil Cindy Alexa Marianne Giselle Casey Alondra Angela Katherine Skyler Kyleigh Carly Abel Adrianna Luis Dominick Eoin Noel Ciara Roberto Skylar Brock Earl Dwayne Jackie Hamish Sienna Nolan Daren Jean Shirley Connor Geraldine Niall Kristi Monty Yvonne Tammie Zachariah Fatima Ruby Nadia Anahi Calum Peggy Alfredo Marybeth Bonnie Gordon Cara John Staci Samuel Carmen Rylee Yehudi Colm Beth Dulce Darius inley Javon Jason Perla Wayne Laila Kaleigh Maggie Don Quinn Collin Aniya Zoe Isabel Clint Leland Esmeralda Emma Madeline Byron Courtney Vanessa Terry Antoinette George Constance Preston Rolando Caleb Kenneth Lynette Carley Francesca Johnnie Jordyn Arturo Camila Skye Guy Ana Kaylin Nia Colton Bart Brendon Alvin Daryl Dirk Mya Pete Joann Uriel Alonzo Agnes Chris Alyson Paola Dora Elias Allen Jackie Eric Bonita Kelvin Emiliano Ashton Kyra Kailey Sonja Alberto Ty Summer Brayden Lori Kelly Tomas Joey Billie Katie Stephanie Danielle Alexis Jamal Kieran Lucinda Eliza Allyson Melinda Alma Piper Deana Harriet Bryce Eli Jadyn Rogelio Orlaith Janet Randal Toby Carla Lorie Caitlyn Annika Isabelle inn Ewan Maisie Michelle Grady Ida Reid Emely Tricia Beau Reese Vance Dalton Lexi Rafael Makenzie Mitzi Clinton Xena Angelina Kendrick Leslie Teddy Jerald Noelle Neil Marsha Gayle Omar Abigail Alexandra Phil Andre Billy Brenden Bianca Jared Gretchen Patrick Antonio Josephine Kyla Manuel Freya Kellie Tonia Jamie Sydney Andres Ruben Harrison Hector Clyde Wendell Kaden Ian Tracy Cathleen Shawn'.split(' ')
114
114
  names[rand(names.size)]
115
115
  end
116
116
 
117
117
  # Get a placeholder last name
118
118
  # @return [String]
119
119
  def last_name
120
- names = "Chung Chen Melton Hill Puckett Song Hamilton Bender Wagner McLaughlin McNamara Raynor Moon Woodard Desai Wallace Lawrence Griffin Dougherty Powers May Steele Teague Vick Gallagher Solomon Walsh Monroe Connolly Hawkins Middleton Goldstein Watts Johnston Weeks Wilkerson Barton Walton Hall Ross Chung Bender Woods Mangum Joseph Rosenthal Bowden Barton Underwood Jones Baker Merritt Cross Cooper Holmes Sharpe Morgan Hoyle Allen Rich Rich Grant Proctor Diaz Graham Watkins Hinton Marsh Hewitt Branch Walton O'Brien Case Watts Christensen Parks Hardin Lucas Eason Davidson Whitehead Rose Sparks Moore Pearson Rodgers Graves Scarborough Sutton Sinclair Bowman Olsen Love McLean Christian Lamb James Chandler Stout Cowan Golden Bowling Beasley Clapp Abrams Tilley Morse Boykin Sumner Cassidy Davidson Heath Blanchard McAllister McKenzie Byrne Schroeder Griffin Gross Perkins Robertson Palmer Brady Rowe Zhang Hodge Li Bowling Justice Glass Willis Hester Floyd Graves Fischer Norman Chan Hunt Byrd Lane Kaplan Heller May Jennings Hanna Locklear Holloway Jones Glover Vick O'Donnell Goldman McKenna Starr Stone McClure Watson Monroe Abbott Singer Hall Farrell Lucas Norman Atkins Monroe Robertson Sykes Reid Chandler Finch Hobbs Adkins Kinney Whitaker Alexander Conner Waters Becker Rollins Love Adkins Black Fox Hatcher Wu Lloyd Joyce Welch Matthews Chappell MacDonald Kane Butler Pickett Bowman Barton Kennedy Branch Thornton McNeill Weinstein Middleton Moss Lucas Rich Carlton Brady Schultz Nichols Harvey Stevenson Houston Dunn West O'Brien Barr Snyder Cain Heath Boswell Olsen Pittman Weiner Petersen Davis Coleman Terrell Norman Burch Weiner Parrott Henry Gray Chang McLean Eason Weeks Siegel Puckett Heath Hoyle Garrett Neal Baker Goldman Shaffer Choi Carver".split(" ")
120
+ names = "Chung Chen Melton Hill Puckett Song Hamilton Bender Wagner McLaughlin McNamara Raynor Moon Woodard Desai Wallace Lawrence Griffin Dougherty Powers May Steele Teague Vick Gallagher Solomon Walsh Monroe Connolly Hawkins Middleton Goldstein Watts Johnston Weeks Wilkerson Barton Walton Hall Ross Chung Bender Woods Mangum Joseph Rosenthal Bowden Barton Underwood Jones Baker Merritt Cross Cooper Holmes Sharpe Morgan Hoyle Allen Rich Rich Grant Proctor Diaz Graham Watkins Hinton Marsh Hewitt Branch Walton O'Brien Case Watts Christensen Parks Hardin Lucas Eason Davidson Whitehead Rose Sparks Moore Pearson Rodgers Graves Scarborough Sutton Sinclair Bowman Olsen Love McLean Christian Lamb James Chandler Stout Cowan Golden Bowling Beasley Clapp Abrams Tilley Morse Boykin Sumner Cassidy Davidson Heath Blanchard McAllister McKenzie Byrne Schroeder Griffin Gross Perkins Robertson Palmer Brady Rowe Zhang Hodge Li Bowling Justice Glass Willis Hester Floyd Graves Fischer Norman Chan Hunt Byrd Lane Kaplan Heller May Jennings Hanna Locklear Holloway Jones Glover Vick O'Donnell Goldman McKenna Starr Stone McClure Watson Monroe Abbott Singer Hall Farrell Lucas Norman Atkins Monroe Robertson Sykes Reid Chandler Finch Hobbs Adkins Kinney Whitaker Alexander Conner Waters Becker Rollins Love Adkins Black Fox Hatcher Wu Lloyd Joyce Welch Matthews Chappell MacDonald Kane Butler Pickett Bowman Barton Kennedy Branch Thornton McNeill Weinstein Middleton Moss Lucas Rich Carlton Brady Schultz Nichols Harvey Stevenson Houston Dunn West O'Brien Barr Snyder Cain Heath Boswell Olsen Pittman Weiner Petersen Davis Coleman Terrell Norman Burch Weiner Parrott Henry Gray Chang McLean Eason Weeks Siegel Puckett Heath Hoyle Garrett Neal Baker Goldman Shaffer Choi Carver".split(' ')
121
121
  names[rand(names.size)]
122
122
  end
123
123
 
@@ -145,7 +145,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
145
145
  # @param [Hash] options
146
146
  # @return [String]
147
147
  def image(size, options={})
148
- domain = options[:domain] || "http://placehold.it"
148
+ domain = options[:domain] || 'http://placehold.it'
149
149
  src = "#{domain}/#{size}"
150
150
  hex = %w[a b c d e f 0 1 2 3 4 5 6 7 8 9]
151
151
  background_color = options[:background_color]
@@ -157,7 +157,7 @@ class Middleman::Extensions::Lorem < ::Middleman::Extension
157
157
  end
158
158
 
159
159
  src << "/#{background_color.sub(/^#/, '')}" if background_color
160
- src << "/ccc" if background_color.nil? && color
160
+ src << '/ccc' if background_color.nil? && color
161
161
  src << "/#{color.sub(/^#/, '')}" if color
162
162
  src << "&text=#{Rack::Utils::escape(options[:text])}" if options[:text]
163
163
 
@@ -47,18 +47,18 @@ class Middleman::Extensions::MinifyCss < ::Middleman::Extension
47
47
  def call(env)
48
48
  status, headers, response = @app.call(env)
49
49
 
50
- if inline_html_content?(env["PATH_INFO"])
50
+ if inline_html_content?(env['PATH_INFO'])
51
51
  minified = ::Middleman::Util.extract_response_text(response)
52
52
  minified.gsub!(INLINE_CSS_REGEX) do |match|
53
53
  $1 << @compressor.compress($2) << $3
54
54
  end
55
55
 
56
- headers["Content-Length"] = ::Rack::Utils.bytesize(minified).to_s
56
+ headers['Content-Length'] = ::Rack::Utils.bytesize(minified).to_s
57
57
  response = [minified]
58
- elsif standalone_css_content?(env["PATH_INFO"])
58
+ elsif standalone_css_content?(env['PATH_INFO'])
59
59
  minified_css = @compressor.compress(::Middleman::Util.extract_response_text(response))
60
60
 
61
- headers["Content-Length"] = ::Rack::Utils.bytesize(minified_css).to_s
61
+ headers['Content-Length'] = ::Rack::Utils.bytesize(minified_css).to_s
62
62
  response = [minified_css]
63
63
  end
64
64
 
@@ -41,7 +41,7 @@ class Middleman::Extensions::MinifyJavascript < ::Middleman::Extension
41
41
  def call(env)
42
42
  status, headers, response = @app.call(env)
43
43
 
44
- path = env["PATH_INFO"]
44
+ path = env['PATH_INFO']
45
45
 
46
46
  begin
47
47
  if @inline && (path.end_with?('.html') || path.end_with?('.php'))
@@ -49,13 +49,13 @@ class Middleman::Extensions::MinifyJavascript < ::Middleman::Extension
49
49
 
50
50
  minified = minify_inline_content(uncompressed_source)
51
51
 
52
- headers["Content-Length"] = ::Rack::Utils.bytesize(minified).to_s
52
+ headers['Content-Length'] = ::Rack::Utils.bytesize(minified).to_s
53
53
  response = [minified]
54
54
  elsif path.end_with?('.js') && @ignore.none? {|ignore| Middleman::Util.path_match(ignore, path) }
55
55
  uncompressed_source = ::Middleman::Util.extract_response_text(response)
56
56
  minified = @compressor.compress(uncompressed_source)
57
57
 
58
- headers["Content-Length"] = ::Rack::Utils.bytesize(minified).to_s
58
+ headers['Content-Length'] = ::Rack::Utils.bytesize(minified).to_s
59
59
  response = [minified]
60
60
  end
61
61
  rescue ExecJS::ProgramError => e
@@ -15,7 +15,7 @@ class Middleman::Extensions::RelativeAssets < ::Middleman::Extension
15
15
  # @param [String] path
16
16
  # @param [String] prefix
17
17
  # @return [String]
18
- def asset_url(path, prefix="")
18
+ def asset_url(path, prefix='')
19
19
  path = super(path, prefix)
20
20
 
21
21
  if path.include?('//') || path.start_with?('data:') || !current_resource