coursegen 0.1.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +48 -32
  3. data/coursegen.gemspec +4 -3
  4. data/lib/coursegen/course/data/citem.rb +22 -6
  5. data/lib/coursegen/course/data/data_adaptor.rb +9 -1
  6. data/lib/coursegen/course/data/lectures.rb +14 -5
  7. data/lib/coursegen/course/data/section.rb +6 -5
  8. data/lib/coursegen/course/data/toc.rb +10 -8
  9. data/lib/coursegen/course/helpers/content_helpers.rb +4 -4
  10. data/lib/coursegen/course/helpers/ical_feed_helpers.rb +8 -0
  11. data/lib/coursegen/course/helpers/list_of.rb +4 -3
  12. data/lib/coursegen/course/helpers/navigation_helpers.rb +4 -3
  13. data/lib/coursegen/course/helpers/sidebar_helpers.rb +3 -2
  14. data/lib/coursegen/course/lib/helpers_.rb +1 -0
  15. data/lib/coursegen/course/lib/ical_adaptor.rb +34 -0
  16. data/lib/coursegen/course/lib/search_data_generator.rb +4 -4
  17. data/lib/coursegen/course/schedule/schedule_def.rb +5 -2
  18. data/lib/coursegen/course/schedule/schedule_feed.rb +30 -0
  19. data/lib/coursegen/course/schedule/scheduler.rb +22 -7
  20. data/lib/coursegen/templates.rb +2 -0
  21. data/lib/coursegen/version.rb +1 -1
  22. data/lib/coursegen.rb +4 -2
  23. data/spec/citem_spec.rb +3 -2
  24. data/spec/lectures_spec.rb +7 -7
  25. data/spec/play_spec.rb +23 -0
  26. data/spec/spec_helper.rb +7 -8
  27. data/templates/.gitignore +1 -2
  28. data/{Guardfile → templates/Guardfile} +3 -0
  29. data/templates/Rules +37 -37
  30. data/templates/cg_config.rb +18 -5
  31. data/templates/cg_config.rb_sample +5 -3
  32. data/templates/content/content/extras/extra_content.md.erb +4 -0
  33. data/templates/content/content/index.md.erb +7 -1
  34. data/templates/content/content/intro/course_toc.md.erb +4 -0
  35. data/templates/content/content/intro/welcome.md.erb +8 -0
  36. data/templates/content/content/lectures/part1/01_first_lecture.md.erb +4 -0
  37. data/templates/content/content/lectures/part1/02_here_we_go.md.erb +5 -0
  38. data/templates/content/content/lectures/part1/index.html +6 -0
  39. data/templates/content/content/lectures/part2/01_start_part2.md.erb +5 -0
  40. data/templates/content/content/lectures/part2/02_continue_part2.md.erb +5 -0
  41. data/templates/content/content/lectures/part2/index.html +6 -0
  42. data/templates/content/content/lectures/schedule.ical.erb +5 -0
  43. data/templates/content/tipuesearch_logic/search.md.erb +1 -1
  44. data/templates/layouts/course.html +6 -6
  45. metadata +51 -9
  46. data/lib/coursegen/course/lib/toc.rb +0 -154
@@ -13,6 +13,8 @@ module CourseGen
13
13
  copy_template_dir("lib", "lib")
14
14
  delete_target_file("Rules")
15
15
  copy_template_file("Rules", "Rules")
16
+ copy_template_file("Guardfile", "Guardfile")
17
+ copy_template_file(".gitignore", ".gitignore")
16
18
  copy_template_file("cg_config.rb", "cg_config.rb")
17
19
  copy_template_file("cg_config.rb_sample", "cg_config.rb_sample")
18
20
  delete_target_file("content/stylesheet.css")
@@ -1,3 +1,3 @@
1
1
  module Coursegen
