middleman 2.0.0.beta4 → 2.0.0.beta5

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.
data/Rakefile CHANGED
@@ -4,7 +4,19 @@ Bundler::GemHelper.install_tasks
4
4
  require 'cucumber/rake/task'
5
5
 
6
6
  Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
7
- t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
7
+ t.cucumber_opts = "--drb --color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
8
+ end
9
+
10
+ namespace :spork do
11
+ desc "start spork in background"
12
+ task :start do
13
+ sh %{spork &}
14
+ end
15
+
16
+ desc "stop spork"
17
+ task :stop do
18
+ Process.kill(:TERM, `ps -ef | grep spork | grep -v grep | awk '{ print $2 }'`.to_i)
19
+ end
8
20
  end
9
21
 
10
22
  #$LOAD_PATH.unshift 'lib'
@@ -12,7 +24,7 @@ end
12
24
  require 'rake/testtask'
13
25
  require 'rake/clean'
14
26
 
15
- task :test => :cucumber
27
+ task :test => ["spork:start", "cucumber", "spork:stop"]
16
28
 
17
29
  # rocco depends on rdiscount, which makes me sad.
18
30
  unless defined?(JRUBY_VERSION)
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  Given /^cleanup built test app$/ do
16
16
  target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app", "build")
17
- FileUtils.rm_rf(target)
17
+ # FileUtils.rm_rf(target)
18
18
  end
19
19
 
