middleman 2.0.0.beta4 → 2.0.0.beta5

Sign up to get free protection for your applications and to get access to all the features.
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