middleman 2.0.0.beta3 → 2.0.0.beta4

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/.gitignore CHANGED
@@ -8,3 +8,5 @@ pkg
8
8
  Gemfile.lock
9
9
  docs
10
10
  .rvmrc
11
+ fixtures/test-app/build
12
+ .*.swp
@@ -0,0 +1,27 @@
1
+ Feature: Built-in auto_javascript_include_tag view helper
2
+ In order to simplify including javascript files
3
+
4
+ Scenario: Viewing the root path
5
+ Given the Server is running
6
+ When I go to "/auto-js.html"
7
+ Then I should see "javascripts/auto-js.js"
8
+
9
+ Scenario: Viewing a tier-1 path
10
+ Given the Server is running
11
+ When I go to "/auto-js/auto-js.html"
12
+ Then I should see "javascripts/auto-js/auto-js.js"
13
+
14
+ Scenario: Viewing the index file of a tier-1 path, without filename
15
+ Given the Server is running
16
+ When I go to "/auto-js"
17
+ Then I should see "javascripts/auto-js/index.js"
18
+
19
+ Scenario: Viewing the index file of a tier-1 path, without filename, with a trailing slash
20
+ Given the Server is running
21
+ When I go to "/auto-js/"
22
+ Then I should see "javascripts/auto-js/index.js"
23
+
24
+ Scenario: Viewing a tier-2 path
25
+ Given the Server is running
26
+ When I go to "/auto-js/sub/auto-js.html"
27
+ Then I should see "javascripts/auto-js/sub/auto-js.js"
@@ -8,10 +8,20 @@ Feature: Built-in auto_stylesheet_link_tag view helper
8
8
 
9
9
  Scenario: Viewing a tier-1 path
10
10
  Given the Server is running
11
- When I go to "/sub1/auto-css.html"
12
- Then I should see "stylesheets/sub1/auto-css.css"
11
+ When I go to "/auto-css/auto-css.html"
12
+ Then I should see "stylesheets/auto-css/auto-css.css"
13
+
14
+ Scenario: Viewing the index file of a tier-1 path, without filename
15
+ Given the Server is running
16
+ When I go to "/auto-css"
17
+ Then I should see "stylesheets/auto-css/index.css"
18
+
19
+ Scenario: Viewing the index file of a tier-1 path, without filename, with a trailing slash
20
+ Given the Server is running
21
+ When I go to "/auto-css/"
22
+ Then I should see "stylesheets/auto-css/index.css"
13
23
 
14
24
  Scenario: Viewing a tier-2 path
15
25
  Given the Server is running
16
- When I go to "/sub1/sub2/auto-css.html"
17
- Then I should see "stylesheets/sub1/sub2/auto-css.css"
26
+ When I go to "/auto-css/sub/auto-css.html"
27
+ Then I should see "stylesheets/auto-css/sub/auto-css.css"
@@ -17,14 +17,27 @@ get "/sub1/sub2/page-class.html" do
17
17
  haml :"page-classes.html", :layout => false
18
18
  end
19
19
 
20
- get "/auto-css.html" do
21
- haml :"auto-css.html", :layout => false
20
+ %w{
21
+ /auto-css.html
22
+ /auto-css
23
+ /auto-css/
24
+ /auto-css/auto-css.html
25
+ /auto-css/sub/auto-css.html
26
+ }.each do |path|
27
+ get path do
28
+ haml :"auto-css.html", :layout => false
29
+ end
22
30
  end
23
31
 
24
- get "/sub1/auto-css.html" do
25
- haml :"auto-css.html", :layout => false
32
+ %w{
33
+ /auto-js.html
34
+ /auto-js
35
+ /auto-js/
36
+ /auto-js/auto-js.html
37
+ /auto-js/sub/auto-js.html
38
+ }.each do |path|
39
+ get path do
40
+ haml :"auto-js.html", :layout => false
41
+ end
26
42
  end
27
43
 
