middleman 2.0.0.rc92 → 2.0.0.rc93

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.
Files changed (55) hide show
  1. data/CHANGELOG +3 -1
  2. data/Rakefile +1 -40
  3. data/bin/middleman +8 -0
  4. data/bin/mm-build +2 -7
  5. data/bin/mm-init +2 -27
  6. data/bin/mm-server +2 -46
  7. data/features/asset_host.feature +2 -2
  8. data/features/automatic_image_sizes.feature +2 -2
  9. data/features/builder.feature +16 -16
  10. data/features/cache_buster.feature +4 -4
  11. data/features/coffee-script.feature +3 -3
  12. data/features/data.feature +1 -1
  13. data/features/directory_index.feature +27 -0
  14. data/features/dynamic_pages.feature +18 -9
  15. data/features/front-matter.feature +1 -1
  16. data/features/helpers_auto_javascript_include_tag.feature +5 -5
  17. data/features/helpers_auto_stylesheet_link_tag.feature +5 -5
  18. data/features/helpers_page_classes.feature +3 -3
  19. data/features/minify_css.feature +2 -2
  20. data/features/minify_javascript.feature +3 -3
  21. data/features/padrino_helpers.feature +1 -1
  22. data/features/page_alias_and_layouts.feature +5 -5
  23. data/features/relative_assets.feature +6 -6
  24. data/features/scss-support.feature +2 -2
  25. data/features/sinatra.feature +1 -1
  26. data/features/slim.feature +1 -1
  27. data/features/sprockets.feature +1 -1
  28. data/features/step_definitions/builder_steps.rb +22 -17
  29. data/features/step_definitions/generator_steps.rb +1 -1
  30. data/features/step_definitions/middleman_steps.rb +3 -1
  31. data/features/step_definitions/page_layout_steps.rb +0 -2
  32. data/features/support/env.rb +0 -1
  33. data/features/tiny_src.feature +2 -2
  34. data/fixtures/indexable-app/config.rb +2 -0
  35. data/fixtures/indexable-app/source/a_folder/needs_index.html +1 -0
  36. data/fixtures/indexable-app/source/leave_me_alone.html +1 -0
  37. data/fixtures/indexable-app/source/needs_index.html +1 -0
  38. data/fixtures/test-app/config.rb +4 -0
  39. data/fixtures/test-app/source/a_folder/needs_index.html +1 -0
  40. data/fixtures/test-app/source/needs_index.html +1 -0
  41. data/fixtures/test-app/source/should_be_ignored.html +1 -0
  42. data/fixtures/test-app/source/should_be_ignored2.html +1 -0
  43. data/fixtures/test-app/source/should_be_ignored3.html +1 -0
  44. data/lib/middleman.rb +10 -8
  45. data/lib/middleman/base.rb +25 -2
  46. data/lib/middleman/builder.rb +23 -10
  47. data/lib/middleman/cli.rb +84 -0
  48. data/lib/middleman/core_extensions/routing.rb +22 -2
  49. data/lib/middleman/features/blog.rb +0 -1
  50. data/lib/middleman/features/directory_indexes.rb +50 -0
  51. data/lib/middleman/guard.rb +7 -3
  52. data/lib/middleman/version.rb +1 -1
  53. data/middleman.gemspec +9 -9
  54. metadata +110 -88
  55. data/bin/mm-migrate +0 -5