2
- VERSION = "0.1.3"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/coursegen.rb CHANGED
@@ -12,15 +12,17 @@ require "coursegen/course/helpers/navigation_helpers"
12
12
  require "coursegen/course/data/section"
13
13
  require "coursegen/course/data/toc"
14
14
  require 'coursegen/course/data/citem'
15
- require 'coursegen/course/lib/helpers_'
16
15
  require 'coursegen/course/schedule/schedule_def'
17
16
  require 'coursegen/course/data/section_def'
18
17
  require 'coursegen/course/schedule/scheduler'
18
+ require 'coursegen/course/schedule/schedule_feed'
19
19
  require 'coursegen/course/data/lectures'
20
20
  require 'coursegen/course/lib/search_data_generator'
21
21
  require 'coursegen/course/data/data_adaptor'
22
+ require 'coursegen/course/lib/ical_adaptor'
22
23
  require 'coursegen/course/helpers/list_of'
23
-
24
+ require 'coursegen/course/helpers/ical_feed_helpers'
25
+ require 'coursegen/course/lib/helpers_'
24
26
 
25
27
  module Coursegen
26
28
  # Your code goes here...
data/spec/citem_spec.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require_relative "./spec_helper.rb"
2
- require 'pry'
3
2
 
4
3
  class NIMock
5
4
  attr_reader :identifier
@@ -29,6 +28,8 @@ describe "null Case" do
29
28
  it "works as expected" do
30
29
  expect(@ci.title).to eq("db_design")
31
30
  expect(@ci.section).to eq("lectures")
31
+ expect(@ci.short_name).to eq("db_design")
32
+ expect(@ci.subsection).to eq("/content/lectures/iter4/")
32
33
  expect(@ci.order).to eq(7)
33
34
  end
34
35
  end
@@ -39,7 +40,7 @@ describe "more complicated cases" do
39
40
  ['/content/intro/term_overview/', 7, "intro", "term_overview", "intro", 7, "/content/intro/"],
40
41
  ['/content/intro/001_term_overview/', nil, "intro", "term_overview", "intro", 1, "/content/intro/"],
41
42
  ['/content/lectures/iter2/02_db_design/', 7, "lectures", "db_design", "lectures", 7, "/content/lectures/iter2/"],
42
- ['/content/', 7, "lectures", "content", "lectures", 7, "//"],
43
+ ['/content/', 7, "lectures", "content", "lectures", 7, "//"],
43
44
  ]
44
45
 
45
46
  context "table driven cases" do
@@ -1,13 +1,13 @@
1
1
  require_relative "./spec_helper.rb"
2
2
  describe Lectures do
3
3
  before do