28
- get "/sub1/sub2/auto-css.html" do
29
- haml :"auto-css.html", :layout => false
30
- end
@@ -0,0 +1 @@
1
+ = auto_javascript_include_tag
data/lib/middleman.rb CHANGED
@@ -19,7 +19,7 @@
19
19
  # * Sass (.sass)
20
20
  # * Scss (.scss)
21
21
  # * Haml (.haml)
22
- # * Sass (.sass)
22
+ # * Slim (.slim)
23
23
  # * Less CSS (.less)
24
24
  # * Builder (.builder)
25
25
  # * Liquid (.liquid)
@@ -8,22 +8,36 @@ module Middleman::Features::DefaultHelpers
8
8
 
9
9
  module Helpers
10
10
  def auto_stylesheet_link_tag(separator="/")
11
+ auto_tag(:css, separator) do |path|
12
+ stylesheet_link_tag path
13
+ end
14
+ end
15
+
16
+ def auto_javascript_include_tag(separator="/")
17
+ auto_tag(:js, separator) do |path|
18
+ javascript_include_tag path
19
+ end
20
+ end
21
+
22
+ def auto_tag(asset_ext, separator="/", asset_dir=nil)
23
+ if asset_dir.nil?
24
+ asset_dir = case asset_ext
25
+ when :js then self.class.js_dir
26
+ when :css then self.class.css_dir
27
+ end
28
+ end
11
29
  path = request.path_info.dup
12
- path << self.class.index_file if path.match(%r{/$})
30
+ # If the basename of the request as no extension, assume we are serving a
31
+ # directory and join index_file to the path.
32
+ path = File.join(path, self.class.index_file) if File.extname(path).empty?
13
33
  path = path.gsub(%r{^/}, '')
14
- path = path.gsub(File.extname(path), '')
34
+ path = path.gsub(File.extname(path), ".#{asset_ext}")
15
35
  path = path.gsub("/", separator)
16
36
 
17
- css_file = File.join(self.class.views, self.class.css_dir, "#{path}.css")
18
- sass_file = File.join(self.class.views, self.class.css_dir, "#{path}.css.sass")
19
- scss_file = File.join(self.class.views, self.class.css_dir, "#{path}.css.scss")
20
- less_file = File.join(self.class.views, self.class.css_dir, "#{path}.css.less")
21
-
22
- if File.exists?(css_file) || File.exists?(sass_file) || File.exists?(scss_file) || File.exists?(less_file)
23
- stylesheet_link_tag "#{path}.css"
24
- end
37
+ view = File.join(self.class.views, asset_dir, path)
38
+ yield path if File.exists?(view) or Dir["#{view}.*"].any?
25
39
  end
26
-
40
+
27
41
  def page_classes
28
42
  path = request.path_info.dup
29
43
  path << settings.index_file if path.match(%r{/$})
@@ -58,4 +72,4 @@ module Middleman::Features::DefaultHelpers
58
72
  "#{result_path}#{timestamp}"
59
73
  end
60
74
  end
61
- end
75
+ end
@@ -1,3 +1,3 @@
1
1
  module Middleman
2
- VERSION = "2.0.0.beta3"
2
+ VERSION = "2.0.0.beta4"
3
3
  end
data/middleman.gemspec CHANGED
@@ -36,6 +36,7 @@ Gem::Specification.new do |s|
36
36
  s.add_runtime_dependency("coffee-script", ["~> 2.2.0"])
37
37
  s.add_runtime_dependency("httparty", ["~> 0.7.0"])
38
38
  s.add_development_dependency("cucumber", ["~> 0.10.0"])
39
+ s.add_development_dependency("rake", ["0.8.7"])
39
40
  s.add_development_dependency("rspec", [">= 0"])
40
41
  s.add_development_dependency("rocco", [">= 0"]) unless defined?(JRUBY_VERSION)
41
42
  end
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.beta3
5
+ version: 2.0.0.beta4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Thomas Reynolds
@@ -10,7 +10,8 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-14 00:00:00 Z
13
+ date: 2011-06-24 00:00:00 -07:00
14
+ default_executable:
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: rack
@@ -211,18 +212,18 @@ dependencies:
211
212
  type: :development
