middleman 1.2.1 → 1.2.2

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.
@@ -10,7 +10,6 @@ Feature: Builder
10
10
  Then "services/index.html" should exist and include "Services"
11
11
  Then "stylesheets/site.css" should exist and include "html, body, div, span"
12
12
  Then "stylesheets/site_scss.css" should exist and include "html, body, div, span"
13
- Then "stylesheets/test_less.css" should exist and include "666"
14
13
  Then "stylesheets/static.css" should exist and include "body"
15
14
  Then "_partial.html" should not exist
16
15
  And cleanup built test app
@@ -1,8 +1,11 @@
1
1
  require "yaml"
2
+ require "httparty"
3
+ require "thor"
2
4
 
3
5
  module Middleman::Features::Data
4
6
  class << self
5
7
  def registered(app)
8
+ app.extend ClassMethods
6
9
  app.helpers Middleman::Features::Data::Helpers
7
10
  end
8
11
  alias :included :registered
@@ -20,11 +23,57 @@ module Middleman::Features::Data
20
23
  end
21
24
 
22
25
  def method_missing(path)
26
+ response = nil
27
+
28
+ @@remote_sources ||= {}
29
+ if @@remote_sources.has_key?(path.to_s)
30
+ response = HTTParty.get(@@remote_sources[path.to_s]).parsed_response
31
+ end
32
+
23
33
  file_path = File.join(@app.class.root, "data", "#{path}.yml")
24
34
  if File.exists? file_path
25
- return YAML.load_file(file_path)
35
+ response = YAML.load_file(file_path)
36
+ end
37
+
38
+ if response
39
+ recursively_enhance(response)
40
+ end
41
+ end
42
+
43
+ def self.add_source(name, json_url)
44
+ @@remote_sources ||= {}
45
+ @@remote_sources[name.to_s] = json_url
46
+ end
47
+
48
+ private
49
+ def recursively_enhance(data)
50
+ if data.is_a? Hash
51
+ data = Thor::CoreExt::HashWithIndifferentAccess.new(data)
52
+ data.each do |key, val|
53
+ data[key] = recursively_enhance(val)
54
+ end
55
+ data
56
+ elsif data.is_a? Array
57
+ data.each_with_index do |val, i|
58
+ data[i] = recursively_enhance(val)
59
+ end
60
+ data
61
+ else
62
+ data
26
63
  end
27
64
  end
28
65
  end
29
66
 
67
+ module ClassMethods
68
+ # Makes HTTP json data available in the data object
69
+ #
70
+ # data_source :my_json, "http://my/file.json"
71
+ #
72
+ # Available in templates as:
73
+ #
74
+ # data.my_json
75
+ def data_source(name, url)
76
+ Middleman::Features::Data::DataObject.add_source(name, url)
77
+ end
78
+ end
30
79
  end
@@ -3,22 +3,10 @@ module Middleman::Features::MinifyJavascript
3
3
  def registered(app)
4
4
  # Only do minification on build or prod mode
5
5
  return unless [:build, :production].include? app.environment
6
-
7
- Middleman::Features::MinifyJavascript::Haml::Javascript.send :include, ::Haml::Filters::Base
8
6
 
9
7
  require "middleman/features/minify_javascript/rack"
10
8
  app.use Middleman::Rack::MinifyJavascript
11
9
  end
12
10
  alias :included :registered
13
11
  end