4
- mocks1_templates =
5
- [["/lectures/intro/wonders/", "subsection", 0],
6
- ["/lectures/intro/wonders/page2/", "page", 1],
7
- ["/lectures/intro/wonders/page3/", "page", 2],
8
- ["/lectures/intro/wonder2/", "subsection", 1],
9
- ["/lectures/intro/wonder2/page22/", "page", 1],
10
- ["/lectures/intro/wonder2/page32/", "page",2 ]
4
+ mocks1_templates =
5
+ [["/lectures/intro/wonders/index.html", "subsection", 0],
6
+ ["/lectures/intro/wonders/page2.md.erb", "page", 1],
7
+ ["/lectures/intro/wonders/page3.md.erb", "page", 2],
8
+ ["/lectures/intro/wonder2/index.html", "subsection", 1],
9
+ ["/lectures/intro/wonder2/page22.md.erb", "page", 1],
10
+ ["/lectures/intro/wonder2/page32.md.erb/", "page",2 ]
11
11
  ]
12
12
  @citems1 = mocks1_templates.map { |i, t, o| CItem.new(nil, i, t, o) }
13
13
  @sect = Lectures.new "intro", @citems1
data/spec/play_spec.rb ADDED
@@ -0,0 +1,23 @@
1
+ require_relative "./spec_helper.rb"
2
+ describe "Does it work?" do
3
+ before do
4
+ @abc = 1
5
+ mocks1_templates =
6
+ [["/lectures/intro/wonders/", "subsection", 0],
7
+ ["/lectures/intro/wonders/page2/", "page", 1],
8
+ ["/lectures/intro/wonders/page3/", "page", 2],
9
+ ["/lectures/intro/wonder2/", "subsection", 1],
10
+ ["/lectures/intro/wonder2/page22/", "page", 1],
11
+ ["/lectures/intro/wonder2/page32/", "page",2 ]
12
+ ]
13
+ binding.pry
14
+ @citems1 = mocks1_templates.map { |i, t, o| CItem.new(nil, i, t, o) }
15
+ @sect = Lectures.new "intro", @citems1
16
+ end
17
+
18
+
19
+ it "correctly counts subsections" do
20
+ binding.pry
21
+ expect (@abc).to eq 1
22
+ end
23
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  require 'rspec'
2
- require 'pry'
3
- require './lib/coursegen/course/lib/section'
4
- require './lib/coursegen/course/lib/toc'
5
- require './lib/coursegen/course/lib/lectures'
6
- require './lib/coursegen/course/lib/citem'
7
- require './lib/coursegen/course/lib/scheduler'
8
- require './lib/coursegen/course/lib/section_def'
2
+ require 'pry-byebug'
3
+ require './lib/coursegen/course/data/section'
4
+ require './lib/coursegen/course/data/toc'
5
+ require './lib/coursegen/course/data/lectures'
6
+ require './lib/coursegen/course/data/citem'
7
+ require './lib/coursegen/course/schedule/scheduler'
8
+ require './lib/coursegen/course/data/section_def'
9
9
 
10
10
  # This file was generated by the `rspec --init` command. Conventionally, all
11
11
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
@@ -14,7 +14,6 @@ require './lib/coursegen/course/lib/section_def'
14
14
  #
15
15
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
16
16
  RSpec.configure do |config|
17
- config.treat_symbols_as_metadata_keys_with_true_values = true
18
17
  #config.run_all_when_everything_filtered = true
19
18
  #config.filter_run :focus
20
19
 
data/templates/.gitignore CHANGED
@@ -1,3 +1,2 @@
1
1
  output/*
2
-
3
- tmp/*
2
+ tmp/*
@@ -2,5 +2,8 @@
2
2
  # watch(%r{file/path}) { `command(s)` }
3
3
  #
4
4
  guard :shell do
5
+ clearing :on
6
+ directories %w(. /mydev/cg-topics)
5
7
  watch(/.erb/) { |m| `cg compile` }
8
+ watch(/(cg_config.rb|Rules)/) { |m| `cg reset; cg compile`}
6
9
  end
data/templates/Rules CHANGED
@@ -1,54 +1,45 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # A few helpful tips about the Rules file:
4
- #
5
- # * The string given to #compile and #route are matching patterns for
6
- # identifiers--not for paths. Therefore, you can’t match on extension.
7
- #
8
- # * The order of rules is important: for each item, only the first matching
9
- # rule is applied.
10
- #
11
- # * Item identifiers start and end with a slash (e.g. “/about/” for the file
12
- # “content/about.html”). To select all children, grandchildren, … of an
13
- # item, use the pattern “/about/*/”; “/about/*” will also select the parent,
14
- # because “*” matches zero or more characters.
15
-
16
3
  require './cg_config.rb'
17
4
 
18
5
  preprocess do
19
6
  Toc.instance.prepare @items, SECTION_CONFIG
20
7
  end
21
8
 
22
- compile '/bootstrap/*' do
9
+ compile '/bootstrap/**/*' do
23
10
  nil
24
11
  end
25
12
 
26
- compile '/content/scripts/*' do
13
+ compile '/content/scripts/**/*' do
27
14
  nil
28
15
  end
29
16
 
30
- compile '/chalkmark/*' do
17
+ compile '/chalkmark/**/*' do
31
18
  nil
32
19
  end
33
20
 
34
- compile '/tipuesearch/*' do
21
+ compile '/tipuesearch/**/*' do
35
22
  nil
36
23
  end
37
24
 
38
- compile "/tipuesearch_logic/tipuesearch_content" do
25
+ compile "/tipuesearch_logic/tipuesearch_content.*" do
26
+ filter :erb
27
+ end
28
+
29
+ compile "/content/**/*.ical.erb" do
39
30
  filter :erb
40
31
  end
41
32
 
42
- compile '*' do
33
+ compile '/**/*' do
43
34
  if item.binary? || item[:status] == "hidden"
44
35
  nil
45
36
  elsif item[:status] == "hidden"
46
37
  nil
47
38
  elsif item[:type] == "subsection"
48
- nil
39
+ nil
49
40
  elsif item[:extension] == "haml"
50
41
  filter :haml;
51
- layout 'course'
42
+ layout '/course.*'
52
43
  else
53
44
  item[:extension].split('.').reverse.each do
54
45
  |f|
@@ -59,37 +50,47 @@ compile '*' do
59
50
  filter :erb
60
51
  end
61
52
  end
62
- layout 'course'
53
+ layout '/course.*'
63
54
  end
64
55
  end
65
56
 
66
- route '/bootstrap/*' do
67
- @item.identifier.chop + '.' + @item[:extension]
57
+ route '/bootstrap/**/*' do
58
+ @item.identifier.to_s
68
59
  end
69
60
 
70
- route '/tipuesearch/*' do
71
- @item.identifier.chop + '.' + @item[:extension]
61
+ route '/tipuesearch/**/*' do
62
+ @item.identifier.to_s
72
63
  end
73
64
 
74
- route "/tipuesearch_logic/tipuesearch_content/" do
65
+ route "/tipuesearch_logic/tipuesearch_content.*" do
75
66
  '/tipuesearch/tipuesearch_content.js'
76
67
  end
77
68
 
78
69
 
79
- route '/chalkmark/*' do
80
- @item.identifier.chop + '.' + @item[:extension]
70
+ route '/chalkmark/**/*' do
71
+ @item.identifier.to_s
72
+ end
73
+
74
+ # Output the search page
75
+ route '/tipuesearch_logic/search.md.erb' do
76
+ '/tipuesearch_logic/search/index.html'
77
+ end
78
+
79
+ route '/**/*.ical.erb' do
80
+ @item.identifier.without_ext
81
81
  end
82
82
 
83
- route '/content/' do
83
+
84
+ # Select which .md.erb becomes the home page of the site
85
+ route '/content/index.md.erb' do
84
86
  '/index.html'
85
87
  end
86
88
 
87
- route '*' do
89
+ route '/**/*' do
88
90
  if item[:extension].nil?
89
91
  raise RuntimeError, "Missing required extension: \".#{item.identifier}\""
90
92
  elsif item.binary?
91
- # Write item with identifier /foo/ to /foo.ext
92
- item.identifier.chop + '.' + item[:extension] rescue fail "in route * in Rules"
93
+ item.identifier.to_s
93
94
  elsif item.identifier == "/search_logic/tipuesearch_content/"
94
95
  item.identifier.chop + '.' + item[:extension] rescue fail "in route * in Rules"
95
96
  elsif item[:status] == "hidden"
@@ -97,10 +98,9 @@ route '*' do
97
98
  elsif item[:type] == "subsection"
98
99
  nil
99
100
  elsif item[:extension] != "css"
100
- # Write item with identifier /foo/ to /foo/index.html
101
- item.identifier + 'index.html'
101
+ item.identifier.without_ext + '/index.html'
102
+
102
103
  end
103
104
  end
104
105
 
105
- layout '*', :erb
106
-
106
+ layout '/**/*', :erb
@@ -4,12 +4,25 @@ require 'coursegen'
4
4
  COPYRIGHT_STRING = "Copyright (2013-2014) R. Pito Salas, pitosalas@gmail.com"
5
5
 
6
6
  # Course short name
7
- COURSE_SHORT_NAME = "Cosi 000"
8
- COURSE_LONG_NAME = "Not a course"
7
+ COURSE_SHORT_NAME = "Sample Course"
8
+ COURSE_LONG_NAME = "Sample Coursegen Course"
9
+ COURSE_ABBREV = "SC"
10
+
11
+ LECTURES_SCHEDULE_CONFIG = ScheduleDef.new(
12
+ first_day: "aug-11-2015",
13
+ weekdays: [:tuesday, :friday],
14
+ number: 26,
15
+ skips: [],
16
+ start_time: "15:00",
17
+ end_time: "16:20")
18
+
9
19
 
10
20
  # Sections in the right hand margin of the page
11
21
  SECTION_CONFIG = [
12
- SectionDef.new("Background", "background", type: :section),
13
- SectionDef.new("Hidden", "hidden", hidden: true, type: :section)
22
+ SectionDef.new("Intro", "intro", type: :section),
23
+ SectionDef.new("Lectures", "lectures", type: :lecture, schedule: LECTURES_SCHEDULE_CONFIG),
24
+ SectionDef.new("Extras", "extras", hidden: true, type: :section)
14
25
  ]
15
-
26
+ # Options are:
27
+ # bullet_style: css style for each bullet
28
+ STYLING_CONFIG = {bullet_style: "\"font-size: 60%; width: 10px; color: grey\""}
@@ -15,13 +15,13 @@ COURSE_LONG_NAME = "Software Engineering"
15
15
 
16
16
  # Schedule information. Note that Monday is day 0
17
17
  LECTURES_SCHEDULE_CONFIG = ScheduleDef.new(
18
- first_day: "jan-14-2014",
18
+ first_day: "jan-14-2014",
19
19
  weekdays: [:tuesday, :friday],
20
20
  number: 26,
21
21
  skips: ["feb-18-2014", "feb-21-2014", "apr-15-2014", "apr-18-2014", "apr-22-2014"])
22
22
 
23
23
  LABS_SCHEDULE_CONFIG = ScheduleDef.new(
24
- first_day: "jan-16-2014",
24
+ first_day: "jan-16-2014",
25
25
  weekdays: [:thursday],
26
26
  number: 13,
27
27
  skips: ["feb-20-2014", "apr-17-2014"])
@@ -39,4 +39,6 @@ SECTION_CONFIG = [
39
39
  SectionDef.new("Hidden", "hidden", hidden: true, type: :section)
40
40
  ]
41
41
 
42
-
42
+ # Options are:
43
+ # bullet_style: css style for each bullet
44
+ STYLING_CONFIG = {bullet_style: "\"font-size: 60%; width: 10px; color: grey\""}
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: Extra Content
3
+ ---
4
+ This page is in a hidden section and so will not be part of the resulting course.
@@ -1,4 +1,10 @@
1
1
  ---
2
2
  title: Welcome!
3
- section: background
3
+ section: extras
4
4
  ---
5
+ <div class="jumbotron">
6
+ <h2>Welcome to the Sample Course!</h2>
7
+ <p>This course is generated when you first install Coursegen. It uses all the features (almost) of the software, to allow you to see what is possible.</p>
8
+
9
+ <p>Pito Salas, pitosalas@brandeis.edu</p>
10
+ </div>
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: List of lectures
3
+ ---
4
+ <%= list_of(source: "lectures", rows: ["subsection","page"], cols: [:number, :date, :title, :desc, :homework]) %>
@@ -0,0 +1,8 @@
1
+ ---
2
+ title: Welcome to Sample Course
3
+ ---
4
+ ### Welcome!
5
+
6
+ This page is part of the sample course in Coursegen
7
+
8
+ Also it is used as the home page.
@@ -0,0 +1,4 @@
1
+ ---
2
+ title: First Lecture
3
+ ---
4
+ This page is part of a scheduled series of lectures. It turns out to be the first lecture in Part 1. In the sample course the lectures are in two groups, part1 and part2.
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Second Lecture - Here we go
3
+ ---
4
+ ### Continuing
5
+ This page is the second one in the first part. It is the second lecture of the Sample Course.
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: Part 1 of the Sample Course
3
+ type: subsection
4
+ collapsed: false
5
+ order: 1
6
+ ---
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Third Lecture - Launching Part 2
3
+ ---
4
+ ### Part 2 starts here
5
+ In the sample course, there are two sections or parts. This page is the first page of the second part.
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Fourth Lecture - Part2s second lecture
3
+ ---
4
+ ### Second lecture of part 2
5
+ This is actually the fourth lecture of the Sample course.
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: Part 2 of the Sample Course
3
+ type: subsection
4
+ collapsed: false
5
+ order: 2
6
+ ---
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Generates the ical feed for these lectures
3
+ section: extras
4
+ ---
5
+ <%= generate_ical "lectures" %>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Search Results
3
- section: hidden
3
+ section: extras
4
4
  ---
5
5
 
6
6
  > *note: for now, each search result includes the first several lines of the page, which may or may not include the occurences of the words you searched for. Don't let that make you think that the search didn't work. It's just that the results page can be improved (a lot)*
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <title><%= @item[:title] %> - <%= COURSE_SHORT_NAME %></title>
5
5
  <meta charset="utf-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
-
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+
8
8
  <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
9
9
  <link rel="stylesheet" href="/bootstrap/css/custom.css">
10
10
  <script src="https://code.jquery.com/jquery.js"></script>
@@ -19,12 +19,12 @@
19
19
 
20
20
  <% @citem = Toc.instance.n2c(@item) %>
21
21
  <div class="navbar navbar-inverse navbar-fixed-top">
22
- <%= render "main_navbar", toc: Toc.instance, item: item, citem: @citem %>
22
+ <%= render "/main_navbar.*", toc: Toc.instance, item: item, citem: @citem %>
23
23
  </div>
24
24
  <div class="container">
25
25
  <div class="row">
26
26
  <div class="col-xs-12">
27
- <%= render "body_header", toc: Toc.instance, item: item, citem: @citem %>
27
+ <%= render "/body_header.*", toc: Toc.instance, item: item, citem: @citem %>
28
28
  </div>
29
29
  </div>
30
30
  <div class="row">
@@ -33,7 +33,7 @@
33
33
  </div>
34
34
  <div class="col-xs-3">
35
35
  <div class="row well right-nav" style="color: rgb(158, 48, 48);padding-top: 4px;padding-bottom: 4px;padding-left: 8px;padding-right: 8px;margin-bottom: 8px;">
36
- <%= render "helpful_box" %>
36
+ <%= render "/helpful_box.*" %>
37
37
  </div>
38
38
  <div class="row well right-nav" style="padding: 5px;">
39
39
  <ul>
@@ -44,7 +44,7 @@
44
44
  </div>
45
45
  </div>
46
46
  </div>
47
- <%= render "body_footer" %>
47
+ <%= render "/body_footer.*" %>
48
48
  </div>
49
49
  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
50
50
  <!-- Include all compiled plugins (below), or include individual files as needed -->
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coursegen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pito Salas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-05 00:00:00.000000000 Z
11
+ date: 2016-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: nanoc
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 4.0.0rc2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 4.0.0rc2
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: thor
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry
98
+ name: pry-byebug
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -192,6 +192,34 @@ dependencies:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: tzinfo
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: icalendar
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
195
223
  description: Use Nanoc to build courses and deploy them to S3
196
224
  email:
197
225
  - pitosalas@gmail.com
@@ -203,7 +231,6 @@ files:
203
231
  - ".gitignore"
204
232
  - Gemfile
205
233
  - Gemfile.lock
206
- - Guardfile
207
234
  - LICENSE.txt
208
235
  - README.md
209
236
  - Rakefile
@@ -219,6 +246,7 @@ files:
219
246
  - lib/coursegen/course/data/toc.rb
220
247
  - lib/coursegen/course/helpers/bootstrap_markup.rb
221
248
  - lib/coursegen/course/helpers/content_helpers.rb
249
+ - lib/coursegen/course/helpers/ical_feed_helpers.rb
222
250
  - lib/coursegen/course/helpers/lecture_helpers.rb
223
251
  - lib/coursegen/course/helpers/list_of.rb
224
252
  - lib/coursegen/course/helpers/list_of_helpers.rb
@@ -227,20 +255,23 @@ files:
227
255
  - lib/coursegen/course/helpers/sidebar_helpers.rb
228
256
  - lib/coursegen/course/helpers/table_helpers.rb
229
257
  - lib/coursegen/course/lib/helpers_.rb
258
+ - lib/coursegen/course/lib/ical_adaptor.rb
230
259
  - lib/coursegen/course/lib/search_data_generator.rb
231
- - lib/coursegen/course/lib/toc.rb
232
260
  - lib/coursegen/course/schedule/schedule_def.rb
261
+ - lib/coursegen/course/schedule/schedule_feed.rb
233
262
  - lib/coursegen/course/schedule/scheduler.rb
234
263
  - lib/coursegen/templates.rb
235
264
  - lib/coursegen/version.rb
236
265
  - spec/citem_spec.rb
237
266
  - spec/lectures_spec.rb
267
+ - spec/play_spec.rb
238
268
  - spec/scheduler_spec.rb
239
269
  - spec/section_spec.rb
240
270
  - spec/spec_helper.rb
241
271
  - spec/toc_spec.rb
242
272
  - tech_debt.md
243
273
  - templates/.gitignore
274
+ - templates/Guardfile
244
275
  - templates/Rules
245
276
  - templates/cg_config.rb
246
277
  - templates/cg_config.rb_sample
@@ -248,7 +279,17 @@ files:
248
279
  - templates/content/bootstrap/fonts/glyphicons-halflings-regular.ttf
249
280
  - templates/content/bootstrap/js/custom.js
250
281
  - templates/content/chalkmark/chalkmark.js
282
+ - templates/content/content/extras/extra_content.md.erb
251
283
  - templates/content/content/index.md.erb
284
+ - templates/content/content/intro/course_toc.md.erb
285
+ - templates/content/content/intro/welcome.md.erb
286
+ - templates/content/content/lectures/part1/01_first_lecture.md.erb
287
+ - templates/content/content/lectures/part1/02_here_we_go.md.erb
288
+ - templates/content/content/lectures/part1/index.html
289
+ - templates/content/content/lectures/part2/01_start_part2.md.erb
290
+ - templates/content/content/lectures/part2/02_continue_part2.md.erb
291
+ - templates/content/content/lectures/part2/index.html
292
+ - templates/content/content/lectures/schedule.ical.erb
252
293
  - templates/content/tipuesearch/img/loader.gif
253
294
  - templates/content/tipuesearch/img/search.png
254
295
  - templates/content/tipuesearch/tipuesearch_set.js
@@ -290,6 +331,7 @@ summary: Use Nanoc to build courses and deploy them to S3
290
331
  test_files:
291
332
  - spec/citem_spec.rb
292
333
  - spec/lectures_spec.rb
334
+ - spec/play_spec.rb
293
335
  - spec/scheduler_spec.rb
294
336
  - spec/section_spec.rb
295
337
  - spec/spec_helper.rb