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
@@ -8,7 +8,7 @@ Feature: Minify CSS
8
8
 
9
9
  Scenario: Rendering external css with the feature disabled
10
10
  Given "minify_css" feature is "disabled"
11
- And the Server is running
11
+ And the Server is running at "test-app"
12
12
  When I go to "/stylesheets/site.css"
13
13
  Then I should see "55" lines
14
14
 
@@ -19,6 +19,6 @@ Feature: Minify CSS
19
19
 
20
20
  Scenario: Rendering external css with the feature enabled
21
21
  Given "minify_css" feature is "enabled"
22
- And the Server is running
22
+ And the Server is running at "test-app"
23
23
  When I go to "/stylesheets/site.css"
24
24
  Then I should see "1" lines
@@ -6,18 +6,18 @@ Feature: Minify Javascript
6
6
 
7
7
  Scenario: Rendering inline js with the feature disabled
8
8
  Given "minify_javascript" feature is "disabled"
9
- And the Server is running
9
+ And the Server is running at "test-app"
10
10
  When I go to "/inline-js.html"
11
11
  Then I should see "10" lines
12
12
 
13
13
  Scenario: Rendering inline js with the feature enabled
14
14
  Given "minify_javascript" feature is "enabled"
15
- And the Server is running
15
+ And the Server is running at "test-app"
16
16
  When I go to "/inline-js.html"
17
17
  Then I should see "5" lines
18
18
 
19
19
  Scenario: Rendering inline js (coffeescript) with the feature enabled
20
20
  Given "minify_javascript" feature is "enabled"
21
- And the Server is running
21
+ And the Server is running at "test-app"
22
22
  When I go to "/inline-coffeescript.html"
23
23
  Then I should see "5" lines
@@ -2,7 +2,7 @@ Feature: Built-in macro view helpers
2
2
  In order to simplify generating HTML
3
3
 
4
4
  Scenario: Using the link_to helper
5
- Given the Server is running
5
+ Given the Server is running at "test-app"
6
6
  When I go to "/padrino_test.html"
7
7
  And I should see 'href="test2.com"'
8
8
  And I should see 'src="/images/test2.png"'
@@ -3,19 +3,19 @@ Feature: Custom layouts
3
3
 
4
4
  Scenario: Using custom :layout attribute
5
5
  Given page "/custom-layout.html" has layout "custom"
6
- And the Server is running
6
+ And the Server is running at "test-app"
7
7
  When I go to "/custom-layout.html"
8
8
  Then I should see "Custom Layout"
9
9
 
10
10
  Scenario: Using with_layout block
11
11
  Given "/custom-layout.html" with_layout block has layout "custom"
12
- And the Server is running
12
+ And the Server is running at "test-app"
13
13
  When I go to "/custom-layout.html"
14
14
  Then I should see "Custom Layout"
15
15
 
16
16
  Scenario: Using custom :layout attribute with folders
17
17
  Given page "/custom-layout-dir/" has layout "custom"
18
- And the Server is running
18
+ And the Server is running at "test-app"
19
19
  When I go to "/custom-layout-dir"
20
20
  Then I should see "Custom Layout"
21
21
  When I go to "/custom-layout-dir/"
@@ -25,7 +25,7 @@ Feature: Custom layouts
25
25
 
26
26
  Scenario: Using custom :layout attribute with folders
27
27
  Given page "/custom-layout-dir" has layout "custom"
28
- And the Server is running
28
+ And the Server is running at "test-app"
29
29
  When I go to "/custom-layout-dir"
30
30
  Then I should see "Custom Layout"
31
31
  When I go to "/custom-layout-dir/"
@@ -35,7 +35,7 @@ Feature: Custom layouts
35
35
 
36
36
  Scenario: Using custom :layout attribute with folders
37
37
  Given page "/custom-layout-dir/index.html" has layout "custom"
38
- And the Server is running
38
+ And the Server is running at "test-app"
39
39
  When I go to "/custom-layout-dir"
40
40
  Then I should see "Custom Layout"
41
41
  When I go to "/custom-layout-dir/"
@@ -3,26 +3,26 @@ Feature: Relative Assets
3
3
 
4
4
  Scenario: Rendering css with the feature disabled
5
5
  Given "relative_assets" feature is "disabled"
6
- And the Server is running
6
+ And the Server is running at "test-app"
7
7
  When I go to "/stylesheets/relative_assets.css"