@@ -0,0 +1,84 @@
1
+ require 'thor'
2
+
3
+ module Middleman
4
+ class CLI < Thor
5
+ include Thor::Actions
6
+ check_unknown_options!
7
+ default_task :server
8
+
9
+ class_option "help", :type => :boolean, :default => false, :aliases => "-h"
10
+ def initialize(*)
11
+ super
12
+ help_check if options[:help]
13
+ end
14
+
15
+ desc "init NAME", "Create new Middleman project directory NAME"
16
+ available_templates = Middleman::Templates.registered_names.join(", ")
17
+ method_option "template", :aliases => "-T", :default => "default", :desc => "Optionally use a pre-defined project template: #{available_templates}"
18
+ method_option "css_dir", :default => "stylesheets", :desc => 'The path to the css files'
19
+ method_option "js_dir", :default => "javascripts", :desc => 'The path to the javascript files'
20
+ method_option "images_dir", :default => "images", :desc => 'The path to the image files'
21
+ def init(name)
22
+ key = options[:template].to_sym
23
+ unless Middleman::Templates.registered_templates.has_key?(key)
24
+ key = :default
25
+ end
26
+
27
+ thor_group = Middleman::Templates.registered_templates[key]
28
+ thor_group.new([name], options).invoke_all
29
+ end
30
+
31
+ desc "server [-p 4567] [-e development]", "Starts the Middleman preview server"
32
+ method_option "environment", :aliases => "-e", :default => ENV['MM_ENV'] || ENV['RACK_ENV'] || 'development', :desc => "The environment Middleman will run under"
33
+ method_option "port", :aliases => "-p", :default => "4567", :desc => "The port Middleman will listen on"
34
+ method_option "livereload", :default => false, :type => :boolean, :desc => "Whether to enable Livereload or not"
35
+ method_option "livereload-port", :default => "35729", :desc => "The port Livereload will listen on"
36
+ def server
37
+ config_check
38
+ if options["livereload"]
39
+ livereload_options = {:port => options["livereload-port"]}
40
+ end
41
+
42
+ Middleman::Guard.start({
43
+ :port => options[:port],
44
+ :environment => options[:environment]
45
+ }, livereload_options)
46
+ end
47
+
48
+ desc "build", "Builds the static site for deployment"
49
+ method_option "relative", :type => :boolean, :aliases => "-r", :default => false, :desc => 'Override the config.rb file and force relative urls'
50
+ def build
51
+ config_check
52
+ thor_group = Middleman::Builder.new([], options).invoke_all
53
+ end
54
+
55
+ desc "migrate", "Migrates an older Middleman project to the 2.0 structure"
56
+ def migrate
57
+ config_check
58
+ return if File.exists?("source")
59
+ `mv public source`
60
+ `cp -R views/* source/`
61
+ `rm -rf views`
62
+ end
63
+
64
+ private
65
+
66
+ def config_check
67
+ if !File.exists?("config.rb")
68
+ $stderr.puts "== Error: Could not find a Middleman project config, perhaps you are in the wrong folder?"
69
+ exit 1
70
+ end
71
+
72
+ if File.exists?("views") || File.exists?("public")
73
+ $stderr.puts "== Error: The views and public folders are have been combined. Create a new 'source' folder, add the contents of views and public to it and then remove the empty views and public folders."
74
+ exit 1
75
+ end
76
+ end
77
+
78
+ def help_check
79
+ help self.class.send(:retrieve_task_name, ARGV.dup)
80
+ exit 0
81
+ end
82
+
83
+ end
84
+ end
@@ -4,6 +4,11 @@ module Middleman::CoreExtensions::Routing
4
4
  app.extend ClassMethods
5
5
 
6
6
  app.set :proxied_paths, {}
7
+ app.set :excluded_paths, []
8
+
9
+ app.build_reroute do |destination, request_path|
10
+ throw if app.settings.excluded_paths.include?(request_path)
11
+ end
7
12
 
8
13
  # Normalize the path and add index if we're looking at a directory
9
14
  app.before_processing do
@@ -38,7 +43,7 @@ module Middleman::CoreExtensions::Routing
38
43
  end
39
44
 
40
45
  def paths_for_url(url)
