usmu 0.3.2 → 0.3.3
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.
- checksums.yaml +4 -4
- data/.travis.yml +6 -10
- data/CHANGELOG.md +18 -0
- data/Gemfile +10 -1
- data/Guardfile +2 -2
- data/Rakefile +28 -10
- data/lib/usmu.rb +1 -0
- data/lib/usmu/configuration.rb +14 -1
- data/lib/usmu/deployment/directory_diff.rb +8 -5
- data/lib/usmu/metadata_service.rb +37 -0
- data/lib/usmu/site_generator.rb +5 -4
- data/lib/usmu/template/include.rb +2 -1
- data/lib/usmu/template/layout.rb +6 -15
- data/lib/usmu/template/page.rb +3 -3
- data/lib/usmu/template/static_file.rb +3 -2
- data/lib/usmu/ui/console.rb +29 -3
- data/lib/usmu/version.rb +1 -1
- data/spec/configuration_spec.rb +24 -0
- data/spec/deployment/directory_diff_spec.rb +70 -84
- data/spec/metadata_service_spec.rb +75 -0
- data/spec/site_generator_spec.rb +2 -2
- data/spec/support/shared_layout.rb +33 -33
- data/spec/template/layout_spec.rb +3 -3
- data/spec/template/page_spec.rb +2 -2
- data/spec/template/static_file_spec.rb +3 -3
- data/test-site/content/assets/external.scss +5 -0
- data/test-site/content/assets/meta.yml +2 -0
- data/test-site/expected-site/assets/external.scss +5 -0
- data/usmu.gemspec +15 -4
- metadata +67 -37
- data/Gemfile-jruby +0 -4
- data/usmu-jruby.gemspec +0 -43
@@ -21,19 +21,19 @@ RSpec.describe Usmu::Template::Layout do
|
|
21
21
|
# This will also get tested during the acceptance tests, though we test here explicitly to help aid narrow where
|
22
22
|
# the bug actually is.
|
23
23
|
configuration = Usmu::Configuration.from_file('test-site/usmu.yml')
|
24
|
-
layout = Usmu::Template::Layout.new(configuration, 'html.slim')
|
24
|
+
layout = Usmu::Template::Layout.new(configuration, 'html.slim', configuration.layouts_metadata.metadata('html.slim'))
|
25
25
|
end
|
26
26
|
|
27
27
|
it 'should add a default load_path for sass templates' do
|
28
28
|
configuration = Usmu::Configuration.from_hash({'source' => 'src'}, 'test/usmu.yml')
|
29
|
-
layout = Usmu::Template::Layout.new(configuration, 'css/app.scss', 'scss',
|
29
|
+
layout = Usmu::Template::Layout.new(configuration, 'css/app.scss', {}, 'scss', 'body{color: #000;}')
|
30
30
|
defaults = layout.send :add_template_defaults, {}, 'sass'
|
31
31
|
expect(defaults[:load_paths]).to eq(['test/src/css'])
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'should merge load_path\'s for sass templates' do
|
35
35
|
configuration = Usmu::Configuration.from_hash({'source' => 'src'}, 'test/usmu.yml')
|
36
|
-
layout = Usmu::Template::Layout.new(configuration, 'css/app.scss', 'scss',
|
36
|
+
layout = Usmu::Template::Layout.new(configuration, 'css/app.scss', {}, 'scss', 'body{color: #000;}')
|
37
37
|
defaults = layout.send :add_template_defaults, {load_paths: ['test/src/assets/scss']}, 'sass'
|
38
38
|
expect(defaults[:load_paths].sort).to eq(['test/src/assets/scss', 'test/src/css'])
|
39
39
|
end
|
data/spec/template/page_spec.rb
CHANGED
@@ -7,12 +7,12 @@ RSpec.describe Usmu::Template::Page do
|
|
7
7
|
let(:configuration) { Usmu::Configuration.from_hash({}) }
|
8
8
|
|
9
9
|
it 'uses the \'source\' folder' do
|
10
|
-
page = Usmu::Template::Page.new(configuration, 'index.md', 'md', '# test'
|
10
|
+
page = Usmu::Template::Page.new(configuration, 'index.md', {}, 'md', '# test')
|
11
11
|
expect(page.send :content_path).to eq('src')
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'has an input path' do
|
15
|
-
page = Usmu::Template::Page.new(configuration, 'index.md', 'md', '# test'
|
15
|
+
page = Usmu::Template::Page.new(configuration, 'index.md', {}, 'md', '# test')
|
16
16
|
expect(page.respond_to? :input_path).to eq(true)
|
17
17
|
expect(page.input_path).to eq('src/index.md')
|
18
18
|
end
|
@@ -7,20 +7,20 @@ RSpec.describe Usmu::Template::StaticFile do
|
|
7
7
|
let(:configuration) { Usmu::Configuration.from_file('test-site/usmu.yml') }
|
8
8
|
|
9
9
|
it 'uses the \'source\' folder' do
|
10
|
-
file = Usmu::Template::StaticFile.new(configuration, 'robots.txt')
|
10
|
+
file = Usmu::Template::StaticFile.new(configuration, 'robots.txt', {})
|
11
11
|
rendered = file.render
|
12
12
|
expect(rendered).to eq(File.read('test-site/expected-site/robots.txt'))
|
13
13
|
end
|
14
14
|
|
15
15
|
it 'has an input path' do
|
16
16
|
configuration = Usmu::Configuration.from_hash({})
|
17
|
-
page = Usmu::Template::StaticFile.new(configuration, 'robots.txt', 'txt', ''
|
17
|
+
page = Usmu::Template::StaticFile.new(configuration, 'robots.txt', {}, 'txt', '')
|
18
18
|
expect(page.respond_to? :input_path).to eq(true)
|
19
19
|
expect(page.input_path).to eq('src/robots.txt')
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'has an output filename that matches input' do
|
23
|
-
file = Usmu::Template::StaticFile.new(configuration, 'robots.txt')
|
23
|
+
file = Usmu::Template::StaticFile.new(configuration, 'robots.txt', {})
|
24
24
|
expect(file.output_filename).to eq('robots.txt')
|
25
25
|
end
|
26
26
|
end
|
data/usmu.gemspec
CHANGED
@@ -18,16 +18,16 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0")
|
20
20
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
21
|
-
spec.test_files = spec.files.grep(%r{^(test|spec
|
21
|
+
spec.test_files = spec.files.grep(%r{^(test-site|spec)/})
|
22
22
|
spec.require_paths = ['lib']
|
23
23
|
|
24
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 1.9.3')
|
25
|
+
|
24
26
|
spec.add_dependency 'slim', '~> 3.0'
|
25
27
|
spec.add_dependency 'tilt', '~> 2.0'
|
26
|
-
spec.add_dependency 'redcarpet', '~> 3.2', '>= 3.2.1'
|
27
28
|
spec.add_dependency 'deep_merge', '~> 1.0'
|
28
29
|
spec.add_dependency 'commander', '~> 4.2'
|
29
30
|
spec.add_dependency 'logging', '~> 1.8'
|
30
|
-
#spec.add_dependency 'pry'
|
31
31
|
|
32
32
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
33
33
|
spec.add_development_dependency 'rake', '~> 10.0'
|
@@ -35,8 +35,19 @@ Gem::Specification.new do |spec|
|
|
35
35
|
spec.add_development_dependency 'yard', '~> 0.8'
|
36
36
|
spec.add_development_dependency 'guard', '~> 2.8'
|
37
37
|
spec.add_development_dependency 'guard-rspec', '~> 4.3'
|
38
|
-
spec.add_development_dependency 'libnotify', '~> 0.9'
|
39
38
|
spec.add_development_dependency 'turnip', '~> 1.2'
|
40
39
|
spec.add_development_dependency 'sass', '~> 3.4'
|
41
40
|
spec.add_development_dependency 'timeout', '~> 0.0'
|
41
|
+
|
42
|
+
case ENV['BUILD_PLATFORM']
|
43
|
+
when 'ruby'
|
44
|
+
spec.add_dependency 'redcarpet', '~> 3.2', '>= 3.2.1'
|
45
|
+
spec.add_development_dependency 'libnotify', '~> 0.9'
|
46
|
+
when 'java'
|
47
|
+
spec.platform = 'java'
|
48
|
+
spec.add_dependency 'kramdown', '~> 1.5'
|
49
|
+
when nil
|
50
|
+
else
|
51
|
+
STDERR.puts "WARNING: Unknown platform: #{ENV['BUILD_PLATFORM']}. This may not result in a working gem."
|
52
|
+
end
|
42
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: usmu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Scharley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: slim
|
@@ -38,26 +38,6 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: redcarpet
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '3.2'
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 3.2.1
|
51
|
-
type: :runtime
|
52
|
-
prerelease: false
|
53
|
-
version_requirements: !ruby/object:Gem::Requirement
|
54
|
-
requirements:
|
55
|
-
- - "~>"
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '3.2'
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 3.2.1
|
61
41
|
- !ruby/object:Gem::Dependency
|
62
42
|
name: deep_merge
|
63
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -185,61 +165,81 @@ dependencies:
|
|
185
165
|
- !ruby/object:Gem::Version
|
186
166
|
version: '4.3'
|
187
167
|
- !ruby/object:Gem::Dependency
|
188
|
-
name:
|
168
|
+
name: turnip
|
189
169
|
requirement: !ruby/object:Gem::Requirement
|
190
170
|
requirements:
|
191
171
|
- - "~>"
|
192
172
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
173
|
+
version: '1.2'
|
194
174
|
type: :development
|
195
175
|
prerelease: false
|
196
176
|
version_requirements: !ruby/object:Gem::Requirement
|
197
177
|
requirements:
|
198
178
|
- - "~>"
|
199
179
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
180
|
+
version: '1.2'
|
201
181
|
- !ruby/object:Gem::Dependency
|
202
|
-
name:
|
182
|
+
name: sass
|
203
183
|
requirement: !ruby/object:Gem::Requirement
|
204
184
|
requirements:
|
205
185
|
- - "~>"
|
206
186
|
- !ruby/object:Gem::Version
|
207
|
-
version: '
|
187
|
+
version: '3.4'
|
208
188
|
type: :development
|
209
189
|
prerelease: false
|
210
190
|
version_requirements: !ruby/object:Gem::Requirement
|
211
191
|
requirements:
|
212
192
|
- - "~>"
|
213
193
|
- !ruby/object:Gem::Version
|
214
|
-
version: '
|
194
|
+
version: '3.4'
|
215
195
|
- !ruby/object:Gem::Dependency
|
216
|
-
name:
|
196
|
+
name: timeout
|
217
197
|
requirement: !ruby/object:Gem::Requirement
|
218
198
|
requirements:
|
219
199
|
- - "~>"
|
220
200
|
- !ruby/object:Gem::Version
|
221
|
-
version: '
|
201
|
+
version: '0.0'
|
222
202
|
type: :development
|
223
203
|
prerelease: false
|
224
204
|
version_requirements: !ruby/object:Gem::Requirement
|
225
205
|
requirements:
|
226
206
|
- - "~>"
|
227
207
|
- !ruby/object:Gem::Version
|
228
|
-
version: '
|
208
|
+
version: '0.0'
|
229
209
|
- !ruby/object:Gem::Dependency
|
230
|
-
name:
|
210
|
+
name: redcarpet
|
231
211
|
requirement: !ruby/object:Gem::Requirement
|
232
212
|
requirements:
|
233
213
|
- - "~>"
|
234
214
|
- !ruby/object:Gem::Version
|
235
|
-
version: '
|
215
|
+
version: '3.2'
|
216
|
+
- - ">="
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: 3.2.1
|
219
|
+
type: :runtime
|
220
|
+
prerelease: false
|
221
|
+
version_requirements: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - "~>"
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '3.2'
|
226
|
+
- - ">="
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: 3.2.1
|
229
|
+
- !ruby/object:Gem::Dependency
|
230
|
+
name: libnotify
|
231
|
+
requirement: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - "~>"
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: '0.9'
|
236
236
|
type: :development
|
237
237
|
prerelease: false
|
238
238
|
version_requirements: !ruby/object:Gem::Requirement
|
239
239
|
requirements:
|
240
240
|
- - "~>"
|
241
241
|
- !ruby/object:Gem::Version
|
242
|
-
version: '0.
|
242
|
+
version: '0.9'
|
243
243
|
description: |2
|
244
244
|
Usmu is a static site generator built in Ruby that leverages the Tilt API to support many different template
|
245
245
|
engines. It supports local generation but is designed to be used with the web-based editor.
|
@@ -257,7 +257,6 @@ files:
|
|
257
257
|
- CHANGELOG.md
|
258
258
|
- CONTRIBUTING.md
|
259
259
|
- Gemfile
|
260
|
-
- Gemfile-jruby
|
261
260
|
- Guardfile
|
262
261
|
- LICENSE.md
|
263
262
|
- README.md
|
@@ -268,6 +267,7 @@ files:
|
|
268
267
|
- lib/usmu/deployment.rb
|
269
268
|
- lib/usmu/deployment/directory_diff.rb
|
270
269
|
- lib/usmu/deployment/remote_file_interface.rb
|
270
|
+
- lib/usmu/metadata_service.rb
|
271
271
|
- lib/usmu/plugin.rb
|
272
272
|
- lib/usmu/plugin/core.rb
|
273
273
|
- lib/usmu/plugin/core_hooks.rb
|
@@ -289,6 +289,7 @@ files:
|
|
289
289
|
- spec/acceptance/steps/full_site_build_steps.rb
|
290
290
|
- spec/configuration_spec.rb
|
291
291
|
- spec/deployment/directory_diff_spec.rb
|
292
|
+
- spec/metadata_service_spec.rb
|
292
293
|
- spec/mock/usmu/mock_plugin.rb
|
293
294
|
- spec/mock/usmu/mock_remote_files.rb
|
294
295
|
- spec/plugin/core_spec.rb
|
@@ -301,6 +302,8 @@ files:
|
|
301
302
|
- spec/template/static_file_spec.rb
|
302
303
|
- spec/ui/console_spec.rb
|
303
304
|
- test-site/content/.dotfiletest.txt
|
305
|
+
- test-site/content/assets/external.scss
|
306
|
+
- test-site/content/assets/meta.yml
|
304
307
|
- test-site/content/css/_partial.scss
|
305
308
|
- test-site/content/css/app.scss
|
306
309
|
- test-site/content/default.md
|
@@ -311,6 +314,7 @@ files:
|
|
311
314
|
- test-site/content/posts/test-post.md
|
312
315
|
- test-site/content/robots.txt
|
313
316
|
- test-site/expected-site/.dotfiletest.txt
|
317
|
+
- test-site/expected-site/assets/external.scss
|
314
318
|
- test-site/expected-site/css/app.css
|
315
319
|
- test-site/expected-site/default.html
|
316
320
|
- test-site/expected-site/embedded.html
|
@@ -323,7 +327,6 @@ files:
|
|
323
327
|
- test-site/layouts/embedded.slim
|
324
328
|
- test-site/layouts/html.slim
|
325
329
|
- test-site/usmu.yml
|
326
|
-
- usmu-jruby.gemspec
|
327
330
|
- usmu.gemspec
|
328
331
|
homepage: https://github.com/usmu/usmu
|
329
332
|
licenses:
|
@@ -337,7 +340,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
337
340
|
requirements:
|
338
341
|
- - ">="
|
339
342
|
- !ruby/object:Gem::Version
|
340
|
-
version:
|
343
|
+
version: 1.9.3
|
341
344
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
342
345
|
requirements:
|
343
346
|
- - ">="
|
@@ -354,6 +357,7 @@ test_files:
|
|
354
357
|
- spec/acceptance/steps/full_site_build_steps.rb
|
355
358
|
- spec/configuration_spec.rb
|
356
359
|
- spec/deployment/directory_diff_spec.rb
|
360
|
+
- spec/metadata_service_spec.rb
|
357
361
|
- spec/mock/usmu/mock_plugin.rb
|
358
362
|
- spec/mock/usmu/mock_remote_files.rb
|
359
363
|
- spec/plugin/core_spec.rb
|
@@ -365,4 +369,30 @@ test_files:
|
|
365
369
|
- spec/template/page_spec.rb
|
366
370
|
- spec/template/static_file_spec.rb
|
367
371
|
- spec/ui/console_spec.rb
|
372
|
+
- test-site/content/.dotfiletest.txt
|
373
|
+
- test-site/content/assets/external.scss
|
374
|
+
- test-site/content/assets/meta.yml
|
375
|
+
- test-site/content/css/_partial.scss
|
376
|
+
- test-site/content/css/app.scss
|
377
|
+
- test-site/content/default.md
|
378
|
+
- test-site/content/embedded.md
|
379
|
+
- test-site/content/embedded.meta.yml
|
380
|
+
- test-site/content/index.md
|
381
|
+
- test-site/content/index.meta.yml
|
382
|
+
- test-site/content/posts/test-post.md
|
383
|
+
- test-site/content/robots.txt
|
384
|
+
- test-site/expected-site/.dotfiletest.txt
|
385
|
+
- test-site/expected-site/assets/external.scss
|
386
|
+
- test-site/expected-site/css/app.css
|
387
|
+
- test-site/expected-site/default.html
|
388
|
+
- test-site/expected-site/embedded.html
|
389
|
+
- test-site/expected-site/index.html
|
390
|
+
- test-site/expected-site/posts/test-post.html
|
391
|
+
- test-site/expected-site/robots.txt
|
392
|
+
- test-site/includes/footer.meta.yml
|
393
|
+
- test-site/includes/footer.slim
|
394
|
+
- test-site/layouts/embedded.meta.yml
|
395
|
+
- test-site/layouts/embedded.slim
|
396
|
+
- test-site/layouts/html.slim
|
397
|
+
- test-site/usmu.yml
|
368
398
|
has_rdoc:
|
data/Gemfile-jruby
DELETED
data/usmu-jruby.gemspec
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'usmu/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = 'usmu'
|
8
|
-
spec.version = Usmu::VERSION
|
9
|
-
spec.authors = ['Matthew Scharley']
|
10
|
-
spec.email = ['matt.scharley@gmail.com']
|
11
|
-
spec.summary = %q{A static site generator with a web-based frontend for editing.}
|
12
|
-
spec.description = <<-EOD
|
13
|
-
Usmu is a static site generator built in Ruby that leverages the Tilt API to support many different template
|
14
|
-
engines. It supports local generation but is designed to be used with the web-based editor.
|
15
|
-
EOD
|
16
|
-
spec.homepage = 'https://github.com/usmu/usmu'
|
17
|
-
spec.license = 'MIT'
|
18
|
-
spec.platform = 'java'
|
19
|
-
|
20
|
-
spec.files = `git ls-files -z`.split("\x0")
|
21
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
-
spec.require_paths = ['lib']
|
24
|
-
|
25
|
-
spec.add_dependency 'slim', '~> 3.0'
|
26
|
-
spec.add_dependency 'tilt', '~> 2.0'
|
27
|
-
spec.add_dependency 'kramdown', '~> 1.5'
|
28
|
-
spec.add_dependency 'deep_merge', '~> 1.0'
|
29
|
-
spec.add_dependency 'commander', '~> 4.2'
|
30
|
-
spec.add_dependency 'logging', '~> 1.8'
|
31
|
-
|
32
|
-
spec.add_development_dependency 'bundler', '~> 1.6'
|
33
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
34
|
-
spec.add_development_dependency 'rspec', '~> 3.1'
|
35
|
-
spec.add_development_dependency 'yard', '~> 0.8'
|
36
|
-
spec.add_development_dependency 'cane', '~> 2.6'
|
37
|
-
spec.add_development_dependency 'simplecov', '~> 0.9'
|
38
|
-
spec.add_development_dependency 'guard', '~> 2.8'
|
39
|
-
spec.add_development_dependency 'guard-rspec', '~> 4.3'
|
40
|
-
spec.add_development_dependency 'turnip', '~> 1.2'
|
41
|
-
spec.add_development_dependency 'sass', '~> 3.4'
|
42
|
-
spec.add_development_dependency 'timeout', '~> 0.0'
|
43
|
-
end
|