8
8
  Then I should not see "url('../"
9
9
  And I should see "/images/blank.gif"
10
10
 
11
11
  Scenario: Rendering html with the feature disabled
12
12
  Given "relative_assets" feature is "disabled"
13
- And the Server is running
13
+ And the Server is running at "test-app"
14
14
  When I go to "/relative_image.html"
15
15
  Then I should see "/images/blank.gif"
16
16
 
17
17
  Scenario: Rendering css with the feature enabled
18
18
  Given "relative_assets" feature is "enabled"
19
- And the Server is running
19
+ And the Server is running at "test-app"
20
20
  When I go to "/stylesheets/relative_assets.css"
21
21
  Then I should see "url('../images/blank.gif"
22
22
 
23
23
  Scenario: Rendering html with the feature disabled
24
24
  Given "relative_assets" feature is "enabled"
25
- And the Server is running
25
+ And the Server is running at "test-app"
26
26
  When I go to "/relative_image.html"
27
27
  Then I should not see "/images/blank.gif"
28
28
  And I should see "images/blank.gif"
@@ -30,14 +30,14 @@ Feature: Relative Assets
30
30
  Scenario: Rendering html with a custom images_dir
31
31
  Given "relative_assets" feature is "enabled"
32
32
  And "images_dir" is set to "img"
33
- And the Server is running
33
+ And the Server is running at "test-app"
34
34
  When I go to "/stylesheets/relative_assets.css"
35
35
  Then I should see "url('../img/blank.gif"
36
36
 
37
37
  Scenario: Rendering css with a custom images_dir
38
38
  Given "relative_assets" feature is "enabled"
39
39
  And "images_dir" is set to "img"
40
- And the Server is running
40
+ And the Server is running at "test-app"
41
41
  When I go to "/relative_image.html"
42
42
  Then I should not see "/images/blank.gif"
43
43
  Then I should not see "/img/blank.gif"
@@ -2,11 +2,11 @@ Feature: Support SCSS Syntax
2
2
  In order to offer an alternative when writing Sass
3
3
 
4
4
  Scenario: Rendering scss
5
- Given the Server is running
5
+ Given the Server is running at "test-app"
6
6
  When I go to "/stylesheets/site_scss.css"
7
7
  Then I should see "html"
8
8
 
9
9
  Scenario: Rendering scss
10
- Given the Server is running
10
+ Given the Server is running at "test-app"
11
11
  When I go to "/stylesheets/layout.css"
12
12
  Then I should see "html"
@@ -1,6 +1,6 @@
1
1
  Feature: Sinatra Routes
2
2
 
3
3
  Scenario: Rendering html
4
- Given the Server is running
4
+ Given the Server is running at "test-app"
5
5
  When I go to "/sinatra_test"
6
6
  Then I should see "Ratpack"
@@ -2,6 +2,6 @@ Feature: Support slim templating language
2
2
  In order to offer an alternative to Haml
3
3
 
4
4
  Scenario: Rendering Slim
5
- Given the Server is running
5
+ Given the Server is running at "test-app"
6
6
  When I go to "/slim.html"
7
7
  Then I should see "<h1>Welcome to Slim</h1>"
@@ -1,6 +1,6 @@
1
1
  Feature: Sprockets
2
2
 
3
3
  Scenario: Sprockets require
4
- Given the Server is running
4
+ Given the Server is running at "test-app"
5
5
  When I go to "/javascripts/sprockets_base.js"
6
6
  Then I should see "sprockets_sub_function"
@@ -1,34 +1,39 @@
1
1
  require 'fileutils'
2
2
 
3
- Given /^a built test app$/ do
4
- target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app")
5
- build_cmd = File.expand_path(File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "bin", "mm-build"))
6
- `cd #{target} && MM_DIR="#{target}" #{build_cmd}`
3
+ Given /^a built app at "([^"]*)"$/ do |path|
4
+ root = File.dirname(File.dirname(File.dirname(__FILE__)))
5
+ target = File.join(root, "fixtures", path)
6
+ build_cmd = File.expand_path(File.join(root, "bin", "middleman build"))
7
+ `cd #{target} && #{build_cmd}`
7
8
  end
8
9
 
