massimo 0.8.4 → 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,6 @@ require 'padrino-helpers'
2
2
 
3
3
  module Massimo
4
4
  module Helpers
5
- include Padrino::Helpers::DomHelpers
6
5
  include Padrino::Helpers::OutputHelpers
7
6
  include Padrino::Helpers::TagHelpers
8
7
  include Padrino::Helpers::AssetTagHelpers
@@ -1,22 +1,9 @@
1
+ require 'sprockets'
2
+
1
3
  module Massimo
2
4
  class Javascript < Massimo::Resource
3
5
  def render
4
- compress(compile)
5
- end
6
-
7
- def extension
8
- @extension ||= '.js'
9
- end
10
-
11
- protected
12
-
13
- def compile
14
- case source_path.extname
15
- when '.coffee'
16
- require 'coffee-script' unless defined?(CoffeeScript)
17
- CoffeeScript.compile(content, Massimo.config.options_for(:coffee_script))
18
- else
19
- require 'sprockets' unless defined?(Sprockets)
6
+ output = if source_path.extname == '.js'
20
7
  options = Massimo.config.options_for(:sprockets).merge(
21
8
  :assert_root => Massimo.config.output_path,
22
9
  :source_files => [ source_path.to_s ]
@@ -24,8 +11,17 @@ module Massimo
24
11
  secretary = Sprockets::Secretary.new(options)
25
12
  secretary.install_assets
26
13
  secretary.concatenation.to_s
14
+ else
15
+ super
27
16
  end
28
- end
17
+ compress(output)
18
+ end
19
+
20
+ def extension
21
+ @extension ||= '.js'
22
+ end
23
+
24
+ protected
29
25
 
30
26
  def compress(javascript)
31
27
  case Massimo.config.javascripts_compressor.to_s
data/lib/massimo/page.rb CHANGED
@@ -7,13 +7,11 @@ require 'yaml'
7
7
  module Massimo
8
8
  class Page < Resource
9
9
  def render
10
- output = content
11
-
12
- if template_type = Tilt[filename]
13
- options = Massimo.config.options_for(source_path.extname[1..-1])
14
- template = template_type.new(source_path.to_s, @line, options) { output }
10
+ output = if template?
15
11
  meta_data = @meta_data.merge self.class.resource_name.singularize.to_sym => self
16
- output = template.render Massimo.site.template_scope, meta_data
12
+ template.render Massimo.site.template_scope, meta_data
13
+ else
14
+ content
17
15
  end
18
16
 
19
17
  if found_layout = Massimo::View.find("layouts/#{layout}")
@@ -2,6 +2,7 @@ require 'active_support/core_ext/string/starts_ends_with'
2
2
  require 'active_support/inflector'
3
3
  require 'fileutils'
4
4
  require 'pathname'
5
+ require 'tilt'
5
6
 
6
7
  module Massimo
7
8
  class Resource
@@ -85,7 +86,11 @@ module Massimo
85
86
 
86
87
  # Runs the content through any necessary filters, templates, etc.
87
88
  def render
88
- content
89
+ if template?
90
+ template.render
91
+ else
92
+ content
93
+ end
89
94
  end
90
95
 
91
96
  # Writes the rendered content to the output file.
@@ -101,5 +106,18 @@ module Massimo
101
106
  def read_source
102
107
  @content = source_path.read
103
108
  end
109
+
110
+ def template
111
+ @template ||= begin
112
+ if template_type = Tilt[filename]
113
+ options = Massimo.config.options_for(source_path.extname[1..-1])
114
+ template_type.new(source_path.to_s, @line, options) { content }
115
+ end
116
+ end
117
+ end
118
+
119
+ def template?
120
+ !!Tilt[filename]
121
+ end
104
122
  end
105
123
  end
@@ -1,19 +1,5 @@
1
1
  module Massimo
2
2
  class Stylesheet < Massimo::Resource
3
- def render
4
- case source_path.extname
5
- when '.sass', '.scss'
6
- require 'sass' unless defined?(Sass)
7
- options = Massimo.config.options_for(:sass).merge(:css_filename => output_path)
8
- Sass::Files.tree_for(source_path.to_s, options).render
9
- when '.less'
10
- require 'less' unless defined?(Less)
11
- Less::Engine.new(content, Massimo.config.options_for(:less)).to_css
12
- else
13
- super
14
- end
15
- end
16
-
17
3
  def extension
18
4
  @extension ||= '.css'
19
5
  end
@@ -1,3 +1,3 @@
1
1
  module Massimo
2
- VERSION = '0.8.4'
2
+ VERSION = '0.8.5'
3
3
  end
data/massimo.gemspec CHANGED
@@ -17,17 +17,18 @@ Gem::Specification.new do |s|
17
17
  s.add_dependency 'rack', '~> 1.2.0'
18
18
  s.add_dependency 'padrino-helpers', '~> 0.9.0'
19
19
  s.add_dependency 'thor', '~> 0.14.0'
20
- s.add_dependency 'tilt', '~> 1.2.0'
20
+ s.add_dependency 'tilt', '~> 1.3.1'
21
21
  s.add_dependency 'tzinfo', '~> 0.3.0'
22
- s.add_development_dependency 'rspec', '~> 2.4.0'
22
+ s.add_dependency 'sprockets', '~> 1.0.0'
23
+ s.add_development_dependency 'rspec', '~> 2.5.0'
23
24
  s.add_development_dependency 'rr', '~> 1.0.0'
24
25
  s.add_development_dependency 'test-construct', '~> 1.2.0'
25
26
  s.add_development_dependency 'rack-test', '~> 0.5.0'
26
27
  s.add_development_dependency 'unindent', '~> 0.9.0'
27
- s.add_development_dependency 'haml', '~> 3.0.0'
28
+ s.add_development_dependency 'haml', '~> 3.1.0'
29
+ s.add_development_dependency 'sass', '~> 3.1.0'
28
30
  s.add_development_dependency 'less', '~> 1.2.0'
29
- s.add_development_dependency 'coffee-script', '~> 0.3.0'
30
- s.add_development_dependency 'sprockets', '~> 1.0.0'
31
+ s.add_development_dependency 'coffee-script', '~> 2.2.0'
31
32
  s.add_development_dependency 'jsmin', '~> 1.0.0'
32
33
  s.add_development_dependency 'packr', '~> 3.1.0'
33
34
  s.add_development_dependency 'yui-compressor', '~> 0.9.0'
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Massimo::Helpers do
4
- it { should include(Padrino::Helpers::DomHelpers) }
5
4
  it { should include(Padrino::Helpers::OutputHelpers) }
6
5
  it { should include(Padrino::Helpers::TagHelpers) }
7
6
  it { should include(Padrino::Helpers::AssetTagHelpers) }
@@ -24,7 +24,7 @@ describe Massimo::Javascript do
24
24
 
25
25
  it 'renders using CoffeeScript' do
26
26
  with_file 'javascripts/main.coffee', 'number: 42' do
27
- mock(CoffeeScript).compile('number: 42', {}) { '' }
27
+ mock(CoffeeScript).compile('number: 42', { :bare => false }) { '' }
28
28
  javascript.render
29
29
  end
30
30
  end
@@ -24,7 +24,7 @@ describe Massimo::Stylesheet do
24
24
 
25
25
  it 'should import other .sass files' do
26
26
  within_construct do |c|
27
- c.file 'stylesheets/main.sass', "@import _base.sass"
27
+ c.file 'stylesheets/main.sass', '@import "base"'
28
28
  c.file 'stylesheets/_base.sass', "#header\n font-size: 36px"
29
29
  stylesheet.render.should == "#header {\n font-size: 36px; }\n"
30
30
  end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: massimo
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 8
8
- - 4
9
- version: 0.8.4
4
+ prerelease:
5
+ version: 0.8.5
10
6
  platform: ruby
11
7
  authors:
12
8
  - Pete Browne
@@ -14,8 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-04-09 00:00:00 -05:00
18
- default_executable:
13
+ date: 2011-05-23 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: activesupport
@@ -25,10 +20,6 @@ dependencies:
25
20
  requirements:
26
21
  - - ~>
27
22
  - !ruby/object:Gem::Version
28
- segments:
29
- - 3
30
- - 0
31
- - 0
32
23
  version: 3.0.0
33
24
  type: :runtime
34
25
  version_requirements: *id001
@@ -40,10 +31,6 @@ dependencies:
40
31
  requirements:
41
32
  - - ~>
42
33
  - !ruby/object:Gem::Version
43
- segments:
44
- - 0
45
- - 4
46
- - 0
47
34
  version: 0.4.0
48
35
  type: :runtime
49
36
  version_requirements: *id002
@@ -55,10 +42,6 @@ dependencies:
55
42
  requirements:
56
43
  - - ~>
57
44
  - !ruby/object:Gem::Version
58
- segments:
59
- - 1
60
- - 2
61
- - 0
62
45
  version: 1.2.0
63
46
  type: :runtime
64
47
  version_requirements: *id003
@@ -70,10 +53,6 @@ dependencies:
70
53
  requirements:
71
54
  - - ~>
72
55
  - !ruby/object:Gem::Version
73
- segments:
74
- - 0
75
- - 9
76
- - 0
77
56
  version: 0.9.0
78
57
  type: :runtime
79
58
  version_requirements: *id004
@@ -85,10 +64,6 @@ dependencies:
85
64
  requirements:
86
65
  - - ~>
87
66
  - !ruby/object:Gem::Version
88
- segments:
89
- - 0
90
- - 14
91
- - 0
92
67
  version: 0.14.0
93
68
  type: :runtime
94
69
  version_requirements: *id005
@@ -100,11 +75,7 @@ dependencies:
100
75
  requirements:
101
76
  - - ~>
102
77
  - !ruby/object:Gem::Version
103
- segments:
104
- - 1
105
- - 2
106
- - 0
107
- version: 1.2.0
78
+ version: 1.3.1
108
79
  type: :runtime
109
80
  version_requirements: *id006
110
81
  - !ruby/object:Gem::Dependency
@@ -115,223 +86,174 @@ dependencies:
115
86
  requirements:
116
87
  - - ~>
117
88
  - !ruby/object:Gem::Version
118
- segments:
119
- - 0
120
- - 3
121
- - 0
122
89
  version: 0.3.0
123
90
  type: :runtime
124
91
  version_requirements: *id007
125
92
  - !ruby/object:Gem::Dependency
126
- name: rspec
93
+ name: sprockets
127
94
  prerelease: false
128
95
  requirement: &id008 !ruby/object:Gem::Requirement
129
96
  none: false
130
97
  requirements:
131
98
  - - ~>
132
99
  - !ruby/object:Gem::Version
133
- segments:
134
- - 2
135
- - 4
136
- - 0
137
- version: 2.4.0
138
- type: :development
100
+ version: 1.0.0
101
+ type: :runtime
139
102
  version_requirements: *id008
140
103
  - !ruby/object:Gem::Dependency
141
- name: rr
104
+ name: rspec
142
105
  prerelease: false
143
106
  requirement: &id009 !ruby/object:Gem::Requirement
144
107
  none: false
145
108
  requirements:
146
109
  - - ~>
147
110
  - !ruby/object:Gem::Version
148
- segments:
149
- - 1
150
- - 0
151
- - 0
152
- version: 1.0.0
111
+ version: 2.5.0
153
112
  type: :development
154
113
  version_requirements: *id009
155
114
  - !ruby/object:Gem::Dependency
156
- name: test-construct
115
+ name: rr
157
116
  prerelease: false
158
117
  requirement: &id010 !ruby/object:Gem::Requirement
159
118
  none: false
160
119
  requirements:
161
120
  - - ~>
162
121
  - !ruby/object:Gem::Version
163
- segments:
164
- - 1
165
- - 2
166
- - 0
167
- version: 1.2.0
122
+ version: 1.0.0
168
123
  type: :development
169
124
  version_requirements: *id010
170
125
  - !ruby/object:Gem::Dependency
171
- name: rack-test
126
+ name: test-construct
172
127
  prerelease: false
173
128
  requirement: &id011 !ruby/object:Gem::Requirement
174
129
  none: false
175
130
  requirements:
176
131
  - - ~>
177
132
  - !ruby/object:Gem::Version
178
- segments:
179
- - 0
180
- - 5
181
- - 0
182
- version: 0.5.0
133
+ version: 1.2.0
183
134
  type: :development
184
135
  version_requirements: *id011
185
136
  - !ruby/object:Gem::Dependency
186
- name: unindent
137
+ name: rack-test
187
138
  prerelease: false
188
139
  requirement: &id012 !ruby/object:Gem::Requirement
189
140
  none: false
190
141
  requirements:
191
142
  - - ~>
192
143
  - !ruby/object:Gem::Version
193
- segments:
194
- - 0
195
- - 9
196
- - 0
197
- version: 0.9.0
144
+ version: 0.5.0
198
145
  type: :development
199
146
  version_requirements: *id012
200
147
  - !ruby/object:Gem::Dependency
201
- name: haml
148
+ name: unindent
202
149
  prerelease: false
203
150
  requirement: &id013 !ruby/object:Gem::Requirement
204
151
  none: false
205
152
  requirements:
206
153
  - - ~>
207
154
  - !ruby/object:Gem::Version
208
- segments:
209
- - 3
210
- - 0
211
- - 0
212
- version: 3.0.0
155
+ version: 0.9.0
213
156
  type: :development
214
157
  version_requirements: *id013
215
158
  - !ruby/object:Gem::Dependency
216
- name: less
159
+ name: haml
217
160
  prerelease: false
218
161
  requirement: &id014 !ruby/object:Gem::Requirement
219
162
  none: false
220
163
  requirements:
221
164
  - - ~>
222
165
  - !ruby/object:Gem::Version
223
- segments:
224
- - 1
225
- - 2
226
- - 0
227
- version: 1.2.0
166
+ version: 3.1.0
228
167
  type: :development
229
168
  version_requirements: *id014
230
169
  - !ruby/object:Gem::Dependency
231
- name: coffee-script
170
+ name: sass
232
171
  prerelease: false
233
172
  requirement: &id015 !ruby/object:Gem::Requirement
234
173
  none: false
235
174
  requirements:
236
175
  - - ~>
237
176
  - !ruby/object:Gem::Version
238
- segments:
239
- - 0
240
- - 3
241
- - 0
242
- version: 0.3.0
177
+ version: 3.1.0
243
178
  type: :development
244
179
  version_requirements: *id015
245
180
  - !ruby/object:Gem::Dependency
246
- name: sprockets
181
+ name: less
247
182
  prerelease: false
248
183
  requirement: &id016 !ruby/object:Gem::Requirement
249
184
  none: false
250
185
  requirements:
251
186
  - - ~>
252
187
  - !ruby/object:Gem::Version
253
- segments:
254
- - 1
255
- - 0
256
- - 0
257
- version: 1.0.0
188
+ version: 1.2.0
258
189
  type: :development
259
190
  version_requirements: *id016
260
191
  - !ruby/object:Gem::Dependency
261
- name: jsmin
192
+ name: coffee-script
262
193
  prerelease: false
263
194
  requirement: &id017 !ruby/object:Gem::Requirement
264
195
  none: false
265
196
  requirements:
266
197
  - - ~>
267
198
  - !ruby/object:Gem::Version
268
- segments:
269
- - 1
270
- - 0
271
- - 0
272
- version: 1.0.0
199
+ version: 2.2.0
273
200
  type: :development
274
201
  version_requirements: *id017
275
202
  - !ruby/object:Gem::Dependency
276
- name: packr
203
+ name: jsmin
277
204
  prerelease: false
278
205
  requirement: &id018 !ruby/object:Gem::Requirement
279
206
  none: false
280
207
  requirements:
281
208
  - - ~>
282
209
  - !ruby/object:Gem::Version
283
- segments:
284
- - 3
285
- - 1
286
- - 0
287
- version: 3.1.0
210
+ version: 1.0.0
288
211
  type: :development
289
212
  version_requirements: *id018
290
213
  - !ruby/object:Gem::Dependency
291
- name: yui-compressor
214
+ name: packr
292
215
  prerelease: false
293
216
  requirement: &id019 !ruby/object:Gem::Requirement
294
217
  none: false
295
218
  requirements:
296
219
  - - ~>
297
220
  - !ruby/object:Gem::Version
298
- segments:
299
- - 0
300
- - 9
301
- - 0
302
- version: 0.9.0
221
+ version: 3.1.0
303
222
  type: :development
304
223
  version_requirements: *id019
305
224
  - !ruby/object:Gem::Dependency
306
- name: closure-compiler
225
+ name: yui-compressor
307
226
  prerelease: false
308
227
  requirement: &id020 !ruby/object:Gem::Requirement
309
228
  none: false
310
229
  requirements:
311
230
  - - ~>
312
231
  - !ruby/object:Gem::Version
313
- segments:
314
- - 0
315
- - 3
316
- - 0
317
- version: 0.3.0
232
+ version: 0.9.0
318
233
  type: :development
319
234
  version_requirements: *id020
320
235
  - !ruby/object:Gem::Dependency
321
- name: growl
236
+ name: closure-compiler
322
237
  prerelease: false
323
238
  requirement: &id021 !ruby/object:Gem::Requirement
324
239
  none: false
325
240
  requirements:
326
241
  - - ~>
327
242
  - !ruby/object:Gem::Version
328
- segments:
329
- - 1
330
- - 0
331
- - 0
332
- version: 1.0.0
243
+ version: 0.3.0
333
244
  type: :development
334
245
  version_requirements: *id021
246
+ - !ruby/object:Gem::Dependency
247
+ name: growl
248
+ prerelease: false
249
+ requirement: &id022 !ruby/object:Gem::Requirement
250
+ none: false
251
+ requirements:
252
+ - - ~>
253
+ - !ruby/object:Gem::Version
254
+ version: 1.0.0
255
+ type: :development
256
+ version_requirements: *id022
335
257
  description: Massimo builds HTML, Javascript, and CSS Files from your source.
336
258
  email: me@petebrowne.com
337
259
  executables:
@@ -388,7 +310,6 @@ files:
388
310
  - spec/spec_helper.rb
389
311
  - spec/support/matchers/be_a_directory_matcher.rb
390
312
  - spec/support/matchers/be_a_file_matcher.rb
391
- has_rdoc: true
392
313
  homepage: http://massimo.petebrowne.com/
393
314
  licenses: []
394
315
 
@@ -402,21 +323,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
402
323
  requirements:
403
324
  - - ">="
404
325
  - !ruby/object:Gem::Version
405
- segments:
406
- - 0
407
326
  version: "0"
408
327
  required_rubygems_version: !ruby/object:Gem::Requirement
409
328
  none: false
410
329
  requirements:
411
330
  - - ">="
412
331
  - !ruby/object:Gem::Version
413
- segments:
414
- - 0
415
332
  version: "0"
416
333
  requirements: []
417
334
 
418
335
  rubyforge_project: massimo
419
- rubygems_version: 1.3.7
336
+ rubygems_version: 1.7.2
420
337
  signing_key:
421
338
  specification_version: 3
422
339
  summary: Massimo is a static website builder.