massimo 0.8.4 → 0.8.5

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.
@@ -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.