9
- Given /^a built test app with flags "([^"]*)"$/ do |flags|
10
- target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app")
11
- build_cmd = File.expand_path(File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "bin", "mm-build"))
12
- `cd #{target} && MM_DIR="#{target}" #{build_cmd} #{flags}`
10
+ Then /^cleanup built app at "([^"]*)"$/ do |path|
11
+ root = File.dirname(File.dirname(File.dirname(__FILE__)))
12
+ target = File.join(root, "fixtures", path, "build")
13
+ FileUtils.rm_rf(target)
13
14
  end
14
15
 
15
- Given /^cleanup built test app$/ do
16
- target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app", "build")
17
- FileUtils.rm_rf(target)
16
+ Given /^a built test app with flags "([^"]*)"$/ do |flags|
17
+ target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app")
18
+ build_cmd = File.expand_path(File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "bin", "middleman build"))
19
+ `cd #{target} && #{build_cmd} #{flags}`
18
20
  end
19
21
 
20
- Then /^"([^"]*)" should exist$/ do |target_file,|
21
- target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app", "build", target_file)
22
+ Then /^"([^"]*)" should exist at "([^"]*)"$/ do |target_file, path|
23
+ root = File.dirname(File.dirname(File.dirname(__FILE__)))
24
+ target = File.join(root, "fixtures", path, "build", target_file)
22
25
  File.exists?(target).should be_true
23
26
  end
24
27
 
25
- Then /^"([^"]*)" should exist and include "([^"]*)"$/ do |target_file, expected|
26
- target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app", "build", target_file)
28
+ Then /^"([^"]*)" should exist at "([^"]*)" and include "([^"]*)"$/ do |target_file, path, expected|
29
+ root = File.dirname(File.dirname(File.dirname(__FILE__)))
30
+ target = File.join(root, "fixtures", path, "build", target_file)
27
31
  File.exists?(target).should be_true
28
32
  File.read(target).should include(expected)
29
33
  end
30
34
 
31
- Then /^"([^"]*)" should not exist$/ do |target_file|
32
- target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app", "build", target_file)
35
+ Then /^"([^"]*)" should not exist at "([^"]*)"$/ do |target_file, path|
36
+ root = File.dirname(File.dirname(File.dirname(__FILE__)))
37
+ target = File.join(root, "fixtures", path, "build", target_file)
33
38
  File.exists?(target).should be_false
34
39
  end
@@ -2,7 +2,7 @@ require 'fileutils'
2
2
 
3
3
  Given /^generated directory at "([^\"]*)"$/ do |dirname|
4
4
  target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", dirname)
5
- init_cmd = File.expand_path(File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "bin", "mm-init"))
5
+ init_cmd = File.expand_path(File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "bin", "middleman init"))
6
6
  `cd #{File.dirname(target)} && #{init_cmd} #{File.basename(target)}`
7
7
  end
8
8
 
@@ -15,8 +15,10 @@ Given /^current environment is "([^\"]*)"$/ do |env|
15
15
  @current_env = env.to_sym
16
16
  end
17
17
 
18
- Given /^the Server is running$/ do
18
+ Given /^the Server is running at "([^\"]*)"$/ do |app_path|
19
19
  @server ||= Middleman.server
20
+ root = File.dirname(File.dirname(File.dirname(__FILE__)))
21
+ @server.set :root, File.join(root, "fixtures", app_path)
20
22
  @browser = Rack::Test::Session.new(Rack::MockSession.new(@server.new))
21
23
  end
22
24
 
@@ -1,12 +1,10 @@
1
1
  Given /^page "([^\"]*)" has layout "([^\"]*)"$/ do |url, layout|
2
2
  @server ||= Middleman.server
3
- @server.set :root, File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app")
4
3
  @server.page(url, :layout => layout.to_sym)
5
4
  end
6
5
 
7
6
  Given /^"([^\"]*)" with_layout block has layout "([^\"]*)"$/ do |url, layout|
8
7
  @server ||= Middleman.server
9
- @server.set :root, File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app")
10
8
  @server.with_layout(layout.to_sym) do
11
9
  page(url)
12
10
  end
@@ -1,4 +1,3 @@
1
1
  root_path = File.dirname(File.dirname(File.dirname(__FILE__)))
2
- ENV["MM_DIR"] = File.join(root_path, "fixtures", "test-app")
3
2
  require File.join(root_path, 'lib', 'middleman')
4
3
  require "rack/test"
