skellington 0.8.3 → 0.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/config.yaml +30 -12
- data/lib/common/templates/{gitignore → .gitignore} +0 -0
- data/lib/common/templates/{.ruby-version.eruby → .ruby-version} +0 -0
- data/lib/common/templates/{Gemfile.eruby → Gemfile} +0 -0
- data/lib/common/templates/{LICENSE.md.eruby → LICENSE.md} +0 -0
- data/lib/common/templates/includes/header +1 -1
- data/lib/common/templates/sass/colours +10 -0
- data/lib/common/templates/sass/{fonts.scss → fonts} +0 -0
- data/lib/common/templates/sass/{footer.scss → footer} +0 -0
- data/lib/{sinatra/templates/public/sass/_github-corner.scss.eruby → common/templates/sass/github-corner} +0 -0
- data/lib/common/templates/sass/palettes/default +67 -0
- data/lib/common/templates/sass/{styles.scss → styles} +0 -0
- data/lib/common/templates/sass/{variables.scss → variables} +0 -0
- data/lib/jekyll/templates/404.md +6 -0
- data/lib/jekyll/templates/{_config.yml.eruby → _config.yml} +1 -1
- data/lib/jekyll/templates/_data/{libs.yml.eruby → libs.yml} +0 -0
- data/lib/jekyll/templates/{index.md.eruby → index.md} +0 -0
- data/lib/jekyll/templates/{post-run.eruby → post-run} +2 -2
- data/lib/sinatra/templates/{.rspec.eruby → .rspec} +0 -0
- data/lib/sinatra/templates/{Guardfile.eruby → Guardfile} +0 -0
- data/lib/sinatra/templates/{Procfile.eruby → Procfile} +0 -0
- data/lib/sinatra/templates/{Rakefile.eruby → Rakefile} +10 -4
- data/lib/sinatra/templates/config/config.yml +2 -0
- data/lib/sinatra/templates/{config.rb.eruby → config.rb} +0 -0
- data/lib/sinatra/templates/{config.ru.eruby → config.ru} +0 -0
- data/lib/sinatra/templates/lib/app/{helpers.rb.eruby → helpers.rb} +0 -0
- data/lib/sinatra/templates/lib/app/{racks.rb.eruby → racks.rb} +0 -0
- data/lib/sinatra/templates/lib/{app.rb.eruby → app.rb} +6 -0
- data/lib/sinatra/templates/{post-run.eruby → post-run} +3 -2
- data/lib/sinatra/templates/spec/app/{app_spec.rb.eruby → app_spec.rb} +0 -0
- data/lib/sinatra/templates/spec/app/{helpers_spec.rb.eruby → helpers_spec.rb} +0 -0
- data/lib/sinatra/templates/spec/javascripts/{app_spec.js.eruby → app_spec.js} +0 -0
- data/lib/sinatra/templates/spec/javascripts/support/{jasmine.yml.eruby → jasmine.yml} +0 -0
- data/lib/sinatra/templates/spec/javascripts/support/{jasmine_helper.rb.eruby → jasmine_helper.rb} +0 -0
- data/lib/sinatra/templates/spec/{spec_helper.rb.eruby → spec_helper.rb} +0 -0
- data/lib/sinatra/templates/views/includes/{css-libs.erb.eruby → css-libs.erb} +0 -0
- data/lib/sinatra/templates/views/includes/{fonts-libs.erb.eruby → fonts-libs.erb} +0 -0
- data/lib/sinatra/templates/views/includes/{github-corner.erb.eruby → github-corner.erb} +0 -0
- data/lib/sinatra/templates/views/includes/{js-libs.erb.eruby → js-libs.erb} +0 -0
- data/lib/sinatra/templates/views/{index.erb.eruby → index.erb} +0 -0
- data/lib/sinatra/templates/views/oops.erb +5 -0
- data/lib/skellington/cli.rb +1 -4
- data/lib/skellington/generator.rb +10 -6
- data/lib/skellington/template.rb +11 -14
- data/lib/skellington/version.rb +1 -1
- data/spec/hyphens_spec.rb +0 -3
- data/spec/jekyll/404_spec.rb +23 -0
- data/spec/jekyll/assets/static_spec.rb +14 -0
- data/spec/jekyll/bootstrap/css_spec.rb +13 -3
- data/spec/jekyll/bootstrap_4/bootstrap_4_spec.rb +11 -2
- data/spec/jekyll/cli_spec.rb +4 -2
- data/spec/jekyll/data/libs_spec.rb +1 -1
- data/spec/jekyll/git_spec.rb +1 -1
- data/spec/jekyll/{layout/index_md_spec.rb → index_md_spec.rb} +1 -1
- data/spec/jekyll/js/javascript_spec.rb +14 -0
- data/spec/jekyll/layout/layout_spec.rb +4 -4
- data/spec/jekyll/root_files/config_yml_spec.rb +2 -2
- data/spec/jekyll/root_files/gemfile_spec.rb +1 -1
- data/spec/jekyll/root_files/license_spec.rb +2 -2
- data/spec/jekyll/root_files/rbenv_spec.rb +1 -1
- data/spec/non_local_path_spec.rb +0 -13
- data/spec/sinatra/app/app_spec.rb +7 -1
- data/spec/sinatra/app/config_yml_spec.rb +2 -2
- data/spec/sinatra/app/helpers_spec.rb +1 -1
- data/spec/sinatra/app/public_spec.rb +1 -1
- data/spec/sinatra/app/racks_spec.rb +1 -1
- data/spec/sinatra/bootstrap/css_spec.rb +13 -3
- data/spec/sinatra/bootstrap_4/config_rb_bootstrap_4_spec.rb +1 -1
- data/spec/sinatra/bootstrap_4/gemfile_bootstrap_4_spec.rb +1 -1
- data/spec/sinatra/bootstrap_4/public_bootstrap_4_spec.rb +1 -1
- data/spec/sinatra/cli_spec.rb +7 -4
- data/spec/sinatra/git_spec.rb +1 -1
- data/spec/sinatra/javascript/javascript_spec.rb +1 -1
- data/spec/sinatra/layout/includes_spec.rb +4 -4
- data/spec/sinatra/layout/layout_spec.rb +4 -4
- data/spec/sinatra/layout/views_spec.rb +15 -1
- data/spec/sinatra/root_files/config_rb_spec.rb +1 -1
- data/spec/sinatra/root_files/config_ru_spec.rb +1 -1
- data/spec/sinatra/root_files/gemfile_spec.rb +1 -1
- data/spec/sinatra/root_files/guardfile_spec.rb +1 -1
- data/spec/sinatra/root_files/license_spec.rb +2 -2
- data/spec/sinatra/root_files/procfile_spec.rb +1 -1
- data/spec/sinatra/root_files/rakefile_spec.rb +11 -5
- data/spec/sinatra/root_files/rbenv_spec.rb +1 -1
- data/spec/sinatra/spec/spec_spec.rb +1 -1
- metadata +49 -43
- data/lib/common/templates/sass/colours.scss +0 -1
- data/lib/sinatra/templates/config/config.yml.eruby +0 -2
- data/lib/sinatra/templates/public/assets/favicon.ico.eruby +0 -0
- data/lib/sinatra/templates/public/css/styles.css.eruby +0 -0
- data/lib/sinatra/templates/public/js/app.js.eruby +0 -0
@@ -7,7 +7,7 @@ module Skellington
|
|
7
7
|
context 'layout' do
|
8
8
|
it 'creates a header' do
|
9
9
|
subject.options = { 'framework' => 'jekyll' }
|
10
|
-
subject.generate '
|
10
|
+
subject.generate 'dummy-app'
|
11
11
|
|
12
12
|
expect('dummy_app/_includes/header.html').to have_content (
|
13
13
|
"""
|
@@ -46,7 +46,7 @@ module Skellington
|
|
46
46
|
|
47
47
|
it 'creates a footer' do
|
48
48
|
subject.options = { 'framework' => 'jekyll' }
|
49
|
-
subject.generate '
|
49
|
+
subject.generate 'dummy-app'
|
50
50
|
|
51
51
|
expect('dummy_app/_includes/footer.html').to have_content (
|
52
52
|
"""
|
@@ -66,7 +66,7 @@ module Skellington
|
|
66
66
|
|
67
67
|
it 'creates a layout' do
|
68
68
|
subject.options = { 'framework' => 'jekyll' }
|
69
|
-
subject.generate '
|
69
|
+
subject.generate 'dummy-app'
|
70
70
|
|
71
71
|
expect('dummy_app/_layouts/default.html').to have_content (
|
72
72
|
"""
|
@@ -86,7 +86,7 @@ module Skellington
|
|
86
86
|
|
87
87
|
it 'has the ie shims' do
|
88
88
|
subject.options = { 'framework' => 'jekyll' }
|
89
|
-
subject.generate '
|
89
|
+
subject.generate 'dummy-app'
|
90
90
|
|
91
91
|
expect('dummy_app/_includes/ie-cruft.html').to have_content (
|
92
92
|
"""
|
@@ -6,7 +6,7 @@ module Skellington
|
|
6
6
|
|
7
7
|
it 'generates a _config.yml file' do
|
8
8
|
subject.options = { 'framework' => 'jekyll' }
|
9
|
-
subject.generate '
|
9
|
+
subject.generate 'dummy-app'
|
10
10
|
expect('dummy_app/_config.yml').to have_content (
|
11
11
|
"""
|
12
12
|
---
|
@@ -17,7 +17,7 @@ module Skellington
|
|
17
17
|
layout: default
|
18
18
|
permalink: pretty
|
19
19
|
|
20
|
-
baseurl: /
|
20
|
+
baseurl: /dummy-app
|
21
21
|
"""
|
22
22
|
)
|
23
23
|
end
|
@@ -8,7 +8,7 @@ module Skellington
|
|
8
8
|
it 'plain license' do
|
9
9
|
Timecop.freeze Time.local 2016, 01, 19
|
10
10
|
subject.options = { 'framework' => 'jekyll' }
|
11
|
-
subject.generate '
|
11
|
+
subject.generate 'dummy-app'
|
12
12
|
expect('dummy_app/LICENSE.md').to have_content (
|
13
13
|
"""
|
14
14
|
##Copyright (c) 2016 YOUR-NAME-HERE
|
@@ -41,7 +41,7 @@ module Skellington
|
|
41
41
|
it 'with a provided name' do
|
42
42
|
Timecop.freeze Time.local 2016, 01, 19
|
43
43
|
subject.options = {licensor: 'Beyoncé'}
|
44
|
-
subject.generate '
|
44
|
+
subject.generate 'dummy-app'
|
45
45
|
expect('dummy_app/LICENSE.md').to have_content (
|
46
46
|
"""
|
47
47
|
##Copyright (c) 2016 Beyoncé
|
@@ -6,7 +6,7 @@ module Skellington
|
|
6
6
|
|
7
7
|
it 'generates a .ruby-version' do
|
8
8
|
subject.options = { 'framework' => 'jekyll' }
|
9
|
-
expect { subject.generate '
|
9
|
+
expect { subject.generate 'dummy-app' }.to produce_file 'dummy_app/.ruby-version'
|
10
10
|
expect('dummy_app/.ruby-version').to have_content (
|
11
11
|
"""
|
12
12
|
/[0-9]*\\.[0-9]*\\.[0-9]*/
|
data/spec/non_local_path_spec.rb
CHANGED
@@ -32,19 +32,6 @@ module Skellington
|
|
32
32
|
@github_url = CONFIG['github_url']
|
33
33
|
erb :index
|
34
34
|
end
|
35
|
-
|
36
|
-
wants.json do
|
37
|
-
{
|
38
|
-
app: 'SomeApp'
|
39
|
-
}.to_json
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
# start the server if ruby file executed directly
|
45
|
-
run! if app_file == $0
|
46
|
-
end
|
47
|
-
end
|
48
35
|
"""
|
49
36
|
)
|
50
37
|
|
@@ -5,7 +5,7 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'generates an app file' do
|
8
|
-
subject.generate '
|
8
|
+
subject.generate 'dummy-app'
|
9
9
|
expect('dummy_app/lib/dummy_app.rb').to have_content (
|
10
10
|
"""
|
11
11
|
require 'sinatra/base'
|
@@ -43,6 +43,12 @@ module Skellington
|
|
43
43
|
|
44
44
|
# start the server if ruby file executed directly
|
45
45
|
run! if app_file == $0
|
46
|
+
|
47
|
+
not_found do
|
48
|
+
status 404
|
49
|
+
@title = '404'
|
50
|
+
erb :oops
|
51
|
+
end
|
46
52
|
end
|
47
53
|
end
|
48
54
|
"""
|
@@ -5,11 +5,11 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'generates a config/config.yml file' do
|
8
|
-
subject.generate '
|
8
|
+
subject.generate 'dummy-app'
|
9
9
|
expect('dummy_app/config/config.yml').to have_content (
|
10
10
|
"""
|
11
11
|
#google-analytics-tag: UA-00000000-0
|
12
|
-
#github_url: https://github.com
|
12
|
+
#github_url: https://github.com # also uncomment the `include` line in `styles.scss`
|
13
13
|
"""
|
14
14
|
)
|
15
15
|
end
|
@@ -5,11 +5,21 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'installs bootstrap' do
|
8
|
-
subject.generate '
|
8
|
+
subject.generate 'dummy-app'
|
9
9
|
|
10
|
+
expect(File).to exist 'dummy_app/public/sass/palettes/_default.scss'
|
10
11
|
expect('dummy_app/public/sass/_colours.scss').to have_content (
|
11
12
|
"""
|
12
|
-
|
13
|
+
@import 'palettes/default';
|
14
|
+
|
15
|
+
$brand-primary: $rgba-primary-0;
|
16
|
+
//$brand-complement: $rgba-complement-0;
|
17
|
+
//$brand-secondary-1: $rgba-secondary-1-0;
|
18
|
+
//$brand-secondary-2: $rgba-secondary-2-0;
|
19
|
+
|
20
|
+
$grey: rgb(127, 127, 127);
|
21
|
+
$light-grey: lighten($grey, 25%);
|
22
|
+
$dark-grey: darken($grey, 25%);
|
13
23
|
"""
|
14
24
|
)
|
15
25
|
expect('dummy_app/public/sass/_fonts.scss').to have_content (
|
@@ -20,7 +30,7 @@ module Skellington
|
|
20
30
|
end
|
21
31
|
|
22
32
|
it 'sets up sass' do
|
23
|
-
subject.generate '
|
33
|
+
subject.generate 'dummy-app'
|
24
34
|
|
25
35
|
expect('dummy_app/public/sass/styles.scss').to have_content (
|
26
36
|
"""
|
data/spec/sinatra/cli_spec.rb
CHANGED
@@ -9,9 +9,11 @@ module Skellington
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it 'generates correct output' do
|
12
|
-
expect { subject.generate '
|
12
|
+
expect { subject.generate 'dummy-app' }.to output(/
|
13
13
|
Your new Sinatra app DummyApp has been created
|
14
14
|
|
15
|
+
\(Note that 'dummy-app' has been changed to 'dummy_app' because Ruby finds '-'s troubling\)
|
16
|
+
|
15
17
|
Now do
|
16
18
|
|
17
19
|
cd dummy_app
|
@@ -23,9 +25,10 @@ And presuming that passes OK
|
|
23
25
|
git add .
|
24
26
|
git commit -m 'First commit'
|
25
27
|
|
26
|
-
Then try
|
28
|
+
Then try \(in 2 different windows\)
|
27
29
|
|
28
|
-
bundle exec rake run
|
30
|
+
bundle exec rake run:sass
|
31
|
+
bundle exec rake run:app
|
29
32
|
|
30
33
|
which will launch Compass and then run the app \(at http:\/\/localhost:9292\)
|
31
34
|
|
@@ -39,7 +42,7 @@ For post-install hints, try
|
|
39
42
|
|
40
43
|
it 'suppresses the LICENSE help when supplied with a licensor' do
|
41
44
|
subject.options = {licensor: 'Beyoncé'}
|
42
|
-
expect { subject.generate '
|
45
|
+
expect { subject.generate 'dummy-app' }.to_not output(/
|
43
46
|
You should also fill in your name in LICENSE.md
|
44
47
|
/).to_stdout
|
45
48
|
end
|
data/spec/sinatra/git_spec.rb
CHANGED
@@ -5,7 +5,7 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'generates javascript files' do
|
8
|
-
expect{ subject.generate '
|
8
|
+
expect{ subject.generate 'dummy-app'}.to produce_file 'dummy_app/spec/javascripts/support/jasmine_helper.rb'
|
9
9
|
|
10
10
|
expect('dummy_app/spec/javascripts/support/jasmine.yml').to have_content (
|
11
11
|
"""
|
@@ -5,7 +5,7 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'includes some third-party javascript libs' do
|
8
|
-
subject.generate '
|
8
|
+
subject.generate 'dummy-app'
|
9
9
|
|
10
10
|
expect('dummy_app/views/includes/js-libs.erb').to have_content (
|
11
11
|
"""
|
@@ -22,7 +22,7 @@ module Skellington
|
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'includes some third-party css' do
|
25
|
-
subject.generate '
|
25
|
+
subject.generate 'dummy-app'
|
26
26
|
|
27
27
|
expect('dummy_app/views/includes/css-libs.erb').to have_content (
|
28
28
|
"""
|
@@ -37,7 +37,7 @@ module Skellington
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'includes some fonts' do
|
40
|
-
subject.generate '
|
40
|
+
subject.generate 'dummy-app'
|
41
41
|
|
42
42
|
expect('dummy_app/views/includes/fonts-libs.erb').to have_content (
|
43
43
|
"""
|
@@ -54,7 +54,7 @@ module Skellington
|
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'handles some cruft required by IE' do
|
57
|
-
subject.generate '
|
57
|
+
subject.generate 'dummy-app'
|
58
58
|
|
59
59
|
expect('dummy_app/views/includes/ie-cruft.erb').to have_content (
|
60
60
|
"""
|
@@ -6,7 +6,7 @@ module Skellington
|
|
6
6
|
|
7
7
|
context 'layout' do
|
8
8
|
it 'creates a header' do
|
9
|
-
subject.generate '
|
9
|
+
subject.generate 'dummy-app'
|
10
10
|
|
11
11
|
expect('dummy_app/views/includes/header.erb').to have_content (
|
12
12
|
"""
|
@@ -32,7 +32,7 @@ module Skellington
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it 'creates a footer' do
|
35
|
-
subject.generate '
|
35
|
+
subject.generate 'dummy-app'
|
36
36
|
|
37
37
|
expect('dummy_app/views/includes/footer.erb').to have_content (
|
38
38
|
"""
|
@@ -51,7 +51,7 @@ module Skellington
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'creates a github corner' do
|
54
|
-
subject.generate '
|
54
|
+
subject.generate 'dummy-app'
|
55
55
|
|
56
56
|
expect('dummy_app/views/includes/github-corner.erb').to have_content (
|
57
57
|
"""
|
@@ -69,7 +69,7 @@ module Skellington
|
|
69
69
|
end
|
70
70
|
|
71
71
|
it 'creates a layout' do
|
72
|
-
subject.generate '
|
72
|
+
subject.generate 'dummy-app'
|
73
73
|
|
74
74
|
expect('dummy_app/views/layout.erb').to have_content (
|
75
75
|
"""
|
@@ -5,7 +5,7 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'generates a view' do
|
8
|
-
subject.generate '
|
8
|
+
subject.generate 'dummy-app'
|
9
9
|
|
10
10
|
expect('dummy_app/views/index.erb').to have_content (
|
11
11
|
"""
|
@@ -13,5 +13,19 @@ module Skellington
|
|
13
13
|
"""
|
14
14
|
)
|
15
15
|
end
|
16
|
+
|
17
|
+
it 'has a 404 page' do
|
18
|
+
subject.generate 'dummy-app'
|
19
|
+
|
20
|
+
expect('dummy_app/views/oops.erb').to have_content (
|
21
|
+
"""
|
22
|
+
<h1>404</h1>
|
23
|
+
|
24
|
+
<h2>Nothing to see here</h2>
|
25
|
+
|
26
|
+
<a href='/'>Home</a>
|
27
|
+
"""
|
28
|
+
)
|
29
|
+
end
|
16
30
|
end
|
17
31
|
end
|
@@ -7,7 +7,7 @@ module Skellington
|
|
7
7
|
context 'generate a LICENSE' do
|
8
8
|
it 'plain license' do
|
9
9
|
Timecop.freeze Time.local 2016, 01, 19
|
10
|
-
subject.generate '
|
10
|
+
subject.generate 'dummy-app'
|
11
11
|
expect('dummy_app/LICENSE.md').to have_content (
|
12
12
|
"""
|
13
13
|
##Copyright (c) 2016 YOUR-NAME-HERE
|
@@ -40,7 +40,7 @@ module Skellington
|
|
40
40
|
it 'with a provided name' do
|
41
41
|
Timecop.freeze Time.local 2016, 01, 19
|
42
42
|
subject.options = {licensor: 'Beyoncé'}
|
43
|
-
subject.generate '
|
43
|
+
subject.generate 'dummy-app'
|
44
44
|
expect('dummy_app/LICENSE.md').to have_content (
|
45
45
|
"""
|
46
46
|
##Copyright (c) 2016 Beyoncé
|
@@ -5,7 +5,7 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'generates a Rakefile' do
|
8
|
-
subject.generate '
|
8
|
+
subject.generate 'dummy-app'
|
9
9
|
expect('dummy_app/Rakefile').to have_content (
|
10
10
|
"""
|
11
11
|
require File.join(File.dirname(__FILE__), 'lib/dummy_app.rb')
|
@@ -22,10 +22,16 @@ module Skellington
|
|
22
22
|
task :default => [:spec, 'jasmine:ci', 'coveralls:push']
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
namespace :run do
|
26
|
+
desc 'start app'
|
27
|
+
task :app do
|
28
|
+
sh 'rackup -o 0.0.0.0'
|
29
|
+
end
|
30
|
+
|
31
|
+
desc 'clean-up and run compass'
|
32
|
+
task :sass do
|
33
|
+
sh 'compass clean && compass watch'
|
34
|
+
end
|
29
35
|
end
|
30
36
|
"""
|
31
37
|
)
|
@@ -5,7 +5,7 @@ module Skellington
|
|
5
5
|
end
|
6
6
|
|
7
7
|
it 'generates a .ruby-version' do
|
8
|
-
expect { subject.generate '
|
8
|
+
expect { subject.generate 'dummy-app' }.to produce_file 'dummy_app/.ruby-version'
|
9
9
|
expect('dummy_app/.ruby-version').to have_content (
|
10
10
|
"""
|
11
11
|
/[0-9]*\\.[0-9]*\\.[0-9]*/
|