skellington 0.8.3 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/config/config.yaml +30 -12
  3. data/lib/common/templates/{gitignore → .gitignore} +0 -0
  4. data/lib/common/templates/{.ruby-version.eruby → .ruby-version} +0 -0
  5. data/lib/common/templates/{Gemfile.eruby → Gemfile} +0 -0
  6. data/lib/common/templates/{LICENSE.md.eruby → LICENSE.md} +0 -0
  7. data/lib/common/templates/includes/header +1 -1
  8. data/lib/common/templates/sass/colours +10 -0
  9. data/lib/common/templates/sass/{fonts.scss → fonts} +0 -0
  10. data/lib/common/templates/sass/{footer.scss → footer} +0 -0
  11. data/lib/{sinatra/templates/public/sass/_github-corner.scss.eruby → common/templates/sass/github-corner} +0 -0
  12. data/lib/common/templates/sass/palettes/default +67 -0
  13. data/lib/common/templates/sass/{styles.scss → styles} +0 -0
  14. data/lib/common/templates/sass/{variables.scss → variables} +0 -0
  15. data/lib/jekyll/templates/404.md +6 -0
  16. data/lib/jekyll/templates/{_config.yml.eruby → _config.yml} +1 -1
  17. data/lib/jekyll/templates/_data/{libs.yml.eruby → libs.yml} +0 -0
  18. data/lib/jekyll/templates/{index.md.eruby → index.md} +0 -0
  19. data/lib/jekyll/templates/{post-run.eruby → post-run} +2 -2
  20. data/lib/sinatra/templates/{.rspec.eruby → .rspec} +0 -0
  21. data/lib/sinatra/templates/{Guardfile.eruby → Guardfile} +0 -0
  22. data/lib/sinatra/templates/{Procfile.eruby → Procfile} +0 -0
  23. data/lib/sinatra/templates/{Rakefile.eruby → Rakefile} +10 -4
  24. data/lib/sinatra/templates/config/config.yml +2 -0
  25. data/lib/sinatra/templates/{config.rb.eruby → config.rb} +0 -0
  26. data/lib/sinatra/templates/{config.ru.eruby → config.ru} +0 -0
  27. data/lib/sinatra/templates/lib/app/{helpers.rb.eruby → helpers.rb} +0 -0
  28. data/lib/sinatra/templates/lib/app/{racks.rb.eruby → racks.rb} +0 -0
  29. data/lib/sinatra/templates/lib/{app.rb.eruby → app.rb} +6 -0
  30. data/lib/sinatra/templates/{post-run.eruby → post-run} +3 -2
  31. data/lib/sinatra/templates/spec/app/{app_spec.rb.eruby → app_spec.rb} +0 -0
  32. data/lib/sinatra/templates/spec/app/{helpers_spec.rb.eruby → helpers_spec.rb} +0 -0
  33. data/lib/sinatra/templates/spec/javascripts/{app_spec.js.eruby → app_spec.js} +0 -0
  34. data/lib/sinatra/templates/spec/javascripts/support/{jasmine.yml.eruby → jasmine.yml} +0 -0
  35. data/lib/sinatra/templates/spec/javascripts/support/{jasmine_helper.rb.eruby → jasmine_helper.rb} +0 -0
  36. data/lib/sinatra/templates/spec/{spec_helper.rb.eruby → spec_helper.rb} +0 -0
  37. data/lib/sinatra/templates/views/includes/{css-libs.erb.eruby → css-libs.erb} +0 -0
  38. data/lib/sinatra/templates/views/includes/{fonts-libs.erb.eruby → fonts-libs.erb} +0 -0
  39. data/lib/sinatra/templates/views/includes/{github-corner.erb.eruby → github-corner.erb} +0 -0
  40. data/lib/sinatra/templates/views/includes/{js-libs.erb.eruby → js-libs.erb} +0 -0
  41. data/lib/sinatra/templates/views/{index.erb.eruby → index.erb} +0 -0
  42. data/lib/sinatra/templates/views/oops.erb +5 -0
  43. data/lib/skellington/cli.rb +1 -4
  44. data/lib/skellington/generator.rb +10 -6
  45. data/lib/skellington/template.rb +11 -14
  46. data/lib/skellington/version.rb +1 -1
  47. data/spec/hyphens_spec.rb +0 -3
  48. data/spec/jekyll/404_spec.rb +23 -0
  49. data/spec/jekyll/assets/static_spec.rb +14 -0
  50. data/spec/jekyll/bootstrap/css_spec.rb +13 -3
  51. data/spec/jekyll/bootstrap_4/bootstrap_4_spec.rb +11 -2
  52. data/spec/jekyll/cli_spec.rb +4 -2
  53. data/spec/jekyll/data/libs_spec.rb +1 -1
  54. data/spec/jekyll/git_spec.rb +1 -1
  55. data/spec/jekyll/{layout/index_md_spec.rb → index_md_spec.rb} +1 -1
  56. data/spec/jekyll/js/javascript_spec.rb +14 -0
  57. data/spec/jekyll/layout/layout_spec.rb +4 -4
  58. data/spec/jekyll/root_files/config_yml_spec.rb +2 -2
  59. data/spec/jekyll/root_files/gemfile_spec.rb +1 -1
  60. data/spec/jekyll/root_files/license_spec.rb +2 -2
  61. data/spec/jekyll/root_files/rbenv_spec.rb +1 -1
  62. data/spec/non_local_path_spec.rb +0 -13
  63. data/spec/sinatra/app/app_spec.rb +7 -1
  64. data/spec/sinatra/app/config_yml_spec.rb +2 -2
  65. data/spec/sinatra/app/helpers_spec.rb +1 -1
  66. data/spec/sinatra/app/public_spec.rb +1 -1
  67. data/spec/sinatra/app/racks_spec.rb +1 -1
  68. data/spec/sinatra/bootstrap/css_spec.rb +13 -3
  69. data/spec/sinatra/bootstrap_4/config_rb_bootstrap_4_spec.rb +1 -1
  70. data/spec/sinatra/bootstrap_4/gemfile_bootstrap_4_spec.rb +1 -1
  71. data/spec/sinatra/bootstrap_4/public_bootstrap_4_spec.rb +1 -1
  72. data/spec/sinatra/cli_spec.rb +7 -4
  73. data/spec/sinatra/git_spec.rb +1 -1
  74. data/spec/sinatra/javascript/javascript_spec.rb +1 -1
  75. data/spec/sinatra/layout/includes_spec.rb +4 -4
  76. data/spec/sinatra/layout/layout_spec.rb +4 -4
  77. data/spec/sinatra/layout/views_spec.rb +15 -1
  78. data/spec/sinatra/root_files/config_rb_spec.rb +1 -1
  79. data/spec/sinatra/root_files/config_ru_spec.rb +1 -1
  80. data/spec/sinatra/root_files/gemfile_spec.rb +1 -1
  81. data/spec/sinatra/root_files/guardfile_spec.rb +1 -1
  82. data/spec/sinatra/root_files/license_spec.rb +2 -2
  83. data/spec/sinatra/root_files/procfile_spec.rb +1 -1
  84. data/spec/sinatra/root_files/rakefile_spec.rb +11 -5
  85. data/spec/sinatra/root_files/rbenv_spec.rb +1 -1
  86. data/spec/sinatra/spec/spec_spec.rb +1 -1
  87. metadata +49 -43
  88. data/lib/common/templates/sass/colours.scss +0 -1
  89. data/lib/sinatra/templates/config/config.yml.eruby +0 -2
  90. data/lib/sinatra/templates/public/assets/favicon.ico.eruby +0 -0
  91. data/lib/sinatra/templates/public/css/styles.css.eruby +0 -0
  92. data/lib/sinatra/templates/public/js/app.js.eruby +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7fa8054ba525d6331053badd6a6bf85b67a4f227