@@ -4,12 +4,12 @@ Feature: Tiny Src
4
4
 
5
5
  Scenario: Rendering html with the feature disabled
6
6
  Given "tiny_src" feature is "disabled"
7
- And the Server is running
7
+ And the Server is running at "test-app"
8
8
  When I go to "/tiny_src.html"
9
9
  Then I should see "http://test.com/image.jpg"
10
10
 
11
11
  Scenario: Rendering html with the feature enabled
12
12
  Given "tiny_src" feature is "enabled"
13
- And the Server is running
13
+ And the Server is running at "test-app"
14
14
  When I go to "/tiny_src.html"
15
15
  Then I should see "http://i.tinysrc.mobi/http://test.com/image.jpg"
@@ -0,0 +1,2 @@
1
+ activate :directory_indexes
2
+ page "/leave_me_alone.html", :directory_index => false
@@ -0,0 +1 @@
1
+ Stay away
@@ -0,0 +1 @@
1
+ Indexable
@@ -1,5 +1,9 @@
1
1
  page "/fake.html", :proxy => "/real.html", :layout => false
2
2
 
3
+ ignore "/should_be_ignored.html"
4
+ page "/should_be_ignored2.html", :ignore => true
5
+ page "/target_ignore.html", :proxy => "/should_be_ignored3.html", :ignore => true
6
+
3
7
  %w(one two).each do |num|
4
8
  page "/fake/#{num}.html", :proxy => "/real/index.html" do
5
9
  @num = num
@@ -0,0 +1 @@
1
+ Indexable
@@ -0,0 +1 @@
1
+ Indexable
@@ -0,0 +1 @@
1
+ <h1>Ignore me!</h1>
@@ -0,0 +1 @@
1
+ <h1>Ignore me! 2</h1>
@@ -0,0 +1 @@
1
+ <h1>Ignore me! 3</h1>
data/lib/middleman.rb CHANGED
@@ -8,10 +8,10 @@
8
8
  #
9
9
  # To accomplish its goals, Middleman supports provides access to:
10
10
  #
11
- #### Command-line tools:
12
- # * **mm-init**: A tool for creating to new static sites.
13
- # * **mm-server**: A tool for rapidly developing your static site.
14
- # * **mm-build**: A tool for exporting your site into optimized HTML, CSS & JS.
11
+ #### Command-line tool:
12
+ # * **middleman init**: A tool for creating to new static sites.
13
+ # * **middleman server**: A tool for rapidly developing your static site.
14
+ # * **middleman build**: A tool for exporting your site into optimized HTML, CSS & JS.
15
15
  #
16
16
  #### Tons of templating languages including:
17
17
  # * ERB (.erb)
@@ -51,13 +51,10 @@
51
51
  # [Email the users group]: http://groups.google.com/group/middleman-users
52
52
  # [Submit bug reports]: https://github.com/tdreyno/middleman/issues
53
53
 
54
- # Setup out load paths
54
+ # Setup our load paths
55
55
  libdir = File.dirname(__FILE__)
56
56
  $LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
57
57
 
58
- # Require Rubygems (probably not necessary)
59
- require 'rubygems'
60
-
61
58
  # We're riding on Sinatra, so let's include it.
62
59
  require "sinatra/base"
63
60
 
@@ -66,6 +63,8 @@ module Middleman
66
63
  # Auto-load modules on-demand
67
64
  autoload :Base, "middleman/base"
68
65
  autoload :Builder, "middleman/builder"
66
+ autoload :CLI, "middleman/cli"
67
+ autoload :Templates, "middleman/templates"
69
68
  autoload :Guard, "middleman/guard"
70
69
 
71
70
  # Custom Renderers
@@ -150,6 +149,9 @@ module Middleman
150
149
 
151
150
  # Automatically resize images for mobile devises
152
151
  # autoload :TinySrc, "middleman/features/tiny_src"
152
+
153
+ # Automatically convert filename.html files into filename/index.html
154
+ autoload :DirectoryIndexes, "middleman/features/directory_indexes"
153
155
  end
154
156
 
155
157
  def self.server(&block)
@@ -6,7 +6,7 @@ module Middleman::Base
6
6
 
7
7
  # Basic Sinatra config
8
8
  app.set :app_file, __FILE__