212
213
  version_requirements: *id018
213
214
  - !ruby/object:Gem::Dependency
214
- name: rspec
215
+ name: rake
215
216
  prerelease: false
216
217
  requirement: &id019 !ruby/object:Gem::Requirement
217
218
  none: false
218
219
  requirements:
219
- - - ">="
220
+ - - "="
220
221
  - !ruby/object:Gem::Version
221
- version: "0"
222
+ version: 0.8.7
222
223
  type: :development
223
224
  version_requirements: *id019
224
225
  - !ruby/object:Gem::Dependency
225
- name: rocco
226
+ name: rspec
226
227
  prerelease: false
227
228
  requirement: &id020 !ruby/object:Gem::Requirement
228
229
  none: false
@@ -232,6 +233,17 @@ dependencies:
232
233
  version: "0"
233
234
  type: :development
234
235
  version_requirements: *id020
236
+ - !ruby/object:Gem::Dependency
237
+ name: rocco
238
+ prerelease: false
239
+ requirement: &id021 !ruby/object:Gem::Requirement
240
+ none: false
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: "0"
245
+ type: :development
246
+ version_requirements: *id021
235
247
  description:
236
248
  email:
237
249
  - tdreyno@gmail.com
@@ -259,6 +271,7 @@ files:
259
271
  - features/builder.feature
260
272
  - features/coffee-script.feature
261
273
  - features/generator.feature
274
+ - features/helpers_auto_javascript_include_tag.feature
262
275
  - features/helpers_auto_stylesheet_link_tag.feature
263
276
  - features/helpers_page_classes.feature
264
277
  - features/minify_css.feature
@@ -283,6 +296,7 @@ files:
283
296
  - fixtures/test-app/source/asset_host.html.haml
284
297
  - fixtures/test-app/source/auto-css.html.haml
285
298
  - fixtures/test-app/source/auto-image-sizes.html.haml
299
+ - fixtures/test-app/source/auto-js.html.haml
286
300
  - fixtures/test-app/source/cache-buster.html.haml
287
301
  - fixtures/test-app/source/custom-layout-dir/index.html.haml
288
302
  - fixtures/test-app/source/custom-layout.html.haml
@@ -292,6 +306,10 @@ files:
292
306
  - fixtures/test-app/source/inline-coffeescript.html.haml
293
307
  - fixtures/test-app/source/inline-css.html.haml
294
308
  - fixtures/test-app/source/inline-js.html.haml
309
+ - fixtures/test-app/source/javascripts/auto-js.js
310
+ - fixtures/test-app/source/javascripts/auto-js/auto-js.js
311
+ - fixtures/test-app/source/javascripts/auto-js/index.js
312
+ - fixtures/test-app/source/javascripts/auto-js/sub/auto-js.js
295
313
  - fixtures/test-app/source/javascripts/coffee_test.js.coffee
296
314
  - fixtures/test-app/source/javascripts/jquery.plugin.with.dots.js
297
315
  - fixtures/test-app/source/layout.haml
@@ -303,12 +321,13 @@ files:
303
321
  - fixtures/test-app/source/static.html
304
322
  - fixtures/test-app/source/stylesheets/asset_host.css.sass
305
323
  - fixtures/test-app/source/stylesheets/auto-css.css
324
+ - fixtures/test-app/source/stylesheets/auto-css/auto-css.css
325
+ - fixtures/test-app/source/stylesheets/auto-css/index.css
326
+ - fixtures/test-app/source/stylesheets/auto-css/sub/auto-css.css
306
327
  - fixtures/test-app/source/stylesheets/relative_assets.css.sass
307
328
  - fixtures/test-app/source/stylesheets/site.css.sass
308
329
  - fixtures/test-app/source/stylesheets/site_scss.css.scss
309
330
  - fixtures/test-app/source/stylesheets/static.css