4
- data.tar.gz: 72b3ac473d0c0610d1577d6d287bc51e307ba25e
3
+ metadata.gz: 6aad5990c93118d8b43591b5ebc788a0e747f71e
4
+ data.tar.gz: ec85c14f2c888ddf9e2d7fc78adcb7eeb4532e3b
5
5
  SHA512:
6
- metadata.gz: a413c46c080d78fee84e2dd1a39d792a8b39ff6aae437f5196ad06f8d5aaaa060d7ad272f704d512ad02007bcff83caf41a5f0c92347c1111ca036288450e676
7
- data.tar.gz: 02a80db9145cf3ee0f40eea2e251f7317f7caa29c9bcbb3f17d76540fb4db49f41b2792f8d4125cd8807b49b8651dbd7e8ebcd37bf6e99d0541172b930f5aa09
6
+ metadata.gz: 00b595a0fc9a5af1e5366cb5da30909ad2a3750c608cafdc005caa16ec493df87b9b4fc3d3e6c78153ba090730b98619d109bf1169462d0fa2c2614173032630
7
+ data.tar.gz: 0ebb4702c17878374a9fcb6bf9ca18d856621f19c9f735b751c413bd4286fe9a6c4af9353dc2dea466f57743bc0cbcadbc580cef7f0061abfa2858d2b8f2f270
data/config/config.yaml CHANGED
@@ -19,6 +19,13 @@ sinatra:
19
19
  pry:
20
20
  actionpack:
21
21
 
22
+ # for a $file in the list below, skellington looks for templates first in
23
+ # $framework/templates/$file, then in common/templates at the $common path
24
+ # if that's specified for $file, then at common/templates/$file. if it never
25
+ # gets a match, it creates an empty file at $file
26
+ #
27
+ # I will never be able to support a web framework called 'common'
28
+
22
29
  files:
23
30
  Gemfile:
24
31
  LICENSE.md:
@@ -28,7 +35,6 @@ sinatra:
28
35
  .ruby-version:
29
36
  .rspec:
30
37
  .gitignore:
31
- common: gitignore
32
38
  config.ru:
33
39
  config.rb:
34
40
  config/config.yml:
@@ -44,6 +50,7 @@ sinatra:
44
50
  views/layout.erb:
45
51
  common: views/layout
46
52
  views/index.erb:
53
+ views/oops.erb:
47
54
  views/includes/header.erb:
48
55
  common: includes/header
49
56
  views/includes/footer.erb:
@@ -65,19 +72,24 @@ sinatra:
65
72
  outpath: app/wormname
66
73
  public/assets/favicon.ico:
67
74
  public/css/styles.css:
75
+ common: css/styles
68
76
  public/js/app.js:
69
77
  outpath: app/wormname
78
+ common: js/app.js
70
79
  public/sass/_footer.scss:
71
- common: sass/footer.scss
80
+ common: sass/footer
72
81
  public/sass/_fonts.scss:
73
- common: sass/fonts.scss
82
+ common: sass/fonts
74
83
  public/sass/_github-corner.scss:
84
+ common: sass/github-corner
75
85
  public/sass/_variables.scss:
76
- common: sass/variables.scss
86
+ common: sass/variables
87
+ public/sass/palettes/_default.scss:
88
+ common: sass/palettes/default
77
89
  public/sass/_colours.scss:
78
- common: sass/colours.scss
90
+ common: sass/colours
79
91
  public/sass/styles.scss:
80
- common: sass/styles.scss
92
+ common: sass/styles
81
93
 
82
94
  jekyll:
83
95
  gems:
@@ -89,8 +101,8 @@ jekyll:
89
101
  Gemfile:
90
102
  _config.yml:
91
103
  .gitignore:
92
- common: gitignore
93
104
  index.md:
105
+ 404.md:
94
106
  _layouts/default.html:
95
107
  common: views/layout
96
108
  _includes/header.html:
@@ -100,15 +112,21 @@ jekyll:
100
112
  _includes/ie-cruft.html:
101
113
  common: includes/ie-cruft
102
114
  css/styles.scss:
103
- common: sass/styles.scss
115
+ common: sass/styles
104
116
  _sass/variables.scss:
105
- common: sass/variables.scss
117
+ common: sass/variables
106
118
  _sass/colours.scss:
107
- common: sass/colours.scss
119
+ common: sass/colours
120
+ _sass/palettes/default.scss:
121
+ common: sass/palettes/default
108
122
  _sass/fonts.scss:
109
- common: sass/fonts.scss
123
+ common: sass/fonts
110
124
  _sass/footer.scss:
111
- common: sass/footer.scss
125
+ common: sass/footer
126
+ assets/favicon.ico:
112
127
  LICENSE.md:
113
128
  .ruby-version:
114
129
  _data/libs.yml:
130
+ js/app.js:
131
+ outpath: app/wormname
132
+ common: js/app.js
File without changes
File without changes
@@ -31,7 +31,7 @@
31
31
 
32
32
  <link rel='icon' type='image/png' href='<%= prefix %>/assets/favicon.ico' />
33
33
  <link rel='stylesheet' href='<%= prefix %>/css/styles.css' />