9
- app.set :root, ENV["MM_DIR"] || Dir.pwd
9
+ app.set :root, Dir.pwd
10
10
  app.set :sessions, false
11
11
  app.set :logging, false
12
12
  app.set :environment, (ENV['MM_ENV'] && ENV['MM_ENV'].to_sym) || :development
@@ -86,7 +86,9 @@ module Middleman::Base
86
86
  request_path = request.path_info.gsub("%20", " ")
87
87
  result = resolve_template(request_path, :raise_exceptions => false)
88
88
 
89
- if result
89
+ should_be_ignored = !(request["is_proxy"]) && settings.excluded_paths.include?("/#{request_path}")
90
+
91
+ if result && !should_be_ignored
90
92
  extensionless_path, template_engine = result
91
93
 
92
94
  # Return static files
@@ -119,6 +121,27 @@ module Middleman::Base
119
121
  super(option, value, &nil)
120
122
  end
121
123
 
124
+ def build_reroute(&block)
125
+ @build_rerouters ||= []
126
+ @build_rerouters << block
127
+ end
128
+
129
+ def reroute_builder(desination, request_path)
130
+ @build_rerouters ||= []
131
+
132
+ result = [desination, request_path]
133
+
134
+ @build_rerouters.each do |block|
135
+ output = block.call(desination, request_path)
136
+ if output
137
+ result = output
138
+ break
139
+ end
140
+ end
141
+
142
+ result
143
+ end
144
+
122
145
  def before_processing(&block)
123
146
  @before_processes ||= []
124
147
  @before_processes << block
@@ -3,8 +3,9 @@ require "thor/group"
3
3
  require 'rack/test'
4
4
 
5
5
  SHARED_SERVER = Middleman.server
6
+ SHARED_SERVER.set :environment, :build
6
7
 
7
- module Middleman
8
+ module Middleman
8
9
  module ThorActions
9
10
  def tilt_template(source, *args, &block)
10
11
  config = args.last.is_a?(Hash) ? args.pop : {}
@@ -12,14 +13,17 @@ module Middleman
12
13
 
13
14
  # source = File.expand_path(find_in_source_paths(source.to_s))
14
15
  context = instance_eval('binding')
15
-
16
- @@rack_test ||= ::Rack::Test::Session.new(::Rack::MockSession.new(SHARED_SERVER))
17
16
 
18
- create_file destination, nil, config do
19
- # The default render just requests the page over Rack and writes the response
20
- request_path = destination.sub(/^#{SHARED_SERVER.build_dir}/, "")
21
- @@rack_test.get(request_path.gsub(/\s/, "%20"))
22
- @@rack_test.last_response.body
17
+ request_path = destination.sub(/^#{SHARED_SERVER.build_dir}/, "")
18
+
19
+ begin
20
+ destination, request_page = SHARED_SERVER.reroute_builder(destination, request_path)
21
+
22
+ create_file destination, nil, config do
23
+ Middleman::Builder.shared_rack.get(request_path.gsub(/\s/, "%20"))
24
+ Middleman::Builder.shared_rack.last_response.body
25
+ end
26
+ rescue
23
27
  end
24
28
  end
25
29
  end
@@ -28,13 +32,20 @@ module Middleman
28
32
  include Thor::Actions
29
33
  include Middleman::ThorActions
30
34
 
35
+ def self.shared_rack
36
+ @shared_rack ||= begin
37
+ mock = ::Rack::MockSession.new(SHARED_SERVER)
38
+ sess = ::Rack::Test::Session.new(mock)
39
+ sess.get("/")
40
+ sess
41
+ end
42
+ end
43
+
31
44
  class_option :relative, :type => :boolean, :aliases => "-r", :default => false, :desc => 'Override the config.rb file and force relative urls'
32
45
 
33
46
  def initialize(*args)
34
47
  super
35
48
 
36
- SHARED_SERVER.new
37
-
38
49
  if options.has_key?("relative") && options["relative"]
39
50
  SHARED_SERVER.activate :relative_assets
40
51
  end
@@ -47,6 +58,8 @@ module Middleman
47
58
  end
48
59
 
49
60
  def build_all_files
61
+ self.class.shared_rack
62
+
50
63
  action Directory.new(self, SHARED_SERVER.views, SHARED_SERVER.build_dir, { :force => true })
51
64
 
52
65
  SHARED_SERVER.proxied_paths.each do |url, proxy|