14
-
15
- module Haml
16
- module Javascript
17
- def render_with_options(text, options)
18
- compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
19
- data = compressor.compress(text)
20
- %Q{<script type=#{options[:attr_wrapper]}text/javascript#{options[:attr_wrapper]}>#{data.chomp}</script>}
21
- end
22
- end
23
- end
24
12
  end
@@ -1,7 +1,7 @@
1
1
  begin
2
- require "yui/compressor"
2
+ require 'uglifier'
3
3
  rescue LoadError
4
- puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
4
+ puts "UglifyJS not available. Install it with: gem install uglifier"
5
5
  end
6
6
 
7
7
  module Middleman
@@ -16,14 +16,14 @@ module Middleman
16
16
  status, headers, response = @app.call(env)
17
17
 
18
18
  if env["PATH_INFO"].match(/\.js$/)
19
- compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
19
+ compressor = ::Uglifier.new
20
20
 
21
21
  if response.is_a?(::Rack::File) or response.is_a?(Sinatra::Helpers::StaticFile)
22
22
  uncompressed_source = File.read(response.path)
23
23
  else
24
24
  uncompressed_source = response.join
25
25
  end
26
- minified = compressor.compress(uncompressed_source)
26
+ minified = compressor.compile(uncompressed_source)
27
27
  headers["Content-Length"] = ::Rack::Utils.bytesize(minified).to_s
28
28
  response = [minified]
29
29
  end
@@ -1,3 +1,3 @@
1
1
  module Middleman
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
data/middleman.gemspec CHANGED
@@ -23,19 +23,19 @@ Gem::Specification.new do |s|
23
23
  s.add_runtime_dependency("kirk", ["~> 0.1.8"]) if defined?(JRUBY_VERSION)
24
24
  s.add_runtime_dependency("shotgun", ["~> 0.8.0"])
25
25
  s.add_runtime_dependency("thor", ["~> 0.14.0"])
26
- s.add_runtime_dependency("tilt", ["~> 1.2.0"])
26
+ s.add_runtime_dependency("tilt", ["~> 1.3.0"])
27
27
  s.add_runtime_dependency("sinatra", ["~> 1.2.0"])
28
28
  s.add_runtime_dependency("padrino-core", ["~> 0.9.23"])
29
29
  s.add_runtime_dependency("padrino-helpers", ["~> 0.9.23"])
30
30
  s.add_runtime_dependency("rack-test", ["~> 0.5.0"])
31
- s.add_runtime_dependency("yui-compressor", ["~> 0.9.0"])
31
+ s.add_runtime_dependency("therubyracer", ["~> 0.8.0"]) unless defined?(JRUBY_VERSION)
32
+ s.add_runtime_dependency("therubyrhino", ["~> 1.72.0"]) if defined?(JRUBY_VERSION)
33
+ s.add_runtime_dependency("uglifier", ["~> 0.5.0"])
32
34
  s.add_runtime_dependency("haml", ["~> 3.1.0"])
33
35
  s.add_runtime_dependency("sass", ["~> 3.1.0"])
34
36
  s.add_runtime_dependency("compass", ["~> 0.11.1"])
35
- s.add_runtime_dependency("chunky_png", ["~> 1.1.0"])
36
- s.add_runtime_dependency("oily_png", ["~> 1.0"]) unless defined?(JRUBY_VERSION)
37
37
  s.add_runtime_dependency("coffee-script", ["~> 2.1.0"])
38
- s.add_runtime_dependency("less", ["~> 1.2.0"])
38
+ s.add_runtime_dependency("httparty", ["~> 0.7.0"])
39
39
  # s.add_runtime_dependency("fssm", ["~> 0.2.0"])
40
40
  s.add_development_dependency("cucumber", ["~> 0.10.0"])
41
41
  s.add_development_dependency("rspec", [">= 0"])
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 1
10
- version: 1.2.1
9
+ - 2
10
+ version: 1.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Thomas Reynolds
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-26 00:00:00 -07:00
18
+ date: 2011-04-29 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -89,12 +89,12 @@ dependencies:
89
89
  requirements:
90
90
  - - ~>
91
91
  - !ruby/object:Gem::Version
92
- hash: 31
92
+ hash: 27
93
93
  segments:
94
94
  - 1
95
- - 2
95
+ - 3
96
96
  - 0
97
- version: 1.2.0
97
+ version: 1.3.0
98
98
  type: :runtime
99
99
  version_requirements: *id005
100
100
  - !ruby/object:Gem::Dependency
@@ -162,39 +162,39 @@ dependencies:
162
162
  type: :runtime
163
163
  version_requirements: *id009
164
164
  - !ruby/object:Gem::Dependency
165
- name: yui-compressor
165
+ name: therubyracer
166
166
  prerelease: false
167
167
  requirement: &id010 !ruby/object:Gem::Requirement
168
168
  none: false
169
169
  requirements:
170
170
  - - ~>
171
171
  - !ruby/object:Gem::Version
172
- hash: 59
172
+ hash: 63
173
173
  segments:
174
174
  - 0
175
- - 9
175
+ - 8
176
176
  - 0
177
- version: 0.9.0
177
+ version: 0.8.0
178
178
  type: :runtime
179
179
  version_requirements: *id010
180
180
  - !ruby/object:Gem::Dependency
181
- name: haml
181
+ name: uglifier
182
182
  prerelease: false
183
183
  requirement: &id011 !ruby/object:Gem::Requirement
184
184
  none: false
185
185
  requirements:
186
186
  - - ~>
187
187
  - !ruby/object:Gem::Version
188
- hash: 3
188
+ hash: 11
189
189
  segments:
190
- - 3
191
- - 1
192
190
  - 0
193
- version: 3.1.0
191
+ - 5
192
+ - 0
193
+ version: 0.5.0
194
194
  type: :runtime
195
195
  version_requirements: *id011
196
196
  - !ruby/object:Gem::Dependency
197
- name: sass
197
+ name: haml
198
198
  prerelease: false
199
199
  requirement: &id012 !ruby/object:Gem::Requirement
200
200
  none: false
@@ -210,56 +210,41 @@ dependencies:
210
210
  type: :runtime
211
211
  version_requirements: *id012
212
212
  - !ruby/object:Gem::Dependency
213
- name: compass
213
+ name: sass
214
214
  prerelease: false
215
215
  requirement: &id013 !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements:
218
218
  - - ~>
219
219
  - !ruby/object:Gem::Version
220
- hash: 49
220
+ hash: 3
221
221
  segments:
222
- - 0
223
- - 11
222
+ - 3
224
223
  - 1
225
- version: 0.11.1
224
+ - 0
225
+ version: 3.1.0
226
226
  type: :runtime
227
227
  version_requirements: *id013
228
228
  - !ruby/object:Gem::Dependency
229
- name: chunky_png
229
+ name: compass
230
230
  prerelease: false
231
231
  requirement: &id014 !ruby/object:Gem::Requirement
232
232
  none: false
233
233
  requirements:
234
234
  - - ~>
235
235
  - !ruby/object:Gem::Version
236
- hash: 19
236
+ hash: 49
237
237
  segments:
238
- - 1
239
- - 1
240
238
  - 0
241
- version: 1.1.0
242
- type: :runtime
243
- version_requirements: *id014
244
- - !ruby/object:Gem::Dependency
245
- name: oily_png
246
- prerelease: false
247
- requirement: &id015 !ruby/object:Gem::Requirement
248
- none: false
249
- requirements:
250
- - - ~>
251
- - !ruby/object:Gem::Version
252
- hash: 15
253
- segments:
239
+ - 11
254
240
  - 1
255
- - 0
256
- version: "1.0"
241
+ version: 0.11.1
257
242
  type: :runtime
258
- version_requirements: *id015
243
+ version_requirements: *id014
259
244
  - !ruby/object:Gem::Dependency
260
245
  name: coffee-script
261
246
  prerelease: false
262
- requirement: &id016 !ruby/object:Gem::Requirement
247
+ requirement: &id015 !ruby/object:Gem::Requirement
263
248
  none: false
264
249
  requirements:
265
250
  - - ~>
@@ -271,27 +256,27 @@ dependencies:
271
256
  - 0
272
257
  version: 2.1.0
273
258
  type: :runtime
274
- version_requirements: *id016
259
+ version_requirements: *id015
275
260
  - !ruby/object:Gem::Dependency
276
- name: less
261
+ name: httparty
277
262
  prerelease: false
278
- requirement: &id017 !ruby/object:Gem::Requirement
263
+ requirement: &id016 !ruby/object:Gem::Requirement
279
264
  none: false
280
265
  requirements:
281
266
  - - ~>
282
267
  - !ruby/object:Gem::Version
283
- hash: 31
268
+ hash: 3
284
269
  segments:
285
- - 1
286
- - 2
287
270
  - 0
288
- version: 1.2.0
271
+ - 7
272
+ - 0
273
+ version: 0.7.0
289
274
  type: :runtime
290
- version_requirements: *id017
275
+ version_requirements: *id016
291
276
  - !ruby/object:Gem::Dependency
292
277
  name: cucumber
293
278
  prerelease: false
294
- requirement: &id018 !ruby/object:Gem::Requirement
279
+ requirement: &id017 !ruby/object:Gem::Requirement
295
280
  none: false
296
281
  requirements:
297
282
  - - ~>
@@ -303,11 +288,11 @@ dependencies:
303
288
  - 0
304
289
  version: 0.10.0
305
290
  type: :development
306
- version_requirements: *id018
291
+ version_requirements: *id017
307
292
  - !ruby/object:Gem::Dependency
308
293
  name: rspec
309
294
  prerelease: false
310
- requirement: &id019 !ruby/object:Gem::Requirement
295
+ requirement: &id018 !ruby/object:Gem::Requirement
311
296
  none: false
312
297
  requirements:
313
298
  - - ">="
@@ -317,11 +302,11 @@ dependencies:
317
302
  - 0
318
303
  version: "0"
319
304
  type: :development
320
- version_requirements: *id019
305
+ version_requirements: *id018
321
306
  - !ruby/object:Gem::Dependency
322
307
  name: rocco
323
308
  prerelease: false
324
- requirement: &id020 !ruby/object:Gem::Requirement
309
+ requirement: &id019 !ruby/object:Gem::Requirement
325
310
  none: false
326
311
  requirements:
327
312
  - - ">="
@@ -331,7 +316,7 @@ dependencies:
331
316
  - 0
332
317
  version: "0"
333
318
  type: :development
334
- version_requirements: *id020
319
+ version_requirements: *id019
335
320
  description:
336
321
  email:
337
322
  - tdreyno@gmail.com
@@ -360,7 +345,6 @@ files:
360
345
  - features/generator.feature
361
346
  - features/helpers_auto_stylesheet_link_tag.feature
362
347
  - features/helpers_page_classes.feature
363
- - features/less-css.feature
364
348
  - features/minify_css.feature
365
349
  - features/minify_javascript.feature
366
350
  - features/padrino_helpers.feature
@@ -404,7 +388,6 @@ files:
404
388
  - fixtures/test-app/views/stylesheets/relative_assets.css.sass
405
389
  - fixtures/test-app/views/stylesheets/site.css.sass
406
390
  - fixtures/test-app/views/stylesheets/site_scss.css.scss
407
- - fixtures/test-app/views/stylesheets/test_less.css.less
408
391
  - fixtures/test-app/views/tiny_src.html.haml
409
392
  - lib/middleman.rb
410
393
  - lib/middleman/assets.rb
@@ -500,7 +483,6 @@ test_files:
500
483
  - features/generator.feature
501
484
  - features/helpers_auto_stylesheet_link_tag.feature
502
485
  - features/helpers_page_classes.feature
503
- - features/less-css.feature
504
486
  - features/minify_css.feature
505
487
  - features/minify_javascript.feature
506
488
  - features/padrino_helpers.feature
@@ -544,5 +526,4 @@ test_files:
544
526
  - fixtures/test-app/views/stylesheets/relative_assets.css.sass
545
527
  - fixtures/test-app/views/stylesheets/site.css.sass
546
528
  - fixtures/test-app/views/stylesheets/site_scss.css.scss
547
- - fixtures/test-app/views/stylesheets/test_less.css.less
548
529
  - fixtures/test-app/views/tiny_src.html.haml
@@ -1,7 +0,0 @@
1
- Feature: Support Less CSS
2
- In order to offer an alternative when writing CSS
3
-
4
- Scenario: Rendering Less
5
- Given the Server is running
6
- When I go to "/stylesheets/test_less.css"
7
- Then I should see "666"
@@ -1,5 +0,0 @@
1
- @brand_color: #666666;
2
-
3
- #header {
4
- color: @brand_color;
5
- }