20
20
  Then /^"([^"]*)" should exist and include "([^"]*)"$/ do |target_file, expected|
@@ -0,0 +1,53 @@
1
+ require 'rubygems'
2
+ require 'spork'
3
+
4
+ root_path = File.dirname(File.dirname(File.dirname(__FILE__)))
5
+
6
+ Spork.prefork do
7
+ # Loading more in this block will cause your tests to run faster. However,
8
+ # if you change any configuration or code from libraries loaded here, you'll
9
+ # need to restart spork for it take effect.
10
+
11
+ ENV["MM_DIR"] = File.join(root_path, "fixtures", "test-app")
12
+ end
13
+
14
+ Spork.each_run do
15
+ # This code will be run each time you run your specs.
16
+ require File.join(root_path, 'lib', 'middleman')
17
+ require "rack/test"
18
+
19
+ # absolute views path
20
+ # otherwise resolve_template (padrino-core) can't find templates
21
+ Before do
22
+ Middleman::Server.views = File.join(Middleman::Server.root, "source")
23
+ end
24
+ end
25
+
26
+ # --- Instructions ---
27
+ # Sort the contents of this file into a Spork.prefork and a Spork.each_run
28
+ # block.
29
+ #
30
+ # The Spork.prefork block is run only once when the spork server is started.
31
+ # You typically want to place most of your (slow) initializer code in here, in
32
+ # particular, require'ing any 3rd-party gems that you don't normally modify
33
+ # during development.
34
+ #
35
+ # The Spork.each_run block is run each time you run your specs. In case you
36
+ # need to load files that tend to change during development, require them here.
37
+ # With Rails, your application modules are loaded automatically, so sometimes
38
+ # this block can remain empty.
39
+ #
40
+ # Note: You can modify files loaded *from* the Spork.each_run block without
41
+ # restarting the spork server. However, this file itself will not be reloaded,
42
+ # so if you change any of the code inside the each_run block, you still need to
43
+ # restart the server. In general, if you have non-trivial code in this file,
44
+ # it's advisable to move it into a separate file so you can easily edit it
45
+ # without restarting spork. (For example, with RSpec, you could move
46
+ # non-trivial code into a file spec/support/my_helper.rb, making sure that the
47
+ # spec/support/* files are require'd from inside the each_run block.)
48
+ #
49
+ # Any code that is left outside the two blocks will be run during preforking
50
+ # *and* during each_run -- that's probably not what you want.
51
+ #
52
+ # These instructions should self-destruct in 10 seconds. If they don't, feel
53
+ # free to delete them.
@@ -84,7 +84,25 @@ module Middleman
84
84
  def handle_directory(lookup)
85
85
  lookup = File.join(lookup, '*')
86
86
 
87
- Dir[lookup].sort.each do |file_source|
87
+ results = Dir[lookup].sort do |a, b|
88
+ simple_a = a.gsub(Middleman::Server.root + "/", '')
89
+ .gsub(Middleman::Server.views + "/", '')
90
+ simple_b = b.gsub(Middleman::Server.root + "/", '')
91
+ .gsub(Middleman::Server.views + "/", '')
92
+
93
+ a_dir = simple_a.split("/").first
94
+ b_dir = simple_b.split("/").first
95
+
96
+ if a_dir == Middleman::Server.images_dir
97
+ -1
98
+ elsif b_dir == Middleman::Server.images_dir
99
+ 1
100
+ else
101
+ 0
102
+ end
103
+ end
104
+
105
+ results.each do |file_source|
88
106
  if File.directory?(file_source)
89
107
  handle_directory(file_source)
90
108
  next
@@ -78,7 +78,7 @@ module Middleman::Features
78
78
  autoload :Blog, "middleman/features/blog"
79
79
 
80
80
  # Proxy web services requests in dev mode only
81
- # autoload :Proxy, "middleman/features/proxy"
81
+ autoload :Proxy, "middleman/features/proxy"
82
82
 
83
83
  # Automatically resize images for mobile devises
84
84
  # autoload :TinySrc, "middleman/features/tiny_src"
@@ -9,25 +9,27 @@ module Middleman
9
9
  class << self
10
10
  def registered(app)
11
11
  app.after_feature_init do
12
+ views_root = File.basename(self.views)
12
13
  ::Compass.configuration do |config|
13
14
  config.cache_path = File.join(self.root, ".sass-cache") # For sassc files
14
15
  config.project_path = self.root
15
- config.sass_dir = File.join(File.basename(self.views), self.css_dir)
16
+ config.sass_dir = File.join(views_root, self.css_dir)
16
17
  config.output_style = :nested
17
- config.fonts_dir = File.join(File.basename(self.views), self.fonts_dir)
18
- config.css_dir = File.join(File.basename(self.views), self.css_dir)
19
- config.images_dir = File.join(File.basename(self.views), self.images_dir)
18
+ config.fonts_dir = File.join(views_root, self.fonts_dir)
19
+ config.css_dir = File.join(views_root, self.css_dir)
20
+ config.images_dir = File.join(views_root, self.images_dir)
20
21
  config.http_images_path = self.http_images_path rescue File.join(self.http_prefix || "/", self.images_dir)
21
22
  config.http_stylesheets_path = self.http_css_path rescue File.join(self.http_prefix || "/", self.css_dir)
22
- config.asset_cache_buster { false }
23
+ config.asset_cache_buster :none
23
24
 
24
25
  config.add_import_path(config.sass_dir)
25
26
  end
26
27
 
27
28
  configure :build do
29
+ build_root = File.basename(self.build_dir)
28
30
  ::Compass.configuration do |config|
29
- config.css_dir = File.join(File.basename(self.build_dir), self.css_dir)
30
- config.images_dir = File.join(File.basename(self.build_dir), self.images_dir)
31
+ config.css_dir = File.join(build_root, self.css_dir)
32
+ config.images_dir = File.join(build_root, self.images_dir)
31
33
  end
32
34
  end
33
35
  end
@@ -1,3 +1,3 @@
1
1
  module Middleman
2
- VERSION = "2.0.0.beta4"
2
+ VERSION = "2.0.0.beta5"
3
3
  end
@@ -31,10 +31,11 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency("haml", ["~> 3.1.0"])
32
32
  s.add_runtime_dependency("coffee-filter", ["~> 0.1.0"])
33
33
  s.add_runtime_dependency("sass", ["~> 3.1.0"])
34
- s.add_runtime_dependency("compass", ["0.11.2"])
34
+ s.add_runtime_dependency("compass", ["~> 0.11.3"])
35
35
  s.add_runtime_dependency("compass-susy-plugin", ["~> 0.9.0"])
36
36
  s.add_runtime_dependency("coffee-script", ["~> 2.2.0"])
37
37
  s.add_runtime_dependency("httparty", ["~> 0.7.0"])
38
+ s.add_development_dependency("spork", ["~> 0.9.0.rc8"])
38
39
  s.add_development_dependency("cucumber", ["~> 0.10.0"])
39
40
  s.add_development_dependency("rake", ["0.8.7"])
40
41
  s.add_development_dependency("rspec", [">= 0"])
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: middleman
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease: 6
5
- version: 2.0.0.beta4
5
+ version: 2.0.0.beta5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Thomas Reynolds
@@ -162,9 +162,9 @@ dependencies:
162
162
  requirement: &id014 !ruby/object:Gem::Requirement
163
163
  none: false
164
164
  requirements:
165
- - - "="
165
+ - - ~>
166
166
  - !ruby/object:Gem::Version
167
- version: 0.11.2
167
+ version: 0.11.3
168
168
  type: :runtime
169
169
  version_requirements: *id014
170
170
  - !ruby/object:Gem::Dependency
@@ -201,49 +201,60 @@ dependencies:
201
201
  type: :runtime
202
202
  version_requirements: *id017
203
203
  - !ruby/object:Gem::Dependency
204
- name: cucumber
204
+ name: spork
205
205
  prerelease: false
206
206
  requirement: &id018 !ruby/object:Gem::Requirement
207
207
  none: false
208
208
  requirements:
209
209
  - - ~>
210
210
  - !ruby/object:Gem::Version
211
- version: 0.10.0
211
+ version: 0.9.0.rc8
212
212
  type: :development
213
213
  version_requirements: *id018
214
214
  - !ruby/object:Gem::Dependency
215
- name: rake
215
+ name: cucumber
216
216
  prerelease: false
217
217
  requirement: &id019 !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ~>
221
+ - !ruby/object:Gem::Version
222
+ version: 0.10.0
223
+ type: :development
224
+ version_requirements: *id019
225
+ - !ruby/object:Gem::Dependency
226
+ name: rake
227
+ prerelease: false
228
+ requirement: &id020 !ruby/object:Gem::Requirement
218
229
  none: false
219
230
  requirements:
220
231
  - - "="
221
232
  - !ruby/object:Gem::Version
222
233
  version: 0.8.7
223
234
  type: :development
224
- version_requirements: *id019
235
+ version_requirements: *id020
225
236
  - !ruby/object:Gem::Dependency
226
237
  name: rspec
227
238
  prerelease: false
228
- requirement: &id020 !ruby/object:Gem::Requirement
239
+ requirement: &id021 !ruby/object:Gem::Requirement
229
240
  none: false
230
241
  requirements:
231
242
  - - ">="
232
243
  - !ruby/object:Gem::Version
233
244
  version: "0"
234
245
  type: :development
235
- version_requirements: *id020
246
+ version_requirements: *id021
236
247
  - !ruby/object:Gem::Dependency
237
248
  name: rocco
238
249
  prerelease: false
239
- requirement: &id021 !ruby/object:Gem::Requirement
250
+ requirement: &id022 !ruby/object:Gem::Requirement
240
251
  none: false
241
252
  requirements:
242
253
  - - ">="
243
254
  - !ruby/object:Gem::Version
244
255
  version: "0"
245
256
  type: :development
246
- version_requirements: *id021
257
+ version_requirements: *id022
247
258
  description:
248
259
  email:
249
260
  - tdreyno@gmail.com
@@ -282,10 +293,10 @@ files:
282
293
  - features/slim.feature
283
294
  - features/step_definitions/asset_host_steps.rb
284
295
  - features/step_definitions/builder_steps.rb
285
- - features/step_definitions/env.rb
286
296
  - features/step_definitions/generator_steps.rb
287
297
  - features/step_definitions/middleman_steps.rb
288
298
  - features/step_definitions/page_layout_steps.rb
299
+ - features/support/env.rb
289
300
  - features/tiny_src.feature
290
301
  - features/w_asset_host.feature
291
302
  - features/x_automatic_image_sizes.feature
@@ -436,10 +447,10 @@ test_files:
436
447
  - features/slim.feature
437
448
  - features/step_definitions/asset_host_steps.rb
438
449
  - features/step_definitions/builder_steps.rb
439
- - features/step_definitions/env.rb
440
450
  - features/step_definitions/generator_steps.rb
441
451
  - features/step_definitions/middleman_steps.rb
442
452
  - features/step_definitions/page_layout_steps.rb
453
+ - features/support/env.rb
443
454
  - features/tiny_src.feature
444
455
  - features/w_asset_host.feature
445
456
  - features/x_automatic_image_sizes.feature
@@ -1,9 +0,0 @@
1
- ENV["MM_DIR"] = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "fixtures", "test-app")
2
- require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'lib', 'middleman')
3
- require "rack/test"
4
-
5
- # absolute views path
6
- # otherwise resolve_template (padrino-core) can't find templates
7
- Before do
8
- Middleman::Server.views = File.join(Middleman::Server.root, "source")
9
- end