41
- url = url.gsub(%r{#{settings.index_file}$}, "")
46
+ url = url.gsub(%r{\/#{settings.index_file}$}, "")
42
47
  url = url.gsub(%r{(\/)$}, "") if url.length > 1
43
48
 
44
49
  paths = [url]
@@ -47,6 +52,13 @@ module Middleman::CoreExtensions::Routing
47
52
  paths
48
53
  end
49
54
 
55
+ # Keep a path from building
56
+ def ignore(path)
57
+ settings.excluded_paths << paths_for_url(path)
58
+ settings.excluded_paths.flatten!
59
+ settings.excluded_paths.uniq!
60
+ end
61
+
50
62
  # The page method allows the layout to be set on a specific path
51
63
  # page "/about.html", :layout => false
52
64
  # page "/", :layout => :homepage_layout
@@ -56,11 +68,19 @@ module Middleman::CoreExtensions::Routing
56
68
 
57
69
  if options.has_key?(:proxy)
58
70
  settings.proxied_paths[url] = options[:proxy]
71
+ if options.has_key?(:ignore) && options[:ignore]
72
+ settings.ignore(options[:proxy])
73
+ end
74
+ else
75
+ if options.has_key?(:ignore) && options[:ignore]
76
+ settings.ignore(url)
77
+ end
59
78
  end
60
-
79
+
61
80
  paths_for_url(url).each do |p|
62
81
  get(p) do
63
82
  if settings.proxied_paths.has_key?(url)
83
+ request["is_proxy"] = true
64
84
  request.path_info = settings.proxied_paths[url]
65
85
  end
66
86
 
@@ -46,7 +46,6 @@ module Middleman
46
46
  end
47
47
 
48
48
  app.get("/#{app.blog_permalink}") do
49
- $stderr.puts "*" * 500
50
49
  process_request({
51
50
  :layout => app.blog_layout,
52
51
  :layout_engine => app.blog_layout_engine
@@ -0,0 +1,50 @@
1
+ module Middleman::Features::DirectoryIndexes
2
+ class << self
3
+ def registered(app)
4
+ app.set :ignored_directory_indexes, []
5
+ app.extend ClassMethods
6
+
7
+ app.build_reroute do |destination, request_path|
8
+ index_ext = File.extname(app.settings.index_file)
9
+ new_index_path = "/#{app.settings.index_file}"
10
+
11
+ indexed_path = request_path.gsub(/\/$/, "") + index_ext
12
+
13
+ if app.settings.ignored_directory_indexes.include?(request_path)
14
+ false
15
+ else
16
+ [
17
+ destination.gsub(/#{index_ext.gsub(".", "\\.")}$/, new_index_path),
18
+ request_path.gsub(/#{index_ext.gsub(".", "\\.")}$/, new_index_path)
19
+ ]
20
+ end
21
+ end
22
+
23
+ app.before do
24
+ indexed_path = request.path_info.gsub(/\/$/, "") + File.extname(app.settings.index_file)
25
+
26
+ if !settings.ignored_directory_indexes.include?(indexed_path)
27
+ parts = request.path_info.split("/")
28
+ last_part = parts.last
29
+ last_part_ext = File.extname(last_part)
30
+
31
+ if last_part_ext.blank?
32
+ # This is a folder, redirect to index
33
+ request.path_info = indexed_path
34
+ end
35
+ end
36
+ end
37
+ end
38
+ alias :included :registered
39
+ end
40
+
41
+ module ClassMethods
42
+ def page(url, options={}, &block)
43
+ if options.has_key?(:directory_index) && !options["directory_index"]
44
+ settings.ignored_directory_indexes << url
45
+ else
46
+ super
47
+ end
48
+ end
49
+ end
50
+ end
@@ -56,11 +56,15 @@ module Guard
56
56
  def server_start
57
57
  @server_options = {
58
58
  :Port => @options[:port],
59
- :Logger => ::WEBrick::Log.new('/dev/null'),
60
- :AccessLog => ::WEBrick::Log.new('/dev/null')
59
+ :AccessLog => []
60
+ # :AccessLog => ::WEBrick::Log.new('/dev/null'),
61
+ # :Logger => ::WEBrick::Log.new('/dev/null')
61
62
  }
62
63
  @server_job = fork do
63
- @server_options[:app] = ::Middleman.server.new
64
+ app = ::Middleman.server
65
+ app.set :environment, @options[:environment].to_sym
66
+ @server_options[:app] = app.new
67
+ @server_options[:server] = 'thin'
64
68
  ::Rack::Server.new(@server_options).start
65
69
  end
66
70
 
@@ -1,3 +1,3 @@
1
1
  module Middleman
2
- VERSION = "2.0.0.rc92"
2
+ VERSION = "2.0.0.rc93"
3
3
  end
data/middleman.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.version = Middleman::VERSION
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Thomas Reynolds"]
10
- s.email = ["tdreyno@gmail.com"]
10
+ s.email = ["me@tdreyno.com"]
11
11
  s.homepage = "http://middlemanapp.com"
12
12
  s.summary = "A static site generator based on Sinatra. Providing Haml, Sass, Compass, CoffeeScript and including minification, compression and cache busting."
13
13
 
@@ -19,20 +19,21 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_runtime_dependency("rack", ["~> 1.3.0"])
22
+ s.add_runtime_dependency("thin", ["~> 1.2.11"])
22
23
  s.add_runtime_dependency("thor", ["~> 0.14.0"])
23
24
  s.add_runtime_dependency("tilt", ["~> 1.3.1"])
24
25
  s.add_runtime_dependency("rdiscount", ["~> 1.6.8"])
25
- s.add_runtime_dependency("sinatra", ["~> 1.2.0"])
26
- s.add_runtime_dependency("padrino-core", ["~> 0.9.23"])
27
- s.add_runtime_dependency("padrino-helpers", ["~> 0.9.23"])
28
- s.add_runtime_dependency("rack-test", ["~> 0.5.0"])
29
- s.add_runtime_dependency("uglifier", ["~> 0.5.0"])
30
- s.add_runtime_dependency("slim", ["~> 1.0.0"])
26
+ s.add_runtime_dependency("sinatra", ["~> 1.2.6"])
27
+ s.add_runtime_dependency("padrino-core", ["~> 0.10.0"])
28
+ s.add_runtime_dependency("padrino-helpers", ["~> 0.10.0"])
29
+ s.add_runtime_dependency("rack-test", ["~> 0.6.1"])
30
+ s.add_runtime_dependency("uglifier", ["~> 1.0.0"])
31
+ s.add_runtime_dependency("slim", ["~> 0.9.0"])
31
32
  s.add_runtime_dependency("haml", ["~> 3.1.0"])
32
33
  s.add_runtime_dependency("sass", ["~> 3.1.5"])
33
34
  s.add_runtime_dependency("coffee-script", ["~> 2.2.0"])
34
35
  s.add_runtime_dependency("compass", ["~> 0.11.3"])
35
- s.add_runtime_dependency("sprockets", ["2.0.0.beta.10"])
36
+ s.add_runtime_dependency("sprockets", ["2.0.0.beta.12"])
36
37
  s.add_runtime_dependency("httparty", ["~> 0.7.0"])
37
38
  s.add_runtime_dependency("guard", ["~> 0.5.1"])
38
39
  s.add_runtime_dependency("guard-livereload", ["~> 0.2.0"])
@@ -40,6 +41,5 @@ Gem::Specification.new do |s|
40
41
  s.add_development_dependency("cucumber", ["~> 0.10.0"])
41
42
  s.add_development_dependency("rake", ["0.8.7"])
42
43
  s.add_development_dependency("rspec", ["~> 2.6.0"])
43
- s.add_development_dependency("rocco", ["~> 0.8.1"]) unless defined?(JRUBY_VERSION)
44
44
  end
45
45
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424237
4
+ hash: 15424239
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 2
8
8
  - 0
9
9
  - 0
10
10
  - rc
11
- - 92
12
- version: 2.0.0.rc92
11
+ - 93
12
+ version: 2.0.0.rc93
13
13
  platform: ruby
14
14
  authors:
15
15
  - Thomas Reynolds
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-07-26 00:00:00 Z
20
+ date: 2011-08-01 00:00:00 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rack
@@ -36,9 +36,25 @@ dependencies:
36
36
  type: :runtime
37
37
  version_requirements: *id001
38
38
  - !ruby/object:Gem::Dependency
39
- name: thor
39
+ name: thin
40
40
  prerelease: false
41
41
  requirement: &id002 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ hash: 9
47
+ segments:
48
+ - 1
49
+ - 2
50
+ - 11
51
+ version: 1.2.11
52
+ type: :runtime
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: thor
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
42
58
  none: false
43
59
  requirements:
44
60
  - - ~>
@@ -50,11 +66,11 @@ dependencies:
50
66
  - 0
51
67
  version: 0.14.0
52
68
  type: :runtime
53
- version_requirements: *id002
69
+ version_requirements: *id003
54
70
  - !ruby/object:Gem::Dependency
55
71
  name: tilt
56
72
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
73
+ requirement: &id004 !ruby/object:Gem::Requirement
58
74
  none: false
59
75
  requirements:
60
76
  - - ~>
@@ -66,11 +82,11 @@ dependencies:
66
82
  - 1
67
83
  version: 1.3.1
68
84
  type: :runtime
69
- version_requirements: *id003
85
+ version_requirements: *id004
70
86
  - !ruby/object:Gem::Dependency
71
87
  name: rdiscount
72
88
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
89
+ requirement: &id005 !ruby/object:Gem::Requirement
74
90
  none: false
75
91
  requirements:
76
92
  - - ~>
@@ -82,107 +98,107 @@ dependencies:
82
98
  - 8
83
99
  version: 1.6.8
84
100
  type: :runtime
85
- version_requirements: *id004
101
+ version_requirements: *id005
86
102
  - !ruby/object:Gem::Dependency
87
103
  name: sinatra
88
104
  prerelease: false
89
- requirement: &id005 !ruby/object:Gem::Requirement
105
+ requirement: &id006 !ruby/object:Gem::Requirement
90
106
  none: false
91
107
  requirements:
92
108
  - - ~>
93
109
  - !ruby/object:Gem::Version
94
- hash: 31
110
+ hash: 19
95
111
  segments:
96
112
  - 1
97
113
  - 2
98
- - 0
99
- version: 1.2.0
114
+ - 6
115
+ version: 1.2.6
100
116
  type: :runtime
101
- version_requirements: *id005
117
+ version_requirements: *id006
102
118
  - !ruby/object:Gem::Dependency
103
119
  name: padrino-core
104
120
  prerelease: false
105
- requirement: &id006 !ruby/object:Gem::Requirement
121
+ requirement: &id007 !ruby/object:Gem::Requirement
106
122
  none: false
107
123
  requirements:
108
124
  - - ~>
109
125
  - !ruby/object:Gem::Version
110
- hash: 21
126
+ hash: 55
111
127
  segments:
112
128
  - 0
113
- - 9
114
- - 23
115
- version: 0.9.23
129
+ - 10
130
+ - 0
131
+ version: 0.10.0
116
132
  type: :runtime
117
- version_requirements: *id006
133
+ version_requirements: *id007
118
134
  - !ruby/object:Gem::Dependency
119
135
  name: padrino-helpers
120
136
  prerelease: false
121
- requirement: &id007 !ruby/object:Gem::Requirement
137
+ requirement: &id008 !ruby/object:Gem::Requirement
122
138
  none: false
123
139
  requirements:
124
140
  - - ~>
125
141
  - !ruby/object:Gem::Version
126
- hash: 21
142
+ hash: 55
127
143
  segments:
128
144
  - 0
129
- - 9
130
- - 23
131
- version: 0.9.23
145
+ - 10
146
+ - 0
147
+ version: 0.10.0
132
148
  type: :runtime
133
- version_requirements: *id007
149
+ version_requirements: *id008
134
150
  - !ruby/object:Gem::Dependency
135
151
  name: rack-test
136
152
  prerelease: false
137
- requirement: &id008 !ruby/object:Gem::Requirement
153
+ requirement: &id009 !ruby/object:Gem::Requirement
138
154
  none: false
139
155
  requirements:
140
156
  - - ~>
141
157
  - !ruby/object:Gem::Version
142
- hash: 11
158
+ hash: 5
143
159
  segments:
144
160
  - 0
145
- - 5
146
- - 0
147
- version: 0.5.0
161
+ - 6
162
+ - 1
163
+ version: 0.6.1
148
164
  type: :runtime
149
- version_requirements: *id008
165
+ version_requirements: *id009
150
166
  - !ruby/object:Gem::Dependency
151
167
  name: uglifier
152
168
  prerelease: false
153
- requirement: &id009 !ruby/object:Gem::Requirement
169
+ requirement: &id010 !ruby/object:Gem::Requirement
154
170
  none: false
155
171
  requirements:
156
172
  - - ~>
157
173
  - !ruby/object:Gem::Version
158
- hash: 11
174
+ hash: 23
159
175
  segments:
176
+ - 1
160
177
  - 0
161
- - 5
162
178
  - 0
163
- version: 0.5.0
179
+ version: 1.0.0
164
180
  type: :runtime
165
- version_requirements: *id009
181
+ version_requirements: *id010
166
182
  - !ruby/object:Gem::Dependency
167
183
  name: slim
168
184
  prerelease: false
169
- requirement: &id010 !ruby/object:Gem::Requirement
185
+ requirement: &id011 !ruby/object:Gem::Requirement
170
186
  none: false
171
187
  requirements:
172
188
  - - ~>
173
189
  - !ruby/object:Gem::Version
174
- hash: 23
190
+ hash: 59
175
191
  segments:
176
- - 1
177
192
  - 0
193
+ - 9
178
194
  - 0
179
- version: 1.0.0
195
+ version: 0.9.0
180
196
  type: :runtime
181
- version_requirements: *id010
197
+ version_requirements: *id011
182
198
  - !ruby/object:Gem::Dependency
183
199
  name: haml
184
200
  prerelease: false
185
- requirement: &id011 !ruby/object:Gem::Requirement
201
+ requirement: &id012 !ruby/object:Gem::Requirement
186
202
  none: false
187
203
  requirements:
188
204
  - - ~>
@@ -194,11 +210,11 @@ dependencies:
194
210
  - 0
195
211
  version: 3.1.0
196
212
  type: :runtime
197
- version_requirements: *id011
213
+ version_requirements: *id012
198
214
  - !ruby/object:Gem::Dependency
199
215
  name: sass
200
216
  prerelease: false
201
- requirement: &id012 !ruby/object:Gem::Requirement
217
+ requirement: &id013 !ruby/object:Gem::Requirement
202
218
  none: false
203
219
  requirements:
204
220
  - - ~>
@@ -210,11 +226,11 @@ dependencies:
210
226
  - 5
211
227
  version: 3.1.5
212
228
  type: :runtime
213
- version_requirements: *id012
229
+ version_requirements: *id013
214
230
  - !ruby/object:Gem::Dependency
215
231
  name: coffee-script
216
232
  prerelease: false
217
- requirement: &id013 !ruby/object:Gem::Requirement
233
+ requirement: &id014 !ruby/object:Gem::Requirement
218
234
  none: false
219
235
  requirements:
220
236
  - - ~>
@@ -226,11 +242,11 @@ dependencies:
226
242
  - 0
227
243
  version: 2.2.0
228
244
  type: :runtime
229
- version_requirements: *id013
245
+ version_requirements: *id014
230
246
  - !ruby/object:Gem::Dependency
231
247
  name: compass
232
248
  prerelease: false
233
- requirement: &id014 !ruby/object:Gem::Requirement
249
+ requirement: &id015 !ruby/object:Gem::Requirement
234
250
  none: false
235
251
  requirements:
236
252
  - - ~>
@@ -242,29 +258,29 @@ dependencies:
242
258
  - 3
243
259
  version: 0.11.3
244
260
  type: :runtime
245
- version_requirements: *id014
261
+ version_requirements: *id015
246
262
  - !ruby/object:Gem::Dependency
247
263
  name: sprockets
248
264
  prerelease: false
249
- requirement: &id015 !ruby/object:Gem::Requirement
265
+ requirement: &id016 !ruby/object:Gem::Requirement
250
266
  none: false
251
267
  requirements:
252
268
  - - "="
253
269
  - !ruby/object:Gem::Version
254
- hash: 62196471
270
+ hash: 62196475
255
271
  segments:
256
272
  - 2
257
273
  - 0
258
274
  - 0
259
275
  - beta
260
- - 10
261
- version: 2.0.0.beta.10
276
+ - 12
277
+ version: 2.0.0.beta.12
262
278
  type: :runtime
263
- version_requirements: *id015
279
+ version_requirements: *id016
264
280
  - !ruby/object:Gem::Dependency
265
281
  name: httparty
266
282
  prerelease: false
267
- requirement: &id016 !ruby/object:Gem::Requirement
283
+ requirement: &id017 !ruby/object:Gem::Requirement
268
284
  none: false
269
285
  requirements:
270
286
  - - ~>
@@ -276,11 +292,11 @@ dependencies:
276
292
  - 0
277
293
  version: 0.7.0
278
294
  type: :runtime
279
- version_requirements: *id016
295
+ version_requirements: *id017
280
296
  - !ruby/object:Gem::Dependency
281
297
  name: guard
282
298
  prerelease: false
283
- requirement: &id017 !ruby/object:Gem::Requirement
299
+ requirement: &id018 !ruby/object:Gem::Requirement
284
300
  none: false
285
301
  requirements:
286
302
  - - ~>
@@ -292,11 +308,11 @@ dependencies:
292
308
  - 1
293
309
  version: 0.5.1
294
310
  type: :runtime
295
- version_requirements: *id017
311
+ version_requirements: *id018
296
312
  - !ruby/object:Gem::Dependency
297
313
  name: guard-livereload
298
314
  prerelease: false
299
- requirement: &id018 !ruby/object:Gem::Requirement
315
+ requirement: &id019 !ruby/object:Gem::Requirement
300
316
  none: false
301
317
  requirements:
302
318
  - - ~>
@@ -308,11 +324,11 @@ dependencies:
308
324
  - 0
309
325
  version: 0.2.0
310
326
  type: :runtime
311
- version_requirements: *id018
327
+ version_requirements: *id019
312
328
  - !ruby/object:Gem::Dependency
313
329
  name: coffee-filter
314
330
  prerelease: false
315
- requirement: &id019 !ruby/object:Gem::Requirement
331
+ requirement: &id020 !ruby/object:Gem::Requirement
316
332
  none: false
317
333
  requirements:
318
334
  - - ~>
@@ -324,11 +340,11 @@ dependencies:
324
340
  - 1
325
341
  version: 0.1.1
326
342
  type: :development
327
- version_requirements: *id019
343
+ version_requirements: *id020
328
344
  - !ruby/object:Gem::Dependency
329
345
  name: cucumber
330
346
  prerelease: false
331
- requirement: &id020 !ruby/object:Gem::Requirement
347
+ requirement: &id021 !ruby/object:Gem::Requirement
332
348
  none: false
333
349
  requirements:
334
350
  - - ~>
@@ -340,11 +356,11 @@ dependencies:
340
356
  - 0
341
357
  version: 0.10.0
342
358
  type: :development
343
- version_requirements: *id020
359
+ version_requirements: *id021
344
360
  - !ruby/object:Gem::Dependency
345
361
  name: rake
346
362
  prerelease: false
347
- requirement: &id021 !ruby/object:Gem::Requirement
363
+ requirement: &id022 !ruby/object:Gem::Requirement
348
364
  none: false
349
365
  requirements:
350
366
  - - "="
@@ -356,11 +372,11 @@ dependencies:
356
372
  - 7
357
373
  version: 0.8.7
358
374
  type: :development
359
- version_requirements: *id021
375
+ version_requirements: *id022
360
376
  - !ruby/object:Gem::Dependency
361
377
  name: rspec
362
378
  prerelease: false
363
- requirement: &id022 !ruby/object:Gem::Requirement
379
+ requirement: &id023 !ruby/object:Gem::Requirement
364
380
  none: false
365
381
  requirements:
366
382
  - - ~>
@@ -372,30 +388,14 @@ dependencies:
372
388
  - 0
373
389
  version: 2.6.0
374
390
  type: :development
375
- version_requirements: *id022
376
- - !ruby/object:Gem::Dependency
377
- name: rocco
378
- prerelease: false
379
- requirement: &id023 !ruby/object:Gem::Requirement
380
- none: false
381
- requirements:
382
- - - ~>
383
- - !ruby/object:Gem::Version
384
- hash: 61
385
- segments:
386
- - 0
387
- - 8
388
- - 1
389
- version: 0.8.1
390
- type: :development
391
391
  version_requirements: *id023
392
392
  description:
393
393
  email:
394
- - tdreyno@gmail.com
394
+ - me@tdreyno.com
395
395
  executables:
396
+ - middleman
396
397
  - mm-build
397
398
  - mm-init
398
- - mm-migrate
399
399
  - mm-server
400
400
  extensions: []
401
401
 
@@ -409,9 +409,9 @@ files:
409
409
  - LICENSE
410
410
  - README.md
411
411
  - Rakefile
412
+ - bin/middleman
412
413
  - bin/mm-build
413
414
  - bin/mm-init
414
- - bin/mm-migrate
415
415
  - bin/mm-server
416
416
  - features/asset_host.feature
417
417
  - features/automatic_image_sizes.feature
@@ -419,6 +419,7 @@ files:
419
419
  - features/cache_buster.feature
420
420
  - features/coffee-script.feature
421
421
  - features/data.feature
422
+ - features/directory_index.feature
422
423
  - features/dynamic_pages.feature
423
424
  - features/front-matter.feature
424
425
  - features/generator.feature
@@ -441,9 +442,14 @@ files:
441
442
  - features/step_definitions/page_layout_steps.rb
442
443
  - features/support/env.rb
443
444
  - features/tiny_src.feature
445
+ - fixtures/indexable-app/config.rb
446
+ - fixtures/indexable-app/source/a_folder/needs_index.html
447
+ - fixtures/indexable-app/source/leave_me_alone.html
448
+ - fixtures/indexable-app/source/needs_index.html
444
449
  - fixtures/test-app/config.rb
445
450
  - fixtures/test-app/data/test.yml
446
451
  - fixtures/test-app/source/_partial.haml
452
+ - fixtures/test-app/source/a_folder/needs_index.html
447
453
  - fixtures/test-app/source/asset_host.html.haml
448
454
  - fixtures/test-app/source/auto-css.html.haml
449
455
  - fixtures/test-app/source/auto-css/auto-css.html.haml
@@ -478,12 +484,16 @@ files:
478
484
  - fixtures/test-app/source/javascripts/sprockets_sub.js
479
485
  - fixtures/test-app/source/layout.haml
480
486
  - fixtures/test-app/source/layouts/custom.haml
487
+ - fixtures/test-app/source/needs_index.html
481
488
  - fixtures/test-app/source/padrino_test.html.haml
482
489
  - fixtures/test-app/source/page-classes.html.haml
483
490
  - fixtures/test-app/source/real.html
484
491
  - fixtures/test-app/source/real/index.html.erb
485
492
  - fixtures/test-app/source/relative_image.html.erb
486
493
  - fixtures/test-app/source/services/index.html.haml
494
+ - fixtures/test-app/source/should_be_ignored.html
495
+ - fixtures/test-app/source/should_be_ignored2.html
496
+ - fixtures/test-app/source/should_be_ignored3.html
487
497
  - fixtures/test-app/source/slim.html.slim
488
498
  - fixtures/test-app/source/spaces in file.html.erb
489
499
  - fixtures/test-app/source/static.html
@@ -503,6 +513,7 @@ files:
503
513
  - lib/middleman.rb
504
514
  - lib/middleman/base.rb
505
515
  - lib/middleman/builder.rb
516
+ - lib/middleman/cli.rb
506
517
  - lib/middleman/config.ru
507
518
  - lib/middleman/core_extensions/assets.rb
508
519
  - lib/middleman/core_extensions/compass.rb
@@ -519,6 +530,7 @@ files:
519
530
  - lib/middleman/features/automatic_image_sizes/fastimage.rb
520
531
  - lib/middleman/features/blog.rb
521
532
  - lib/middleman/features/cache_buster.rb
533
+ - lib/middleman/features/directory_indexes.rb
522
534
  - lib/middleman/features/lorem.rb
523
535
  - lib/middleman/features/minify_css.rb
524
536
  - lib/middleman/features/minify_javascript.rb
@@ -617,6 +629,7 @@ test_files:
617
629
  - features/cache_buster.feature
618
630
  - features/coffee-script.feature
619
631
  - features/data.feature
632
+ - features/directory_index.feature
620
633
  - features/dynamic_pages.feature
621
634
  - features/front-matter.feature
622
635
  - features/generator.feature
@@ -639,9 +652,14 @@ test_files:
639
652
  - features/step_definitions/page_layout_steps.rb
640
653
  - features/support/env.rb
641
654
  - features/tiny_src.feature
655
+ - fixtures/indexable-app/config.rb
656
+ - fixtures/indexable-app/source/a_folder/needs_index.html
657
+ - fixtures/indexable-app/source/leave_me_alone.html
658
+ - fixtures/indexable-app/source/needs_index.html
642
659
  - fixtures/test-app/config.rb
643
660
  - fixtures/test-app/data/test.yml
644
661
  - fixtures/test-app/source/_partial.haml
662
+ - fixtures/test-app/source/a_folder/needs_index.html
645
663
  - fixtures/test-app/source/asset_host.html.haml
646
664
  - fixtures/test-app/source/auto-css.html.haml
647
665
  - fixtures/test-app/source/auto-css/auto-css.html.haml
@@ -676,12 +694,16 @@ test_files:
676
694
  - fixtures/test-app/source/javascripts/sprockets_sub.js
677
695
  - fixtures/test-app/source/layout.haml
678
696
  - fixtures/test-app/source/layouts/custom.haml
697
+ - fixtures/test-app/source/needs_index.html
679
698
  - fixtures/test-app/source/padrino_test.html.haml
680
699
  - fixtures/test-app/source/page-classes.html.haml
681
700
  - fixtures/test-app/source/real.html
682
701
  - fixtures/test-app/source/real/index.html.erb
683
702
  - fixtures/test-app/source/relative_image.html.erb
684
703
  - fixtures/test-app/source/services/index.html.haml
704
+ - fixtures/test-app/source/should_be_ignored.html
705
+ - fixtures/test-app/source/should_be_ignored2.html
706
+ - fixtures/test-app/source/should_be_ignored3.html
685
707
  - fixtures/test-app/source/slim.html.slim
686
708
  - fixtures/test-app/source/spaces in file.html.erb
687
709
  - fixtures/test-app/source/static.html