34
- <script src='<%= prefix %>/js/dummy_app.js'></script>
34
+ <script src='<%= prefix %>/js/<%= @gen.wormname %>.js'></script>
35
35
  <title>
36
36
  <% case @gen.framework %>
37
37
  <% when 'sinatra' %>
@@ -0,0 +1,10 @@
1
+ @import 'palettes/default';
2
+
3
+ $brand-primary: $rgba-primary-0;
4
+ //$brand-complement: $rgba-complement-0;
5
+ //$brand-secondary-1: $rgba-secondary-1-0;
6
+ //$brand-secondary-2: $rgba-secondary-2-0;
7
+
8
+ $grey: rgb(127, 127, 127);
9
+ $light-grey: lighten($grey, 25%);
10
+ $dark-grey: darken($grey, 25%);
File without changes
File without changes
@@ -0,0 +1,67 @@
1
+ // drop a Sass export of a Paletton (http://paletton.com/) palette in here
2
+
3
+ // SASS style sheet */
4
+ // Palette color codes */
5
+ // Palette URL: http://paletton.com/#uid=75b100kw0w0jyC+oRxVy4oIDfjr */
6
+
7
+ // Feel free to copy&paste color codes to your application */
8
+
9
+
10
+ // As hex codes */
11
+
12
+ $color-primary-0: #CE0071; // Main Primary color */
13
+ $color-primary-1: #DA559E;
14
+ $color-primary-2: #D12F87;
15
+ $color-primary-3: #9F0057;
16
+ $color-primary-4: #7D0044;
17
+
18
+ $color-secondary-1-0: #FF7F00; // Main Secondary color (1) */
19
+ $color-secondary-1-1: #FFB163;
20
+ $color-secondary-1-2: #FF9B39;
21
+ $color-secondary-1-3: #C56200;
22
+ $color-secondary-1-4: #9B4D00;
23
+
24
+ $color-secondary-2-0: #04819E; // Main Secondary color (2) */
25
+ $color-secondary-2-1: #4AA2B6;
26
+ $color-secondary-2-2: #288CA4;
27
+ $color-secondary-2-3: #03637A;
28
+ $color-secondary-2-4: #024E60;
29
+
30
+ $color-complement-0: #9BED00; // Main Complement color */
31
+ $color-complement-1: #BFF25E;
32
+ $color-complement-2: #AFEE35;
33
+ $color-complement-3: #78B700;
34
+ $color-complement-4: #5E9000;
35
+
36
+
37
+
38
+ // As RGBa codes */
39
+
40
+ $rgba-primary-0: rgba(206, 0,113,1); // Main Primary color */
41
+ $rgba-primary-1: rgba(218, 85,158,1);
42
+ $rgba-primary-2: rgba(209, 47,135,1);
43
+ $rgba-primary-3: rgba(159, 0, 87,1);
44
+ $rgba-primary-4: rgba(125, 0, 68,1);
45
+
46
+ $rgba-secondary-1-0: rgba(255,127, 0,1); // Main Secondary color (1) */
47
+ $rgba-secondary-1-1: rgba(255,177, 99,1);
48
+ $rgba-secondary-1-2: rgba(255,155, 57,1);
49
+ $rgba-secondary-1-3: rgba(197, 98, 0,1);
50
+ $rgba-secondary-1-4: rgba(155, 77, 0,1);
51
+
52
+ $rgba-secondary-2-0: rgba( 4,129,158,1); // Main Secondary color (2) */
53
+ $rgba-secondary-2-1: rgba( 74,162,182,1);
54
+ $rgba-secondary-2-2: rgba( 40,140,164,1);
55
+ $rgba-secondary-2-3: rgba( 3, 99,122,1);
56
+ $rgba-secondary-2-4: rgba( 2, 78, 96,1);
57
+
58
+ $rgba-complement-0: rgba(155,237, 0,1); // Main Complement color */
59
+ $rgba-complement-1: rgba(191,242, 94,1);
60
+ $rgba-complement-2: rgba(175,238, 53,1);
61
+ $rgba-complement-3: rgba(120,183, 0,1);
62
+ $rgba-complement-4: rgba( 94,144, 0,1);
63
+
64
+
65
+
66
+ // Generated by Paletton.com © 2002-2014 */
67
+ // http://paletton.com */
File without changes
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: 404
3
+ permalink: /404.html
4
+ ---
5
+
6
+ # Nothing to see here
@@ -6,4 +6,4 @@ defaults:
6
6
  layout: default
