massimo 0.6.0 → 0.6.1
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/bin/massimo +0 -1
- data/lib/massimo/config.rb +15 -13
- data/lib/massimo/javascript.rb +3 -2
- data/lib/massimo/page.rb +5 -5
- data/lib/massimo/stylesheet.rb +3 -2
- data/lib/massimo/view.rb +2 -1
- data/lib/massimo.rb +1 -1
- metadata +31 -46
- data/VERSION +0 -1
data/bin/massimo
CHANGED
data/lib/massimo/config.rb
CHANGED
@@ -19,45 +19,47 @@ module Massimo
|
|
19
19
|
def initialize(options = nil)
|
20
20
|
hash = DEFAULT_OPTIONS.dup
|
21
21
|
|
22
|
-
options = YAML.load_file(options) if options.is_a?
|
23
|
-
hash.merge!(options.symbolize_keys) if options.is_a?
|
22
|
+
options = YAML.load_file(options) if options.is_a? String
|
23
|
+
hash.merge!(options.symbolize_keys) if options.is_a? Hash
|
24
24
|
|
25
25
|
super hash
|
26
26
|
end
|
27
27
|
|
28
28
|
# The full, expanded path to the source path.
|
29
29
|
def source_path
|
30
|
-
File.expand_path
|
30
|
+
File.expand_path super
|
31
31
|
end
|
32
32
|
|
33
33
|
# The full, expanded path to the output path.
|
34
34
|
def output_path
|
35
|
-
File.expand_path
|
35
|
+
File.expand_path super
|
36
36
|
end
|
37
37
|
|
38
38
|
# Get a full, expanded path for the given resource name. This is either set
|
39
39
|
# in the configuration or determined dynamically based on the name.
|
40
40
|
def path_for(resource_name)
|
41
|
-
|
42
|
-
|
43
|
-
File.expand_path(resource_path)
|
41
|
+
if resource_path = send("#{resource_name}_path")
|
42
|
+
File.expand_path resource_path
|
44
43
|
else
|
45
|
-
File.join
|
44
|
+
File.join source_path, resource_name.to_s
|
46
45
|
end
|
47
46
|
end
|
48
47
|
|
49
48
|
# Get the configured URL for th given resource name.
|
50
49
|
def url_for(resource_name)
|
51
|
-
|
52
|
-
resource_url = respond_to?(url_method) && send(url_method)
|
53
|
-
resource_url = resources_url unless resource_url
|
54
|
-
File.join(base_url, resource_url)
|
50
|
+
File.join base_url, send("#{resource_name}_url") || resources_url
|
55
51
|
end
|
56
52
|
|
57
53
|
# Get an array of all the file paths found in the given resource name's path,
|
58
54
|
# restricted to the given extension.
|
59
55
|
def files_in(resource_name, extension = '*')
|
60
|
-
Dir.glob
|
56
|
+
Dir.glob File.join(path_for(resource_name), "**/*.#{extension}")
|
57
|
+
end
|
58
|
+
|
59
|
+
# Convience method for getting options for a given library name. For instance,
|
60
|
+
# this is how we get the options set for Haml or Sass during processing.
|
61
|
+
def options_for(lib_name)
|
62
|
+
send(lib_name) || {}
|
61
63
|
end
|
62
64
|
end
|
63
65
|
end
|
data/lib/massimo/javascript.rb
CHANGED
@@ -4,13 +4,14 @@ module Massimo
|
|
4
4
|
case source_path.extname.to_s
|
5
5
|
when '.coffee'
|
6
6
|
require 'coffee-script' unless defined?(CoffeeScript)
|
7
|
-
CoffeeScript.compile(content)
|
7
|
+
CoffeeScript.compile(content, Massimo.config.options_for(:coffee_script))
|
8
8
|
else
|
9
9
|
require 'sprockets' unless defined?(Sprockets)
|
10
|
-
|
10
|
+
options = Massimo.config.options_for(:sprockets).merge(
|
11
11
|
:assert_root => Massimo.config.output_path,
|
12
12
|
:source_files => [ source_path.to_s ]
|
13
13
|
)
|
14
|
+
secretary = Sprockets::Secretary.new(options)
|
14
15
|
secretary.install_assets
|
15
16
|
secretary.concatenation.to_s
|
16
17
|
end
|
data/lib/massimo/page.rb
CHANGED
@@ -10,9 +10,10 @@ module Massimo
|
|
10
10
|
output = content
|
11
11
|
|
12
12
|
if template_type = Tilt[filename]
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
options = Massimo.config.options_for(source_path.extname[1..-1])
|
14
|
+
template = template_type.new(source_path.to_s, @line, options) { output }
|
15
|
+
meta_data = @meta_data.merge self.class.resource_name.singularize.to_sym => self
|
16
|
+
output = template.render Massimo.site.template_scope, meta_data
|
16
17
|
end
|
17
18
|
|
18
19
|
if found_layout = Massimo::View.find("layouts/#{layout}")
|
@@ -23,7 +24,7 @@ module Massimo
|
|
23
24
|
end
|
24
25
|
|
25
26
|
def title
|
26
|
-
@meta_data[:title] ||= filename.chomp(source_path.extname
|
27
|
+
@meta_data[:title] ||= filename.chomp(source_path.extname).titleize
|
27
28
|
end
|
28
29
|
|
29
30
|
def extension
|
@@ -75,7 +76,6 @@ module Massimo
|
|
75
76
|
|
76
77
|
def method_missing(method, *args, &block)
|
77
78
|
if args.length == 0
|
78
|
-
read_source
|
79
79
|
method_name = method.to_s
|
80
80
|
if method_name.chomp! '?'
|
81
81
|
!!@meta_data[method_name.to_sym]
|
data/lib/massimo/stylesheet.rb
CHANGED
@@ -4,10 +4,11 @@ module Massimo
|
|
4
4
|
case source_path.extname.to_s
|
5
5
|
when '.sass', '.scss'
|
6
6
|
require 'sass' unless defined?(Sass)
|
7
|
-
|
7
|
+
options = Massimo.config.options_for(:sass).merge(:css_filename => output_path)
|
8
|
+
Sass::Files.tree_for(source_path.to_s, options).render
|
8
9
|
when '.less'
|
9
10
|
require 'less' unless defined?(Less)
|
10
|
-
Less::Engine.new(content).to_css
|
11
|
+
Less::Engine.new(content, Massimo.config.options_for(:less)).to_css
|
11
12
|
else
|
12
13
|
super
|
13
14
|
end
|
data/lib/massimo/view.rb
CHANGED
@@ -5,7 +5,8 @@ module Massimo
|
|
5
5
|
unprocessable
|
6
6
|
|
7
7
|
def render(locals = {}, &block)
|
8
|
-
|
8
|
+
options = Massimo.config.options_for(source_path.extname[1..-1])
|
9
|
+
template = Tilt.new(source_path.to_s, 1, options) { content }
|
9
10
|
template.render(Massimo.site.template_scope, locals, &block)
|
10
11
|
end
|
11
12
|
end
|
data/lib/massimo.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 6
|
8
|
-
-
|
9
|
-
version: 0.6.
|
8
|
+
- 1
|
9
|
+
version: 0.6.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Pete Browne
|
@@ -88,24 +88,10 @@ dependencies:
|
|
88
88
|
version: 0.9.0
|
89
89
|
type: :runtime
|
90
90
|
version_requirements: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: version
|
93
|
-
prerelease: false
|
94
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
segments:
|
99
|
-
- 0
|
100
|
-
- 9
|
101
|
-
- 0
|
102
|
-
version: 0.9.0
|
103
|
-
type: :development
|
104
|
-
version_requirements: *id006
|
105
91
|
- !ruby/object:Gem::Dependency
|
106
92
|
name: rspec
|
107
93
|
prerelease: false
|
108
|
-
requirement: &
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
109
95
|
requirements:
|
110
96
|
- - ~>
|
111
97
|
- !ruby/object:Gem::Version
|
@@ -115,11 +101,11 @@ dependencies:
|
|
115
101
|
- 0
|
116
102
|
version: 1.3.0
|
117
103
|
type: :development
|
118
|
-
version_requirements: *
|
104
|
+
version_requirements: *id006
|
119
105
|
- !ruby/object:Gem::Dependency
|
120
106
|
name: test-construct
|
121
107
|
prerelease: false
|
122
|
-
requirement: &
|
108
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
123
109
|
requirements:
|
124
110
|
- - ~>
|
125
111
|
- !ruby/object:Gem::Version
|
@@ -129,11 +115,11 @@ dependencies:
|
|
129
115
|
- 0
|
130
116
|
version: 1.2.0
|
131
117
|
type: :development
|
132
|
-
version_requirements: *
|
118
|
+
version_requirements: *id007
|
133
119
|
- !ruby/object:Gem::Dependency
|
134
120
|
name: rack-test
|
135
121
|
prerelease: false
|
136
|
-
requirement: &
|
122
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
137
123
|
requirements:
|
138
124
|
- - ~>
|
139
125
|
- !ruby/object:Gem::Version
|
@@ -143,11 +129,11 @@ dependencies:
|
|
143
129
|
- 0
|
144
130
|
version: 0.5.0
|
145
131
|
type: :development
|
146
|
-
version_requirements: *
|
132
|
+
version_requirements: *id008
|
147
133
|
- !ruby/object:Gem::Dependency
|
148
134
|
name: rr
|
149
135
|
prerelease: false
|
150
|
-
requirement: &
|
136
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
151
137
|
requirements:
|
152
138
|
- - ~>
|
153
139
|
- !ruby/object:Gem::Version
|
@@ -157,11 +143,11 @@ dependencies:
|
|
157
143
|
- 0
|
158
144
|
version: 0.10.0
|
159
145
|
type: :development
|
160
|
-
version_requirements: *
|
146
|
+
version_requirements: *id009
|
161
147
|
- !ruby/object:Gem::Dependency
|
162
148
|
name: haml
|
163
149
|
prerelease: false
|
164
|
-
requirement: &
|
150
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
165
151
|
requirements:
|
166
152
|
- - ">="
|
167
153
|
- !ruby/object:Gem::Version
|
@@ -172,11 +158,11 @@ dependencies:
|
|
172
158
|
- beta
|
173
159
|
version: 3.0.0.beta
|
174
160
|
type: :development
|
175
|
-
version_requirements: *
|
161
|
+
version_requirements: *id010
|
176
162
|
- !ruby/object:Gem::Dependency
|
177
163
|
name: less
|
178
164
|
prerelease: false
|
179
|
-
requirement: &
|
165
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
180
166
|
requirements:
|
181
167
|
- - ~>
|
182
168
|
- !ruby/object:Gem::Version
|
@@ -186,11 +172,11 @@ dependencies:
|
|
186
172
|
- 0
|
187
173
|
version: 1.2.0
|
188
174
|
type: :development
|
189
|
-
version_requirements: *
|
175
|
+
version_requirements: *id011
|
190
176
|
- !ruby/object:Gem::Dependency
|
191
177
|
name: coffee-script
|
192
178
|
prerelease: false
|
193
|
-
requirement: &
|
179
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
194
180
|
requirements:
|
195
181
|
- - ~>
|
196
182
|
- !ruby/object:Gem::Version
|
@@ -200,11 +186,11 @@ dependencies:
|
|
200
186
|
- 0
|
201
187
|
version: 0.3.0
|
202
188
|
type: :development
|
203
|
-
version_requirements: *
|
189
|
+
version_requirements: *id012
|
204
190
|
- !ruby/object:Gem::Dependency
|
205
191
|
name: sprockets
|
206
192
|
prerelease: false
|
207
|
-
requirement: &
|
193
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
208
194
|
requirements:
|
209
195
|
- - ~>
|
210
196
|
- !ruby/object:Gem::Version
|
@@ -214,11 +200,11 @@ dependencies:
|
|
214
200
|
- 0
|
215
201
|
version: 1.0.0
|
216
202
|
type: :development
|
217
|
-
version_requirements: *
|
203
|
+
version_requirements: *id013
|
218
204
|
- !ruby/object:Gem::Dependency
|
219
205
|
name: unindent
|
220
206
|
prerelease: false
|
221
|
-
requirement: &
|
207
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
222
208
|
requirements:
|
223
209
|
- - ~>
|
224
210
|
- !ruby/object:Gem::Version
|
@@ -228,11 +214,11 @@ dependencies:
|
|
228
214
|
- 0
|
229
215
|
version: 0.9.0
|
230
216
|
type: :development
|
231
|
-
version_requirements: *
|
217
|
+
version_requirements: *id014
|
232
218
|
- !ruby/object:Gem::Dependency
|
233
219
|
name: growl
|
234
220
|
prerelease: false
|
235
|
-
requirement: &
|
221
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
236
222
|
requirements:
|
237
223
|
- - ~>
|
238
224
|
- !ruby/object:Gem::Version
|
@@ -242,7 +228,7 @@ dependencies:
|
|
242
228
|
- 0
|
243
229
|
version: 1.0.0
|
244
230
|
type: :development
|
245
|
-
version_requirements: *
|
231
|
+
version_requirements: *id015
|
246
232
|
description: Massimo builds HTML, Javascript, and CSS Files from your source.
|
247
233
|
email: me@petebrowne.com
|
248
234
|
executables:
|
@@ -253,22 +239,21 @@ extra_rdoc_files: []
|
|
253
239
|
|
254
240
|
files:
|
255
241
|
- bin/massimo
|
256
|
-
- lib/massimo/
|
257
|
-
- lib/massimo/
|
258
|
-
- lib/massimo/
|
259
|
-
- lib/massimo/javascript.rb
|
242
|
+
- lib/massimo/stylesheet.rb
|
243
|
+
- lib/massimo/server.rb
|
244
|
+
- lib/massimo/view.rb
|
260
245
|
- lib/massimo/page.rb
|
261
246
|
- lib/massimo/resource.rb
|
262
|
-
- lib/massimo/
|
263
|
-
- lib/massimo/
|
264
|
-
- lib/massimo/stylesheet.rb
|
247
|
+
- lib/massimo/cli.rb
|
248
|
+
- lib/massimo/config.rb
|
265
249
|
- lib/massimo/ui.rb
|
266
|
-
- lib/massimo/view.rb
|
267
250
|
- lib/massimo/watcher.rb
|
251
|
+
- lib/massimo/site.rb
|
252
|
+
- lib/massimo/javascript.rb
|
253
|
+
- lib/massimo/helpers.rb
|
268
254
|
- lib/massimo.rb
|
269
255
|
- LICENSE
|
270
256
|
- README.md
|
271
|
-
- VERSION
|
272
257
|
has_rdoc: true
|
273
258
|
homepage: http://petebrowne.github.com/massimo/
|
274
259
|
licenses: []
|
@@ -294,7 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
294
279
|
version: "0"
|
295
280
|
requirements: []
|
296
281
|
|
297
|
-
rubyforge_project:
|
282
|
+
rubyforge_project: massimo
|
298
283
|
rubygems_version: 1.3.6
|
299
284
|
signing_key:
|
300
285
|
specification_version: 3
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.6.0
|