skellington 0.8.1 → 0.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/config/config.yaml +34 -4
- data/lib/{jekyll → common}/templates/.ruby-version.eruby +0 -0
- data/lib/{jekyll → common}/templates/LICENSE.md.eruby +0 -0
- data/lib/common/templates/gitignore +7 -0
- data/lib/{sinatra/templates/views/includes/footer.erb.eruby → common/templates/includes/footer} +0 -0
- data/lib/common/templates/includes/header +43 -0
- data/lib/common/templates/includes/ie-cruft +6 -0
- data/lib/common/templates/sass/colours.scss +1 -0
- data/lib/common/templates/sass/fonts.scss +1 -0
- data/lib/{sinatra/templates/public/sass/_footer.scss.eruby → common/templates/sass/footer.scss} +0 -0
- data/lib/{sinatra/templates/public/sass/styles.scss.eruby → common/templates/sass/styles.scss} +5 -2
- data/lib/common/templates/sass/variables.scss +1 -0
- data/lib/common/templates/views/layout +28 -0
- data/lib/jekyll/templates/_config.yml.eruby +2 -0
- data/lib/jekyll/templates/_data/libs.yml.eruby +15 -0
- data/lib/jekyll/templates/index.md.eruby +1 -1
- data/lib/jekyll/templates/post-run.eruby +1 -1
- data/lib/sinatra/templates/Gemfile.eruby +1 -1
- data/lib/sinatra/templates/lib/app.rb.eruby +1 -1
- data/lib/sinatra/templates/views/includes/css-libs.erb.eruby +6 -0
- data/lib/sinatra/templates/views/includes/fonts-libs.erb.eruby +8 -0
- data/lib/sinatra/templates/views/includes/js-libs.erb.eruby +8 -0
- data/lib/skellington/generator.rb +4 -5
- data/lib/skellington/template.rb +19 -1
- data/lib/skellington/version.rb +1 -1
- data/spec/jekyll/bootstrap/css_spec.rb +93 -0
- data/spec/jekyll/bootstrap_4/bootstrap_4_spec.rb +45 -0
- data/spec/jekyll/cli_spec.rb +1 -1
- data/spec/jekyll/data/libs_spec.rb +33 -0
- data/spec/jekyll/{cli/git_spec.rb → git_spec.rb} +0 -0
- data/spec/jekyll/{cli/index_md.rb → layout/index_md_spec.rb} +2 -3
- data/spec/jekyll/layout/layout_spec.rb +104 -0
- data/spec/jekyll/{cli → root_files}/config_yml_spec.rb +2 -0
- data/spec/jekyll/{cli → root_files}/gemfile_spec.rb +0 -0
- data/spec/jekyll/{cli → root_files}/license_spec.rb +0 -0
- data/spec/jekyll/{cli → root_files}/rbenv_spec.rb +0 -0
- data/spec/non_local_path_spec.rb +1 -1
- data/spec/sinatra/{cli → app}/app_spec.rb +1 -1
- data/spec/sinatra/{cli → app}/config_yml_spec.rb +0 -0
- data/spec/sinatra/{cli → app}/helpers_spec.rb +0 -0
- data/spec/sinatra/app/public_spec.rb +14 -0
- data/spec/sinatra/{cli → app}/racks_spec.rb +0 -0
- data/spec/sinatra/bootstrap/css_spec.rb +42 -0
- data/spec/sinatra/{cli → bootstrap_4}/config_rb_bootstrap_4_spec.rb +0 -0
- data/spec/sinatra/{cli → bootstrap_4}/gemfile_bootstrap_4_spec.rb +1 -2
- data/spec/sinatra/{cli → bootstrap_4}/public_bootstrap_4_spec.rb +0 -0
- data/spec/sinatra/{cli/git_spec.rb → git_spec.rb} +0 -0
- data/spec/sinatra/{cli → javascript}/javascript_spec.rb +0 -0
- data/spec/sinatra/layout/includes_spec.rb +71 -0
- data/spec/sinatra/layout/layout_spec.rb +92 -0
- data/spec/sinatra/layout/views_spec.rb +17 -0
- data/spec/sinatra/{cli → root_files}/config_rb_spec.rb +0 -0
- data/spec/sinatra/{cli → root_files}/config_ru_spec.rb +0 -0
- data/spec/sinatra/{cli → root_files}/gemfile_spec.rb +0 -1
- data/spec/sinatra/{cli → root_files}/guardfile_spec.rb +0 -0
- data/spec/sinatra/{cli → root_files}/license_spec.rb +0 -0
- data/spec/sinatra/{cli → root_files}/procfile_spec.rb +0 -0
- data/spec/sinatra/{cli → root_files}/rakefile_spec.rb +0 -0
- data/spec/sinatra/{cli → root_files}/rbenv_spec.rb +0 -0
- data/spec/sinatra/{cli → spec}/spec_spec.rb +0 -0
- metadata +84 -81
- data/lib/jekyll/templates/.gitignore.eruby +0 -2
- data/lib/jekyll/templates/_layouts/default.html.eruby +0 -29
- data/lib/jekyll/templates/_sass/bootstrap-custom.scss.eruby +0 -1
- data/lib/jekyll/templates/_sass/fonts.scss.eruby +0 -4
- data/lib/jekyll/templates/assets/application.scss.eruby +0 -6
- data/lib/sinatra/templates/.gitignore.eruby +0 -2
- data/lib/sinatra/templates/.ruby-version.eruby +0 -1
- data/lib/sinatra/templates/LICENSE.md.eruby +0 -27
- data/lib/sinatra/templates/public/sass/_fonts.scss.eruby +0 -2
- data/lib/sinatra/templates/public/sass/_variables.scss.eruby +0 -2
- data/lib/sinatra/templates/views/default.erb.eruby +0 -17
- data/lib/sinatra/templates/views/includes/header.erb.eruby +0 -22
- data/spec/jekyll/cli/assets_css_spec.rb +0 -23
- data/spec/jekyll/cli/bootstrap_4_spec.rb +0 -48
- data/spec/jekyll/cli/bootstrap_spec.rb +0 -47
- data/spec/jekyll/cli/layout_spec.rb +0 -45
- data/spec/sinatra/cli/includes_spec.rb +0 -72
- data/spec/sinatra/cli/layout_spec.rb +0 -32
- data/spec/sinatra/cli/public_spec.rb +0 -111
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1764412664af82c2ca5b20c67b4e1689b132a68c
|
4
|
+
data.tar.gz: f5320be4ba04dce5e77128fd37f0acd55b36ae0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e1cadd97a522409a2dafb1d5dc937d244e36faf13b2617a8580a4bcb6ca2b0783f4fc127f3ddf4a8bd928877a42267db54c765f3ee526dd2bcc3fe4ef23402a6
|
7
|
+
data.tar.gz: 51caf99179a67b5a5265e5cd6bcfcbf8411b1129bdcc44d6ad217e98f9e90404e669e46ab5118146109c956b4388fb5ab7659d75d9d230f91dfc047eced247fb
|
data/.travis.yml
CHANGED
data/config/config.yaml
CHANGED
@@ -14,7 +14,6 @@ sinatra:
|
|
14
14
|
guard:
|
15
15
|
guard-rspec:
|
16
16
|
guard-jasmine:
|
17
|
-
capybara:
|
18
17
|
coveralls:
|
19
18
|
jasmine:
|
20
19
|
pry:
|
@@ -29,6 +28,7 @@ sinatra:
|
|
29
28
|
.ruby-version:
|
30
29
|
.rspec:
|
31
30
|
.gitignore:
|
31
|
+
common: gitignore
|
32
32
|
config.ru:
|
33
33
|
config.rb:
|
34
34
|
config/config.yml:
|
@@ -41,10 +41,18 @@ sinatra:
|
|
41
41
|
outpath: app/wormname/racks
|
42
42
|
lib/app/helpers.rb:
|
43
43
|
outpath: app/wormname/helpers
|
44
|
-
views/
|
44
|
+
views/layout.erb:
|
45
|
+
common: views/layout
|
45
46
|
views/index.erb:
|
46
47
|
views/includes/header.erb:
|
48
|
+
common: includes/header
|
47
49
|
views/includes/footer.erb:
|
50
|
+
common: includes/footer
|
51
|
+
views/includes/ie-cruft.erb:
|
52
|
+
common: includes/ie-cruft
|
53
|
+
views/includes/js-libs.erb:
|
54
|
+
views/includes/css-libs.erb:
|
55
|
+
views/includes/fonts-libs.erb:
|
48
56
|
views/includes/github-corner.erb:
|
49
57
|
spec/spec_helper.rb:
|
50
58
|
spec/app/helpers_spec.rb:
|
@@ -60,10 +68,16 @@ sinatra:
|
|
60
68
|
public/js/app.js:
|
61
69
|
outpath: app/wormname
|
62
70
|
public/sass/_footer.scss:
|
71
|
+
common: sass/footer.scss
|
63
72
|
public/sass/_fonts.scss:
|
73
|
+
common: sass/fonts.scss
|
64
74
|
public/sass/_github-corner.scss:
|
65
75
|
public/sass/_variables.scss:
|
76
|
+
common: sass/variables.scss
|
77
|
+
public/sass/_colours.scss:
|
78
|
+
common: sass/colours.scss
|
66
79
|
public/sass/styles.scss:
|
80
|
+
common: sass/styles.scss
|
67
81
|
|
68
82
|
jekyll:
|
69
83
|
gems:
|
@@ -75,10 +89,26 @@ jekyll:
|
|
75
89
|
Gemfile:
|
76
90
|
_config.yml:
|
77
91
|
.gitignore:
|
92
|
+
common: gitignore
|
78
93
|
index.md:
|
79
94
|
_layouts/default.html:
|
80
|
-
|
81
|
-
|
95
|
+
common: views/layout
|
96
|
+
_includes/header.html:
|
97
|
+
common: includes/header
|
98
|
+
_includes/footer.html:
|
99
|
+
common: includes/footer
|
100
|
+
_includes/ie-cruft.html:
|
101
|
+
common: includes/ie-cruft
|
102
|
+
css/styles.scss:
|
103
|
+
common: sass/styles.scss
|
104
|
+
_sass/variables.scss:
|
105
|
+
common: sass/variables.scss
|
106
|
+
_sass/colours.scss:
|
107
|
+
common: sass/colours.scss
|
82
108
|
_sass/fonts.scss:
|
109
|
+
common: sass/fonts.scss
|
110
|
+
_sass/footer.scss:
|
111
|
+
common: sass/footer.scss
|
83
112
|
LICENSE.md:
|
84
113
|
.ruby-version:
|
114
|
+
_data/libs.yml:
|
File without changes
|
File without changes
|
data/lib/{sinatra/templates/views/includes/footer.erb.eruby → common/templates/includes/footer}
RENAMED
File without changes
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<head>
|
2
|
+
<meta charset='utf-8' />
|
3
|
+
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
|
4
|
+
<meta name='viewport' content='width=device-width, initial-scale=1' />
|
5
|
+
|
6
|
+
<% case @gen.framework %>
|
7
|
+
<% when 'sinatra' %>
|
8
|
+
<%%= erb :'includes/ie-cruft' %>
|
9
|
+
<%%= erb :'includes/js-libs' %>
|
10
|
+
<%%= erb :'includes/css-libs' %>
|
11
|
+
<%%= erb :'includes/fonts-libs' %>
|
12
|
+
<% when 'jekyll' %>
|
13
|
+
{% include ie-cruft.html %}
|
14
|
+
|
15
|
+
{% for lib in site.data.libs.js %}
|
16
|
+
<!-- {{ lib.name }} -->
|
17
|
+
<script src='{{ lib.url }}'></script>
|
18
|
+
{% endfor %}
|
19
|
+
|
20
|
+
{% for lib in site.data.libs.css %}
|
21
|
+
<!-- {{ lib.name }} -->
|
22
|
+
<link rel='stylesheet' href='{{ lib.url }}'>
|
23
|
+
{% endfor %}
|
24
|
+
|
25
|
+
{% for font in site.data.libs.fonts %}
|
26
|
+
<!-- {{ font.name }} -->
|
27
|
+
<link rel='stylesheet' href='{{ font.url }}'>
|
28
|
+
{% endfor %}
|
29
|
+
<% end %>
|
30
|
+
<% prefix = '{{ site.baseurl }}' if @gen.framework == 'jekyll' %>
|
31
|
+
|
32
|
+
<link rel='icon' type='image/png' href='<%= prefix %>/assets/favicon.ico' />
|
33
|
+
<link rel='stylesheet' href='<%= prefix %>/css/styles.css' />
|
34
|
+
<script src='<%= prefix %>/js/dummy_app.js'></script>
|
35
|
+
<title>
|
36
|
+
<% case @gen.framework %>
|
37
|
+
<% when 'sinatra' %>
|
38
|
+
<%%= @title %>
|
39
|
+
<% when 'jekyll' %>
|
40
|
+
{{ page.title }}
|
41
|
+
<% end %>
|
42
|
+
</title>
|
43
|
+
</head>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
2
|
+
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
3
|
+
<!--[if lt IE 9]>
|
4
|
+
<script src='//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js'></script>
|
5
|
+
<script src='//oss.maxcdn.com/respond/1.4.2/respond.min.js'></script>
|
6
|
+
<![endif]-->
|
@@ -0,0 +1 @@
|
|
1
|
+
$brand-primary: rgba(250, 129, 0, 1);
|
@@ -0,0 +1 @@
|
|
1
|
+
$font-primary: 'Ubuntu Mono';
|
data/lib/{sinatra/templates/public/sass/_footer.scss.eruby → common/templates/sass/footer.scss}
RENAMED
File without changes
|
data/lib/{sinatra/templates/public/sass/styles.scss.eruby → common/templates/sass/styles.scss}
RENAMED
@@ -1,8 +1,11 @@
|
|
1
|
+
<% if @gen.framework == 'jekyll' %>---
|
2
|
+
---<% end %>
|
1
3
|
@import 'bootstrap';
|
2
|
-
@import 'fonts';
|
3
4
|
@import 'variables';
|
5
|
+
@import 'fonts';
|
6
|
+
@import 'colours';
|
4
7
|
@import 'footer';
|
5
|
-
|
8
|
+
//@import 'github-corner';
|
6
9
|
|
7
10
|
h1 {
|
8
11
|
color: $brand-primary;
|
@@ -0,0 +1 @@
|
|
1
|
+
$footer-height: 40px;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang='en'>
|
3
|
+
<% case @gen.framework %>
|
4
|
+
<% when 'sinatra' %>
|
5
|
+
<%%= erb :'includes/header' %>
|
6
|
+
<% when 'jekyll' %>
|
7
|
+
{% include header.html %}
|
8
|
+
<% end %>
|
9
|
+
<body>
|
10
|
+
<% if @gen.framework == 'sinatra' %>
|
11
|
+
<%%= erb :'includes/github-corner' if @github_url %>
|
12
|
+
<% end %>
|
13
|
+
<div class='container'>
|
14
|
+
<% case @gen.framework %>
|
15
|
+
<% when 'sinatra' %>
|
16
|
+
<%%= yield %>
|
17
|
+
<% when 'jekyll' %>
|
18
|
+
{{ content }}
|
19
|
+
<% end %>
|
20
|
+
</div>
|
21
|
+
<% case @gen.framework %>
|
22
|
+
<% when 'sinatra' %>
|
23
|
+
<%%= erb :'includes/footer' %>
|
24
|
+
<% when 'jekyll' %>
|
25
|
+
{% include footer.html %}
|
26
|
+
<% end %>
|
27
|
+
</body>
|
28
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
js:
|
2
|
+
- name: jquery
|
3
|
+
url: //ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
|
4
|
+
- name: bootstrap
|
5
|
+
url: //maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js
|
6
|
+
|
7
|
+
css:
|
8
|
+
- name: foo
|
9
|
+
bar: //bar.com/baz.css
|
10
|
+
|
11
|
+
fonts:
|
12
|
+
- name: fontawesome
|
13
|
+
url: //maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css
|
14
|
+
- name: ubuntu
|
15
|
+
url: //fonts.googleapis.com/css?family=Ubuntu+Mono
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%%
|
2
|
+
libs = {
|
3
|
+
fontawesome: '//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css',
|
4
|
+
ubuntu: '//fonts.googleapis.com/css?family=Ubuntu+Mono'
|
5
|
+
}.each_pair do |name, url| %>
|
6
|
+
<!-- <%%= name %> -->
|
7
|
+
<link rel='stylesheet' href='<%%= url %>'>
|
8
|
+
<%% end %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%%
|
2
|
+
libs = {
|
3
|
+
jquery: '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',
|
4
|
+
bootstrap: '//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js'
|
5
|
+
}.each_pair do |name, url| %>
|
6
|
+
<!-- <%%= name %> -->
|
7
|
+
<script src='<%%= url %>'></script>
|
8
|
+
<%% end %>
|
@@ -4,7 +4,6 @@ module Skellington
|
|
4
4
|
attr_accessor :licensor
|
5
5
|
|
6
6
|
def initialize path, options = {}
|
7
|
-
# @framework = options[:framework] ? options[:framework] : 'sinatra'
|
8
7
|
@framework = options.fetch('framework', 'sinatra')
|
9
8
|
@bootstrap = options.fetch('bootstrap', 3).to_s
|
10
9
|
@full_path = path
|
@@ -44,12 +43,12 @@ module Skellington
|
|
44
43
|
Object.send(:remove_const, :Bootstrap)
|
45
44
|
require 'bootstrap'
|
46
45
|
end
|
47
|
-
|
46
|
+
|
48
47
|
root = "#{self.path}/#{self.wormname}"
|
49
48
|
|
50
|
-
|
51
|
-
|
52
|
-
|
49
|
+
# FileUtils.mkdir_p "#{root}/javascripts"
|
50
|
+
# FileUtils.cp_r "#{Bootstrap.assets_path}/javascripts/bootstrap", "#{root}/javascripts"
|
51
|
+
# FileUtils.cp "#{Bootstrap.assets_path}/javascripts/bootstrap.min.js", "#{root}/javascripts"
|
53
52
|
|
54
53
|
FileUtils.mkdir_p "#{root}/_sass"
|
55
54
|
FileUtils.cp_r "#{Bootstrap.assets_path}/stylesheets/bootstrap", "#{root}/_sass"
|
data/lib/skellington/template.rb
CHANGED
@@ -14,6 +14,10 @@ module Skellington
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
def common_templates
|
18
|
+
File.join File.dirname(__FILE__), '..', 'common', 'templates'
|
19
|
+
end
|
20
|
+
|
17
21
|
def templates_dir
|
18
22
|
File.join File.dirname(__FILE__), '..', @generator.framework, 'templates'
|
19
23
|
end
|
@@ -28,7 +32,21 @@ module Skellington
|
|
28
32
|
end
|
29
33
|
|
30
34
|
def to_s
|
31
|
-
|
35
|
+
path = "#{templates_dir}/#{@name}.eruby"
|
36
|
+
if @generator.files.dig(@name, 'common')
|
37
|
+
path = "#{common_templates}/#{@generator.files[@name]['common']}"
|
38
|
+
end
|
39
|
+
|
40
|
+
begin
|
41
|
+
t = File.read(File.open(path))
|
42
|
+
|
43
|
+
# this can go away soon
|
44
|
+
if t =~ /^common: (.*)$/
|
45
|
+
t = File.read(File.open("#{common_templates}/#{$1}"))
|
46
|
+
end
|
47
|
+
rescue Errno::ENOENT
|
48
|
+
t = File.read(File.open("#{common_templates}/#{@name}.eruby"))
|
49
|
+
end
|
32
50
|
Erubis::Eruby.new(t).evaluate(gen: @generator)
|
33
51
|
end
|
34
52
|
end
|
data/lib/skellington/version.rb
CHANGED
@@ -0,0 +1,93 @@
|
|
1
|
+
module Skellington
|
2
|
+
describe CLI do
|
3
|
+
let :subject do
|
4
|
+
described_class.new
|
5
|
+
end
|
6
|
+
|
7
|
+
it 'installs bootstrap' do
|
8
|
+
subject.options = { 'framework' => 'jekyll' }
|
9
|
+
subject.generate 'dummy_app'
|
10
|
+
|
11
|
+
expect('dummy_app/_sass/bootstrap.scss').to have_content (
|
12
|
+
"""
|
13
|
+
/*!
|
14
|
+
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
15
|
+
* Copyright 2011-2016 Twitter, Inc.
|
16
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
17
|
+
*/
|
18
|
+
"""
|
19
|
+
)
|
20
|
+
|
21
|
+
expect('dummy_app/_sass/variables.scss').to have_content (
|
22
|
+
"""
|
23
|
+
$footer-height: 40px;
|
24
|
+
"""
|
25
|
+
)
|
26
|
+
|
27
|
+
expect('dummy_app/_sass/fonts.scss').to have_content (
|
28
|
+
"""
|
29
|
+
$font-primary: 'Ubuntu Mono';
|
30
|
+
"""
|
31
|
+
)
|
32
|
+
|
33
|
+
expect('dummy_app/_sass/colours.scss').to have_content (
|
34
|
+
"""
|
35
|
+
$brand-primary: rgba(250, 129, 0, 1);
|
36
|
+
"""
|
37
|
+
)
|
38
|
+
|
39
|
+
expect('dummy_app/_sass/footer.scss').to have_content (
|
40
|
+
"""
|
41
|
+
html {
|
42
|
+
position: relative;
|
43
|
+
min-height: 100%;
|
44
|
+
}
|
45
|
+
|
46
|
+
body {
|
47
|
+
margin-bottom: $footer-height;
|
48
|
+
}
|
49
|
+
|
50
|
+
.footer {
|
51
|
+
position: absolute;
|
52
|
+
bottom: 0;
|
53
|
+
width: 100%;
|
54
|
+
|
55
|
+
margin-top: $padding-large-vertical;
|
56
|
+
background: $brand-primary;
|
57
|
+
color: white;
|
58
|
+
height: $footer-height;
|
59
|
+
|
60
|
+
padding: $padding-large-vertical $padding-large-horizontal;
|
61
|
+
|
62
|
+
a {
|
63
|
+
color: white;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
"""
|
67
|
+
)
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'sets up sass' do
|
71
|
+
subject.options = { 'framework' => 'jekyll' }
|
72
|
+
subject.generate 'dummy_app'
|
73
|
+
|
74
|
+
expect('dummy_app/css/styles.scss').to have_content (
|
75
|
+
"""
|
76
|
+
---
|
77
|
+
---
|
78
|
+
@import 'bootstrap';
|
79
|
+
@import 'variables';
|
80
|
+
@import 'fonts';
|
81
|
+
@import 'colours';
|
82
|
+
@import 'footer';
|
83
|
+
//@import 'github-corner';
|
84
|
+
|
85
|
+
h1 {
|
86
|
+
color: $brand-primary;
|
87
|
+
font-family: $font-primary;
|
88
|
+
}
|
89
|
+
"""
|
90
|
+
)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Skellington
|
2
|
+
describe CLI, troublesome: true do
|
3
|
+
let :subject do
|
4
|
+
described_class.new
|
5
|
+
end
|
6
|
+
|
7
|
+
it 'installs bootstrap 4' do
|
8
|
+
subject.options = { 'framework' => 'jekyll', 'bootstrap' => 4 }
|
9
|
+
subject.generate 'dummy_app'
|
10
|
+
|
11
|
+
# expect(Dir).to exist 'dummy_app/javascripts/bootstrap'
|
12
|
+
# expect('dummy_app/javascripts/bootstrap.min.js').to have_content (
|
13
|
+
# """
|
14
|
+
# /*!
|
15
|
+
# * Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
|
16
|
+
# * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
17
|
+
# * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
18
|
+
# */
|
19
|
+
# """
|
20
|
+
# )
|
21
|
+
|
22
|
+
expect(Dir).to exist 'dummy_app/_sass/bootstrap'
|
23
|
+
expect('dummy_app/_sass/bootstrap.scss').to have_content (
|
24
|
+
"""
|
25
|
+
/*!
|
26
|
+
* Bootstrap v4.0.0-alpha.5 (https://getbootstrap.com)
|
27
|
+
* Copyright 2011-2016 The Bootstrap Authors
|
28
|
+
* Copyright 2011-2016 Twitter, Inc.
|
29
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
30
|
+
*/
|
31
|
+
"""
|
32
|
+
)
|
33
|
+
expect('dummy_app/_sass/colours.scss').to have_content (
|
34
|
+
"""
|
35
|
+
$brand-primary: rgba(250, 129, 0, 1);
|
36
|
+
"""
|
37
|
+
)
|
38
|
+
expect('dummy_app/_sass/fonts.scss').to have_content (
|
39
|
+
"""
|
40
|
+
$font-primary: 'Ubuntu Mono';
|
41
|
+
"""
|
42
|
+
)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/spec/jekyll/cli_spec.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
module Skellington
|
2
|
+
describe CLI do
|
3
|
+
let :subject do
|
4
|
+
described_class.new
|
5
|
+
end
|
6
|
+
|
7
|
+
it 'creates a libs data file' do
|
8
|
+
subject.options = { 'framework' => 'jekyll' }
|
9
|
+
subject.generate 'dummy_app'
|
10
|
+
|
11
|
+
expect(Dir).to exist 'dummy_app/_data'
|
12
|
+
expect('dummy_app/_data/libs.yml').to have_content (
|
13
|
+
"""
|
14
|
+
js:
|
15
|
+
- name: jquery
|
16
|
+
url: //ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
|
17
|
+
- name: bootstrap
|
18
|
+
url: //maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js
|
19
|
+
|
20
|
+
css:
|
21
|
+
- name: foo
|
22
|
+
bar: //bar.com/baz.css
|
23
|
+
|
24
|
+
fonts:
|
25
|
+
- name: fontawesome
|
26
|
+
url: //maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css
|
27
|
+
- name: ubuntu
|
28
|
+
url: //fonts.googleapis.com/css?family=Ubuntu+Mono
|
29
|
+
"""
|
30
|
+
)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
File without changes
|
@@ -7,14 +7,13 @@ module Skellington
|
|
7
7
|
it 'creates a default index page' do
|
8
8
|
subject.options = { 'framework' => 'jekyll' }
|
9
9
|
subject.generate 'dummy_app'
|
10
|
-
expect(Dir).to exist 'dummy_app/index.md'
|
11
10
|
|
12
|
-
expect('dummy_app
|
11
|
+
expect('dummy_app/index.md').to have_content (
|
13
12
|
"""
|
14
13
|
---
|
15
14
|
---
|
16
15
|
|
17
|
-
#
|
16
|
+
# Hello from DummyApp
|
18
17
|
"""
|
19
18
|
)
|
20
19
|
end
|