7
7
  permalink: pretty
8
8
 
9
- baseurl: /<%= @gen.wormname %>
9
+ baseurl: /<%= @gen.originalname %>
File without changes
@@ -2,7 +2,7 @@
2
2
  Your new Jekyll site <%= @gen.camelname %> has been created
3
3
 
4
4
  <% if @gen.renamed %>
5
- (Note that '<%= @gen.filename %>' has been changed to '<%= @gen.wormname %>' because Ruby finds '-'s troubling)
5
+ (Note that '<%= @gen.originalname %>' has been changed to '<%= @gen.wormname %>' because Ruby finds '-'s troubling)
6
6
 
7
7
  <% end %>
8
8
  Now do
@@ -11,7 +11,7 @@ Now do
11
11
  bundle
12
12
  bundle exec jekyll serve
13
13
 
14
- which will launch the site (at http://localhost:4000/<%= @gen.wormname %>/)
14
+ which will launch the site (at http://localhost:4000/<%= @gen.originalname %>/)
15
15
 
16
16
  And presuming that works OK
17
17
 
File without changes
File without changes
@@ -12,8 +12,14 @@ unless ENV['RACK_ENV'] == 'production'
12
12
  task :default => [:spec, 'jasmine:ci', 'coveralls:push']
13
13
  end
14
14
 
15
- task :run do
16
- sh 'bundle exec compass clean'
17
- sh 'bundle exec compass watch . &'
18
- sh 'bundle exec rackup'
15
+ namespace :run do
16
+ desc 'start app'
17
+ task :app do
18
+ sh 'rackup -o 0.0.0.0'
19
+ end
20
+
21
+ desc 'clean-up and run compass'
22
+ task :sass do
23
+ sh 'compass clean && compass watch'
24
+ end
19
25
  end
@@ -0,0 +1,2 @@
1
+ #google-analytics-tag: UA-00000000-0
2
+ #github_url: https://github.com # also uncomment the `include` line in `styles.scss`
@@ -33,5 +33,11 @@ module <%= @gen.camelname %>
33
33
 
34
34
  # start the server if ruby file executed directly
35
35
  run! if app_file == $0
36
+
37
+ not_found do
38
+ status 404
39
+ @title = '404'
40
+ erb :oops
41
+ end
36
42
  end
37
43
  end
@@ -16,9 +16,10 @@ And presuming that passes OK
16
16
  git add .
17
17
  git commit -m 'First commit'
18
18
 
19
- Then try
19
+ Then try (in 2 different windows)
20
20
 
21
- bundle exec rake run
21
+ bundle exec rake run:sass
22
+ bundle exec rake run:app
22
23
 
23
24
  which will launch Compass and then run the app (at http://localhost:9292)
24
25
  <% unless @gen.licensor %>
@@ -0,0 +1,5 @@
1
+ <h1>404</h1>
2
+
3
+ <h2>Nothing to see here</h2>
4
+
5
+ <a href='/'>Home</a>
@@ -10,10 +10,7 @@ module Skellington
10
10
  method_option :framework,
11
11
  default: 'sinatra',
12
12
  description: 'Framework to generate for',
13
- enum: [
14
- 'sinatra',
15
- 'jekyll'
16
- ]
13
+ enum: ['sinatra', 'jekyll']
17
14
  method_option :bootstrap,
18
15
  default: '3',
19
16
  description: 'Bootstrap major version to use',
@@ -1,6 +1,13 @@
1
1
  module Skellington
2
2
  class Generator
3
- attr_reader :path, :filename, :camelname, :files, :gems, :framework, :bootstrap
3
+ attr_reader :path,
4
+ :filename,
5
+ :originalname,
6
+ :camelname,
7
+ :files,
8
+ :gems,
9
+ :framework,
10
+ :bootstrap
4
11
  attr_accessor :licensor
5
12
 
6
13
  def initialize path, options = {}
@@ -9,6 +16,7 @@ module Skellington
9
16
  @full_path = path
10
17
  @path = File.dirname @full_path
11
18
  @filename = File.basename(@full_path)
19
+ @originalname = @filename
12
20
  @camelname = Skellington.camelise(wormname)
13
21
  @gems = config[@framework]['gems']
14
22
  @files = config[@framework]['files']
@@ -46,10 +54,6 @@ module Skellington
46
54
 
47
55
  root = "#{self.path}/#{self.wormname}"
48
56
 
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"
52
-
53
57
  FileUtils.mkdir_p "#{root}/_sass"
54
58
  FileUtils.cp_r "#{Bootstrap.assets_path}/stylesheets/bootstrap", "#{root}/_sass"
55
59
  FileUtils.cp "#{Bootstrap.assets_path}/stylesheets/_bootstrap.scss", "#{root}/_sass/bootstrap.scss"
@@ -57,7 +61,7 @@ module Skellington
57
61
  end
58
62
 
59
63
  def wormname
60
- @filename.gsub('-', '_')
64
+ @wormname ||= @filename.gsub('-', '_')
61
65
  end
62
66
 
63
67
  def renamed
@@ -31,23 +31,20 @@ module Skellington
31
31
  puts 'done'
32
32
  end
33
33
 
34
- def to_s
35
- path = "#{templates_dir}/#{@name}.eruby"
36
- if @generator.files.dig(@name, 'common')
37
- path = "#{common_templates}/#{@generator.files[@name]['common']}"
34
+ def path
35
+ [
36
+ "#{templates_dir}/#{@name}",
37
+ "#{common_templates}/#{@generator.files.dig(@name, 'common')}",
38
+ "#{common_templates}/#{@name}"
39
+ ].each do |maybe_path|
40
+ return File.read(File.open(maybe_path)) if File.file? maybe_path
38
41
  end
39
42
 
40
- begin
41
- t = File.read(File.open(path))
43
+ ''
44
+ end
42
45
 
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
50
- Erubis::Eruby.new(t).evaluate(gen: @generator)
46
+ def to_s
47
+ Erubis::Eruby.new(path).evaluate(gen: @generator)
51
48
  end
52
49
  end
53
50
  end
@@ -1,3 +1,3 @@
1
1
  module Skellington
2
- VERSION = '0.8.3'
2
+ VERSION = '0.8.4'
3
3
  end
data/spec/hyphens_spec.rb CHANGED
@@ -25,9 +25,6 @@ And presuming that passes OK
25
25
  git add .
26
26
  git commit -m 'First commit'
27
27
 
28
- Then try
29
-
30
- bundle exec rake run
31
28
  /).to_stdout
32
29
 
33
30
  expect(File).to exist 'hyphenated_name/lib/hyphenated_name.rb'
@@ -0,0 +1,23 @@
1
+ module Skellington
2
+ describe CLI do
3
+ let :subject do
4
+ described_class.new
5
+ end
6
+
7
+ it 'has a 404 page' do
8
+ subject.options = { 'framework' => 'jekyll' }
9
+ subject.generate 'dummy-app'
10
+
11
+ expect('dummy_app/404.md').to have_content (
12
+ """
13
+ ---
14
+ title: 404
15
+ permalink: /404.html
16
+ ---
17
+
18
+ # Nothing to see here
19
+ """
20
+ )
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,14 @@
1
+ module Skellington
2
+ describe CLI do
3
+ let :subject do
4
+ described_class.new
5
+ end
6
+
7
+ it 'creates a favicon' do
8
+ subject.options = { 'framework' => 'jekyll' }
9
+ subject.generate 'dummy-app'
10
+
11
+ expect(File).to exist 'dummy_app/assets/favicon.ico'
12
+ end
13
+ end
14
+ end
@@ -6,7 +6,7 @@ module Skellington
6
6
 
7
7
  it 'installs bootstrap' do
8
8
  subject.options = { 'framework' => 'jekyll' }
9
- subject.generate 'dummy_app'
9
+ subject.generate 'dummy-app'
10
10
 
11
11
  expect('dummy_app/_sass/bootstrap.scss').to have_content (
12
12
  """
@@ -30,9 +30,19 @@ module Skellington
30
30
  """
31
31
  )
32
32
 
33
+ expect(File).to exist 'dummy_app/_sass/palettes/default.scss'
33
34
  expect('dummy_app/_sass/colours.scss').to have_content (
34
35
  """
35
- $brand-primary: rgba(250, 129, 0, 1);
36
+ @import 'palettes/default';
37
+
38
+ $brand-primary: $rgba-primary-0;
39
+ //$brand-complement: $rgba-complement-0;
40
+ //$brand-secondary-1: $rgba-secondary-1-0;
41
+ //$brand-secondary-2: $rgba-secondary-2-0;
42
+
43
+ $grey: rgb(127, 127, 127);
44
+ $light-grey: lighten($grey, 25%);
45
+ $dark-grey: darken($grey, 25%);
36
46
  """
37
47
  )
38
48
 
@@ -69,7 +79,7 @@ module Skellington
69
79
 
70
80
  it 'sets up sass' do
71
81
  subject.options = { 'framework' => 'jekyll' }
72
- subject.generate 'dummy_app'
82
+ subject.generate 'dummy-app'
73
83
 
74
84
  expect('dummy_app/css/styles.scss').to have_content (
75
85
  """
@@ -6,7 +6,7 @@ module Skellington
6
6
 
7
7
  it 'installs bootstrap 4' do
8
8
  subject.options = { 'framework' => 'jekyll', 'bootstrap' => 4 }
9
- subject.generate 'dummy_app'
9
+ subject.generate 'dummy-app'
10
10
 
11
11
  # expect(Dir).to exist 'dummy_app/javascripts/bootstrap'
12
12
  # expect('dummy_app/javascripts/bootstrap.min.js').to have_content (
@@ -32,7 +32,16 @@ module Skellington
32
32
  )
33
33
  expect('dummy_app/_sass/colours.scss').to have_content (
34
34
  """
35
- $brand-primary: rgba(250, 129, 0, 1);
35
+ @import 'palettes/default';
36
+
37
+ $brand-primary: $rgba-primary-0;
38
+ //$brand-complement: $rgba-complement-0;
39
+ //$brand-secondary-1: $rgba-secondary-1-0;
40
+ //$brand-secondary-2: $rgba-secondary-2-0;
41
+
42
+ $grey: rgb(127, 127, 127);
43
+ $light-grey: lighten($grey, 25%);
44
+ $dark-grey: darken($grey, 25%);
36
45
  """
37
46
  )
38
47
  expect('dummy_app/_sass/fonts.scss').to have_content (
@@ -6,16 +6,18 @@ module Skellington
6
6
 
7
7
  it 'generates correct output' do
8
8
  subject.options = { 'framework' => 'jekyll' }
9
- expect { subject.generate 'dummy_app' }.to output(/
9
+ expect { subject.generate 'dummy-app' }.to output(/
10
10
  Your new Jekyll site DummyApp has been created
11
11
 
12
+ \(Note that 'dummy-app' has been changed to 'dummy_app' because Ruby finds '-'s troubling\)
13
+
12
14
  Now do
13
15
 
14
16
  cd dummy_app
15
17
  bundle
16
18
  bundle exec jekyll serve
17
19
 
18
- which will launch the site \(at http:\/\/localhost:4000\/dummy_app\/\)
20
+ which will launch the site \(at http:\/\/localhost:4000\/dummy-app\/\)
19
21
 
20
22
  And presuming that works OK
21
23
 
@@ -6,7 +6,7 @@ module Skellington
6
6
 
7
7
  it 'creates a libs data file' do
8
8
  subject.options = { 'framework' => 'jekyll' }
9
- subject.generate 'dummy_app'
9
+ subject.generate 'dummy-app'
10
10
 
11
11
  expect(Dir).to exist 'dummy_app/_data'
12
12
  expect('dummy_app/_data/libs.yml').to have_content (
@@ -6,7 +6,7 @@ module Skellington
6
6
 
7
7
  it 'initialises a git repo' do
8
8
  subject.options = { 'framework' => 'jekyll' }
9
- subject.generate 'dummy_app'
9
+ subject.generate 'dummy-app'
10
10
  expect(Dir).to exist 'dummy_app/.git'
11
11
 
12
12
  expect('dummy_app/.gitignore').to have_content (
@@ -6,7 +6,7 @@ module Skellington
6
6
 
7
7
  it 'creates a default index page' do
8
8
  subject.options = { 'framework' => 'jekyll' }
9
- subject.generate 'dummy_app'
9
+ subject.generate 'dummy-app'
10
10
 
11
11
  expect('dummy_app/index.md').to have_content (
12
12
  """
@@ -0,0 +1,14 @@
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(File).to exist 'dummy_app/js/dummy_app.js'
12
+ end
13
+ end
14
+ end