usmu 0.1.0 → 0.2.0
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/.gitignore +1 -1
- data/.rspec +1 -0
- data/.simplecov +4 -0
- data/.travis.yml +3 -0
- data/CONTRIBUTING.md +16 -0
- data/Guardfile +13 -0
- data/README.md +7 -6
- data/Rakefile +9 -10
- data/bin/usmu +5 -1
- data/lib/usmu.rb +73 -4
- data/lib/usmu/configuration.rb +40 -1
- data/lib/usmu/layout.rb +30 -7
- data/lib/usmu/page.rb +1 -0
- data/lib/usmu/plugin.rb +65 -0
- data/lib/usmu/plugin/core.rb +23 -0
- data/lib/usmu/site_generator.rb +17 -24
- data/lib/usmu/static_file.rb +10 -1
- data/lib/usmu/ui/console.rb +38 -10
- data/lib/usmu/version.rb +2 -2
- data/test/expected-site/default.html +14 -3
- data/test/site/layouts/html.meta.yml +1 -0
- data/test/{features/generator.feature → spec/acceptance/full_site_build.feature} +1 -0
- data/test/spec/acceptance/steps/full_site_build_steps.rb +24 -0
- data/test/spec/configuration_spec.rb +90 -1
- data/test/spec/layout_spec.rb +9 -17
- data/test/spec/mock/usmu/mock_plugin.rb +8 -0
- data/test/spec/page_spec.rb +9 -5
- data/test/spec/plugin/core_spec.rb +5 -0
- data/test/spec/plugin_spec.rb +49 -0
- data/test/spec/site_generator_spec.rb +0 -2
- data/test/spec/spec_helper.rb +12 -1
- data/test/spec/static_file_spec.rb +7 -1
- data/test/spec/support/shared_layout.rb +89 -5
- data/test/spec/ui/console_spec.rb +20 -0
- data/usmu-jruby.gemspec +6 -3
- data/usmu.gemspec +7 -6
- metadata +82 -27
- data/test/features/step_definitions/step_general.rb +0 -18
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'usmu/plugin'
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
RSpec.describe Usmu::Plugin do
|
5
|
+
before(:each) do
|
6
|
+
# noinspection RubyStringKeysInHashInspection
|
7
|
+
allow(Gem::Specification).to receive(:find_all).and_return([OpenStruct.new({'name' => 'usmu-mock_plugin'})])
|
8
|
+
end
|
9
|
+
|
10
|
+
let(:plugins) { Usmu::Plugin.new }
|
11
|
+
|
12
|
+
it 'should load the core plugin' do
|
13
|
+
plugins.load_plugins
|
14
|
+
expect(plugins.plugins.select {|p| p.class.name == 'Usmu::Plugin::Core'}.length).to eq(1)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should load plugins from gems' do
|
18
|
+
plugins.load_plugins
|
19
|
+
expect(plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin'}.length).to eq(1)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should avoid loading plugins more than once' do
|
23
|
+
# noinspection RubyStringKeysInHashInspection
|
24
|
+
allow(Gem::Specification).to receive(:find_all).and_return([
|
25
|
+
OpenStruct.new({'name' => 'usmu-mock_plugin'}),
|
26
|
+
OpenStruct.new({'name' => 'usmu-mock_plugin'}),
|
27
|
+
])
|
28
|
+
plugins.load_plugins
|
29
|
+
expect(plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin'}.length).to eq(1)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should call methods by name when using #invoke' do
|
33
|
+
plugins.load_plugins
|
34
|
+
plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin' }.each do |p|
|
35
|
+
allow(p).to receive(:test).with('Hello world!')
|
36
|
+
end
|
37
|
+
|
38
|
+
plugins.invoke :test, 'Hello world!'
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should aggregate information from plugins when using #invoke' do
|
42
|
+
plugins.load_plugins
|
43
|
+
plugins.plugins.select {|p| p.class.name == 'Usmu::MockPlugin' }.each do |p|
|
44
|
+
allow(p).to receive(:test).and_return(['Goodbye world!'])
|
45
|
+
end
|
46
|
+
|
47
|
+
expect(plugins.invoke :test).to eq([['Goodbye world!']])
|
48
|
+
end
|
49
|
+
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rspec'
|
2
1
|
require 'usmu/site_generator'
|
3
2
|
|
4
3
|
RSpec.describe Usmu::SiteGenerator do
|
@@ -27,6 +26,5 @@ RSpec.describe Usmu::SiteGenerator do
|
|
27
26
|
|
28
27
|
it 'should be able to generate a site' do
|
29
28
|
expect(generator.respond_to? :generate).to eq(true)
|
30
|
-
# Further testing is exercised at the system integration level in the cukes.
|
31
29
|
end
|
32
30
|
end
|
data/test/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.command_name 'RSpec'
|
3
|
+
|
4
|
+
require 'logging'
|
5
|
+
|
1
6
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
7
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
8
|
# The generated `.rspec` file contains `--require spec_helper` which will cause this
|
@@ -54,7 +59,7 @@ RSpec.configure do |config|
|
|
54
59
|
|
55
60
|
# This setting enables warnings. It's recommended, but in some cases may
|
56
61
|
# be too noisy due to issues in dependencies.
|
57
|
-
config.warnings =
|
62
|
+
config.warnings = false
|
58
63
|
|
59
64
|
# Many RSpec users commonly either run the entire suite or an individual
|
60
65
|
# file, and it's useful to allow more verbose output when running an
|
@@ -83,3 +88,9 @@ RSpec.configure do |config|
|
|
83
88
|
# as the one that triggered the failure.
|
84
89
|
Kernel.srand config.seed
|
85
90
|
end
|
91
|
+
|
92
|
+
# Load turnip step definitions
|
93
|
+
Dir['test/spec/**/*_steps.rb'].each {|f| require f[10..f.length] }
|
94
|
+
|
95
|
+
# Allow loading of mocks
|
96
|
+
$LOAD_PATH.unshift(File.realpath('./test/spec/mock'))
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rspec'
|
2
1
|
require 'support/shared_layout'
|
3
2
|
require 'usmu/static_file'
|
4
3
|
|
@@ -13,6 +12,13 @@ RSpec.describe Usmu::StaticFile do
|
|
13
12
|
expect(rendered).to eq(File.read('test/expected-site/robots.txt'))
|
14
13
|
end
|
15
14
|
|
15
|
+
it 'has an input path' do
|
16
|
+
configuration = Usmu::Configuration.from_hash({})
|
17
|
+
page = Usmu::StaticFile.new(configuration, 'robots.txt', 'txt', '', {})
|
18
|
+
expect(page.respond_to? :input_path).to eq(true)
|
19
|
+
expect(page.input_path).to eq('src/robots.txt')
|
20
|
+
end
|
21
|
+
|
16
22
|
it 'has an output filename that matches input' do
|
17
23
|
file = Usmu::StaticFile.new(configuration, 'robots.txt')
|
18
24
|
expect(file.output_filename).to eq('robots.txt')
|
@@ -20,7 +20,7 @@ RSpec.shared_examples 'a layout' do
|
|
20
20
|
include_examples 'a renderable file'
|
21
21
|
|
22
22
|
let(:title_configuration) { Usmu::Configuration.from_hash({'default meta' => {'title' => 'title'}}) }
|
23
|
-
let(:meta_with_title) { {'title' => 'title'} }
|
23
|
+
let(:meta_with_title) { {'title' => 'meta title'} }
|
24
24
|
let(:content) { "title \#{title}\nbody\n #container\n | \#{{content}}" }
|
25
25
|
|
26
26
|
it 'and has a type' do
|
@@ -35,6 +35,72 @@ RSpec.shared_examples 'a layout' do
|
|
35
35
|
<title>title</title><body><div id="container">test</div></body>
|
36
36
|
EOF
|
37
37
|
end
|
38
|
+
|
39
|
+
context 'and when it\'s type' do
|
40
|
+
it 'is invalid' do
|
41
|
+
expect {described_class.new(empty_configuration, 'body.foo', nil, '', {})}.to raise_error()
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'is erb then it\'s output type should be taken from it\'s filename' do
|
45
|
+
layout = described_class.new(empty_configuration, 'body.txt.erb', 'erb', '', {})
|
46
|
+
expect(layout.output_filename).to eq('body.txt')
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'is rhtml then it\'s output type should be taken from it\'s filename' do
|
50
|
+
layout = described_class.new(empty_configuration, 'body.txt.rhtml', 'rhtml', '', {})
|
51
|
+
expect(layout.output_filename).to eq('body.txt')
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'is erubis then it\'s output type should be taken from it\'s filename' do
|
55
|
+
layout = described_class.new(empty_configuration, 'body.txt.erubis', 'erubis', '', {})
|
56
|
+
expect(layout.output_filename).to eq('body.txt')
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'is markdown then it\'s output type should be html' do
|
60
|
+
layout = described_class.new(empty_configuration, 'body.markdown', 'markdown', '', {})
|
61
|
+
expect(layout.output_filename).to eq('body.html')
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'is mkd then it\'s output type should be html' do
|
65
|
+
layout = described_class.new(empty_configuration, 'body.mkd', 'mkd', '', {})
|
66
|
+
expect(layout.output_filename).to eq('body.html')
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'is md then it\'s output type should be html' do
|
70
|
+
layout = described_class.new(empty_configuration, 'body.md', 'md', '', {})
|
71
|
+
expect(layout.output_filename).to eq('body.html')
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'is coffee then it\'s output type should be js' do
|
75
|
+
layout = described_class.new(empty_configuration, 'body.coffee', 'coffee', '', {})
|
76
|
+
expect(layout.output_filename).to eq('body.js')
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'is less then it\'s output type should be css' do
|
80
|
+
layout = described_class.new(empty_configuration, 'body.less', 'less', '', {})
|
81
|
+
expect(layout.output_filename).to eq('body.css')
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'is liquid then it\'s output type should be taken from it\'s filename' do
|
85
|
+
layout = described_class.new(empty_configuration, 'body.txt.liquid', 'liquid', '', {})
|
86
|
+
expect(layout.output_filename).to eq('body.txt')
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'is sass then it\'s output type should be scss' do
|
90
|
+
layout = described_class.new(empty_configuration, 'body.sass', 'sass', '', {})
|
91
|
+
expect(layout.output_filename).to eq('body.css')
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'is scss then it\'s output type should be css' do
|
95
|
+
layout = described_class.new(empty_configuration, 'body.scss', 'scss', '', {})
|
96
|
+
expect(layout.output_filename).to eq('body.css')
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'is slim then it\'s output type should be html' do
|
100
|
+
layout = described_class.new(empty_configuration, 'body.slim', 'slim', '', {})
|
101
|
+
expect(layout.output_filename).to eq('body.html')
|
102
|
+
end
|
103
|
+
end
|
38
104
|
end
|
39
105
|
|
40
106
|
RSpec.shared_examples 'a layout with metadata' do
|
@@ -61,10 +127,10 @@ RSpec.shared_examples 'a layout with metadata' do
|
|
61
127
|
EOF
|
62
128
|
end
|
63
129
|
|
64
|
-
it '
|
65
|
-
layout = described_class.new(
|
66
|
-
expect(layout.render({'content' => 'test'
|
67
|
-
<title>
|
130
|
+
it 'metadata over default metadata' do
|
131
|
+
layout = described_class.new(title_configuration, 'body.slim', 'slim', content, meta_with_title)
|
132
|
+
expect(layout.render({'content' => 'test'})).to eq(<<-EOF)
|
133
|
+
<title>meta title</title><body><div id="container">test</div></body>
|
68
134
|
EOF
|
69
135
|
end
|
70
136
|
end
|
@@ -89,6 +155,24 @@ RSpec.shared_examples 'an embeddable layout' do
|
|
89
155
|
EOF
|
90
156
|
end
|
91
157
|
|
158
|
+
it 'and respects templates from default metadata' do
|
159
|
+
parent = described_class.new(empty_configuration, 'html.slim', 'slim', wrapper, {})
|
160
|
+
default_layout_configuration = Usmu::Configuration.from_hash({'default meta' => {'layout' => parent}})
|
161
|
+
layout = described_class.new(default_layout_configuration, 'body.slim', 'slim', content, {'title' => 'test title'})
|
162
|
+
expect(layout.render({'content' => 'test'})).to eq(<<-EOF)
|
163
|
+
<html><title>test title</title><body><div id="container">test</div></body>
|
164
|
+
</html>
|
165
|
+
EOF
|
166
|
+
end
|
167
|
+
|
168
|
+
it 'and uses a template of "none" to explicitly disable the parent template' do
|
169
|
+
default_layout_configuration = Usmu::Configuration.from_hash({'default meta' => {'layout' => 'html'}})
|
170
|
+
layout = described_class.new(default_layout_configuration, 'body.slim', 'slim', content, {'layout' => 'none', 'title' => 'test title'})
|
171
|
+
expect(layout.render({'content' => 'test'})).to eq(<<-EOF)
|
172
|
+
<title>test title</title><body><div id="container">test</div></body>
|
173
|
+
EOF
|
174
|
+
end
|
175
|
+
|
92
176
|
context 'and prioritises' do
|
93
177
|
it 'metadata over parent metadata' do
|
94
178
|
parent = described_class.new(empty_configuration, 'html.slim', 'slim', wrapper, {'title' => 'title'})
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'usmu/ui/console'
|
2
|
+
|
3
|
+
Usmu.disable_stdout_logging
|
4
|
+
|
5
|
+
RSpec.describe Usmu::Ui::Console do
|
6
|
+
it 'supports --quiet' do
|
7
|
+
expect(Usmu).to receive(:quiet_logging)
|
8
|
+
Usmu::Ui::Console.new(%w{--quiet --config test/site/usmu.yml})
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'supports --log' do
|
12
|
+
expect(Usmu).to receive(:add_file_logger).with('test.log')
|
13
|
+
Usmu::Ui::Console.new(%w{--log test.log --config test/site/usmu.yml})
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'supports --verbose' do
|
17
|
+
expect(Usmu).to receive(:verbose_logging)
|
18
|
+
Usmu::Ui::Console.new(%w{--verbose --config test/site/usmu.yml})
|
19
|
+
end
|
20
|
+
end
|
data/usmu-jruby.gemspec
CHANGED
@@ -22,13 +22,16 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'tilt', '~> 2.0'
|
23
23
|
spec.add_dependency 'kramdown', '~> 1.5'
|
24
24
|
spec.add_dependency 'deep_merge', '~> 1.0'
|
25
|
-
spec.add_dependency '
|
26
|
-
spec.add_dependency '
|
25
|
+
spec.add_dependency 'commander', '~> 4.2'
|
26
|
+
spec.add_dependency 'logging', '~> 1.8'
|
27
27
|
|
28
28
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
29
29
|
spec.add_development_dependency 'rake', '~> 10.0'
|
30
30
|
spec.add_development_dependency 'rspec', '~> 3.1'
|
31
|
-
spec.add_development_dependency 'cucumber', '~> 1.3'
|
32
31
|
spec.add_development_dependency 'yard', '~> 0.8'
|
33
32
|
spec.add_development_dependency 'cane', '~> 2.6'
|
33
|
+
spec.add_development_dependency 'simplecov', '~> 0.9'
|
34
|
+
spec.add_development_dependency 'guard', '~> 2.8'
|
35
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.3'
|
36
|
+
spec.add_development_dependency 'turnip', '~> 1.2'
|
34
37
|
end
|
data/usmu.gemspec
CHANGED
@@ -19,17 +19,18 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.add_dependency 'slim', '~> 2.1'
|
21
21
|
spec.add_dependency 'tilt', '~> 2.0'
|
22
|
-
|
23
|
-
# See: https://github.com/lsegal/yard/issues/812
|
24
|
-
spec.add_dependency 'redcarpet', '~> 3.1', '< 3.2'
|
22
|
+
spec.add_dependency 'redcarpet', '~> 3.2', '>= 3.2.1'
|
25
23
|
spec.add_dependency 'deep_merge', '~> 1.0'
|
26
|
-
spec.add_dependency '
|
27
|
-
spec.add_dependency '
|
24
|
+
spec.add_dependency 'commander', '~> 4.2'
|
25
|
+
spec.add_dependency 'logging', '~> 1.8'
|
28
26
|
|
29
27
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
30
28
|
spec.add_development_dependency 'rake', '~> 10.0'
|
31
29
|
spec.add_development_dependency 'rspec', '~> 3.1'
|
32
|
-
spec.add_development_dependency 'cucumber', '~> 1.3'
|
33
30
|
spec.add_development_dependency 'yard', '~> 0.8'
|
34
31
|
spec.add_development_dependency 'cane', '~> 2.6'
|
32
|
+
spec.add_development_dependency 'simplecov', '~> 0.9'
|
33
|
+
spec.add_development_dependency 'guard', '~> 2.8'
|
34
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.3'
|
35
|
+
spec.add_development_dependency 'turnip', '~> 1.2'
|
35
36
|
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.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Scharley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: slim
|
@@ -43,21 +43,21 @@ dependencies:
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '3.1'
|
48
|
-
- - "<"
|
49
46
|
- !ruby/object:Gem::Version
|
50
47
|
version: '3.2'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 3.2.1
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - "~>"
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: '3.1'
|
58
|
-
- - "<"
|
59
56
|
- !ruby/object:Gem::Version
|
60
57
|
version: '3.2'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 3.2.1
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: deep_merge
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,33 +73,33 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '1.0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
76
|
+
name: commander
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '2
|
81
|
+
version: '4.2'
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '2
|
88
|
+
version: '4.2'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
90
|
+
name: logging
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '1.
|
95
|
+
version: '1.8'
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '1.
|
102
|
+
version: '1.8'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: bundler
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,47 +143,89 @@ dependencies:
|
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '3.1'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
|
-
name:
|
146
|
+
name: yard
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
151
|
+
version: '0.8'
|
152
152
|
type: :development
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '
|
158
|
+
version: '0.8'
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
|
-
name:
|
160
|
+
name: cane
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: '
|
165
|
+
version: '2.6'
|
166
166
|
type: :development
|
167
167
|
prerelease: false
|
168
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
|
-
version: '
|
172
|
+
version: '2.6'
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
|
-
name:
|
174
|
+
name: simplecov
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: '
|
179
|
+
version: '0.9'
|
180
180
|
type: :development
|
181
181
|
prerelease: false
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: '
|
186
|
+
version: '0.9'
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: guard
|
189
|
+
requirement: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - "~>"
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: '2.8'
|
194
|
+
type: :development
|
195
|
+
prerelease: false
|
196
|
+
version_requirements: !ruby/object:Gem::Requirement
|
197
|
+
requirements:
|
198
|
+
- - "~>"
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: '2.8'
|
201
|
+
- !ruby/object:Gem::Dependency
|
202
|
+
name: guard-rspec
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - "~>"
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '4.3'
|
208
|
+
type: :development
|
209
|
+
prerelease: false
|
210
|
+
version_requirements: !ruby/object:Gem::Requirement
|
211
|
+
requirements:
|
212
|
+
- - "~>"
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: '4.3'
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: turnip
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '1.2'
|
222
|
+
type: :development
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - "~>"
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: '1.2'
|
187
229
|
description:
|
188
230
|
email:
|
189
231
|
- matt.scharley@gmail.com
|
@@ -195,10 +237,13 @@ files:
|
|
195
237
|
- ".cane"
|
196
238
|
- ".gitignore"
|
197
239
|
- ".rspec"
|
240
|
+
- ".simplecov"
|
198
241
|
- ".travis.yml"
|
199
242
|
- ".yardopts"
|
243
|
+
- CONTRIBUTING.md
|
200
244
|
- Gemfile
|
201
245
|
- Gemfile-jruby
|
246
|
+
- Guardfile
|
202
247
|
- LICENSE.md
|
203
248
|
- README.md
|
204
249
|
- Rakefile
|
@@ -208,6 +253,8 @@ files:
|
|
208
253
|
- lib/usmu/configuration.rb
|
209
254
|
- lib/usmu/layout.rb
|
210
255
|
- lib/usmu/page.rb
|
256
|
+
- lib/usmu/plugin.rb
|
257
|
+
- lib/usmu/plugin/core.rb
|
211
258
|
- lib/usmu/site_generator.rb
|
212
259
|
- lib/usmu/static_file.rb
|
213
260
|
- lib/usmu/ui.rb
|
@@ -217,8 +264,6 @@ files:
|
|
217
264
|
- test/expected-site/embedded.html
|
218
265
|
- test/expected-site/index.html
|
219
266
|
- test/expected-site/robots.txt
|
220
|
-
- test/features/generator.feature
|
221
|
-
- test/features/step_definitions/step_general.rb
|
222
267
|
- test/site/content/default.md
|
223
268
|
- test/site/content/embedded.md
|
224
269
|
- test/site/content/embedded.meta.yml
|
@@ -230,13 +275,19 @@ files:
|
|
230
275
|
- test/site/layouts/html.meta.yml
|
231
276
|
- test/site/layouts/html.slim
|
232
277
|
- test/site/usmu.yml
|
278
|
+
- test/spec/acceptance/full_site_build.feature
|
279
|
+
- test/spec/acceptance/steps/full_site_build_steps.rb
|
233
280
|
- test/spec/configuration_spec.rb
|
234
281
|
- test/spec/layout_spec.rb
|
282
|
+
- test/spec/mock/usmu/mock_plugin.rb
|
235
283
|
- test/spec/page_spec.rb
|
284
|
+
- test/spec/plugin/core_spec.rb
|
285
|
+
- test/spec/plugin_spec.rb
|
236
286
|
- test/spec/site_generator_spec.rb
|
237
287
|
- test/spec/spec_helper.rb
|
238
288
|
- test/spec/static_file_spec.rb
|
239
289
|
- test/spec/support/shared_layout.rb
|
290
|
+
- test/spec/ui/console_spec.rb
|
240
291
|
- usmu-jruby.gemspec
|
241
292
|
- usmu.gemspec
|
242
293
|
homepage: https://github.com/usmu/usmu
|
@@ -268,8 +319,6 @@ test_files:
|
|
268
319
|
- test/expected-site/embedded.html
|
269
320
|
- test/expected-site/index.html
|
270
321
|
- test/expected-site/robots.txt
|
271
|
-
- test/features/generator.feature
|
272
|
-
- test/features/step_definitions/step_general.rb
|
273
322
|
- test/site/content/default.md
|
274
323
|
- test/site/content/embedded.md
|
275
324
|
- test/site/content/embedded.meta.yml
|
@@ -281,11 +330,17 @@ test_files:
|
|
281
330
|
- test/site/layouts/html.meta.yml
|
282
331
|
- test/site/layouts/html.slim
|
283
332
|
- test/site/usmu.yml
|
333
|
+
- test/spec/acceptance/full_site_build.feature
|
334
|
+
- test/spec/acceptance/steps/full_site_build_steps.rb
|
284
335
|
- test/spec/configuration_spec.rb
|
285
336
|
- test/spec/layout_spec.rb
|
337
|
+
- test/spec/mock/usmu/mock_plugin.rb
|
286
338
|
- test/spec/page_spec.rb
|
339
|
+
- test/spec/plugin/core_spec.rb
|
340
|
+
- test/spec/plugin_spec.rb
|
287
341
|
- test/spec/site_generator_spec.rb
|
288
342
|
- test/spec/spec_helper.rb
|
289
343
|
- test/spec/static_file_spec.rb
|
290
344
|
- test/spec/support/shared_layout.rb
|
345
|
+
- test/spec/ui/console_spec.rb
|
291
346
|
has_rdoc:
|