310
- - fixtures/test-app/source/stylesheets/sub1/auto-css.css
311
- - fixtures/test-app/source/stylesheets/sub1/sub2/auto-css.css
312
331
  - fixtures/test-app/source/tiny_src.html.haml
313
332
  - lib/middleman.rb
314
333
  - lib/middleman/assets.rb
@@ -374,6 +393,7 @@ files:
374
393
  - lib/middleman/templates/xhtml/source/stylesheets/site.css.sass
375
394
  - lib/middleman/version.rb
376
395
  - middleman.gemspec
396
+ has_rdoc: true
377
397
  homepage: http://wiki.github.com/tdreyno/middleman
378
398
  licenses: []
379
399
 
@@ -397,7 +417,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
397
417
  requirements: []
398
418
 
399
419
  rubyforge_project: middleman
400
- rubygems_version: 1.7.2
420
+ rubygems_version: 1.3.9.2
401
421
  signing_key:
402
422
  specification_version: 3
403
423
  summary: A static site generator based on Sinatra. Providing Haml, Sass, Compass, Less, Coffee Script and including minification, compression and cache busting.
@@ -405,6 +425,7 @@ test_files:
405
425
  - features/builder.feature
406
426
  - features/coffee-script.feature
407
427
  - features/generator.feature
428
+ - features/helpers_auto_javascript_include_tag.feature
408
429
  - features/helpers_auto_stylesheet_link_tag.feature
409
430
  - features/helpers_page_classes.feature
410
431
  - features/minify_css.feature
@@ -429,6 +450,7 @@ test_files:
429
450
  - fixtures/test-app/source/asset_host.html.haml
430
451
  - fixtures/test-app/source/auto-css.html.haml
431
452
  - fixtures/test-app/source/auto-image-sizes.html.haml
453
+ - fixtures/test-app/source/auto-js.html.haml
432
454
  - fixtures/test-app/source/cache-buster.html.haml
433
455
  - fixtures/test-app/source/custom-layout-dir/index.html.haml
434
456
  - fixtures/test-app/source/custom-layout.html.haml
@@ -438,6 +460,10 @@ test_files:
438
460
  - fixtures/test-app/source/inline-coffeescript.html.haml
439
461
  - fixtures/test-app/source/inline-css.html.haml
440
462
  - fixtures/test-app/source/inline-js.html.haml
463
+ - fixtures/test-app/source/javascripts/auto-js.js
464
+ - fixtures/test-app/source/javascripts/auto-js/auto-js.js
465
+ - fixtures/test-app/source/javascripts/auto-js/index.js
466
+ - fixtures/test-app/source/javascripts/auto-js/sub/auto-js.js
441
467
  - fixtures/test-app/source/javascripts/coffee_test.js.coffee
442
468
  - fixtures/test-app/source/javascripts/jquery.plugin.with.dots.js
443
469
  - fixtures/test-app/source/layout.haml
@@ -449,10 +475,11 @@ test_files:
449
475
  - fixtures/test-app/source/static.html
450
476
  - fixtures/test-app/source/stylesheets/asset_host.css.sass
451
477
  - fixtures/test-app/source/stylesheets/auto-css.css
478
+ - fixtures/test-app/source/stylesheets/auto-css/auto-css.css
479
+ - fixtures/test-app/source/stylesheets/auto-css/index.css
480
+ - fixtures/test-app/source/stylesheets/auto-css/sub/auto-css.css
452
481
  - fixtures/test-app/source/stylesheets/relative_assets.css.sass
453
482
  - fixtures/test-app/source/stylesheets/site.css.sass
454
483
  - fixtures/test-app/source/stylesheets/site_scss.css.scss
455
484
  - fixtures/test-app/source/stylesheets/static.css
456
- - fixtures/test-app/source/stylesheets/sub1/auto-css.css
457
- - fixtures/test-app/source/stylesheets/sub1/sub2/auto-css.css
458
485
  - fixtures/test-app/source/tiny_src.html.haml