coursegen 0.3.1 → 0.4.2

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/Gemfile.lock +50 -46
  4. data/coursegen.gemspec +2 -3
  5. data/deleteme.rb +2 -0
  6. data/lib/coursegen/cli.rb +5 -3
  7. data/lib/coursegen/course/data/citem.rb +26 -27
  8. data/lib/coursegen/course/data/data_adaptor.rb +5 -1
  9. data/lib/coursegen/course/data/lectures.rb +84 -72
  10. data/lib/coursegen/course/data/section.rb +53 -53
  11. data/lib/coursegen/course/data/section_def.rb +6 -6
  12. data/lib/coursegen/course/data/toc.rb +1 -2
  13. data/lib/coursegen/course/helpers/bootstrap_markup.rb +3 -2
  14. data/lib/coursegen/course/helpers/content_helpers.rb +121 -75
  15. data/lib/coursegen/course/helpers/ical_feed_helpers.rb +1 -1
  16. data/lib/coursegen/course/helpers/list_of.rb +12 -12
  17. data/lib/coursegen/course/helpers/list_of_helpers.rb +2 -2
  18. data/lib/coursegen/course/helpers/navigation_helpers.rb +35 -26
  19. data/lib/coursegen/course/helpers/sidebar_helpers.rb +12 -16
  20. data/lib/coursegen/course/lib/ical_adaptor.rb +3 -5
  21. data/lib/coursegen/course/lib/search_data_generator.rb +3 -4
  22. data/lib/coursegen/course/schedule/schedule_def.rb +12 -11
  23. data/lib/coursegen/course/schedule/schedule_feed.rb +3 -1
  24. data/lib/coursegen/course/schedule/scheduler.rb +20 -13
  25. data/lib/coursegen/version.rb +1 -1
  26. data/lib/coursegen.rb +10 -9
  27. data/spec/play_spec.rb +15 -19
  28. data/spec/scheduler_spec.rb +59 -63
  29. data/spec/spec_helper.rb +1 -1
  30. data/spec/toc_spec.rb +69 -71
  31. data/tech_debt.md +0 -3
  32. data/templates/Guardfile +2 -2
  33. data/templates/body_footer.html +8 -0
  34. data/templates/body_header.html.erb +6 -0
  35. data/templates/cg_config.rb +8 -7
  36. data/templates/content/bootstrap/css/custom.css +25 -8
  37. data/templates/content/content/intro/course_toc.md.erb +1 -1
  38. data/templates/course.html +59 -0
  39. data/templates/helpful_box.html +3 -0
  40. data/templates/layouts/body_header.html.erb +1 -1
  41. data/templates/layouts/course.html +3 -2
  42. data/templates/layouts/main_navbar.html.erb +1 -1
  43. data/templates/main_navbar.html.erb +21 -0
  44. metadata +22 -16
@@ -0,0 +1,59 @@
1
+ <!DOCTYPE HTML>
2
+ <html lang="en">
3
+ <head>
4
+ <title><%= @item[:title] %> - <%= COURSE_SHORT_NAME %></title>
5
+ <meta charset="utf-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+
8
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
9
+
10
+ <link rel="stylesheet" href="/bootstrap/css/custom.css">
11
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
12
+ <script src="/tipuesearch/tipuesearch_set.js"></script>
13
+ <script src="/tipuesearch/tipuesearch_content.js"></script>
14
+ <script src="/tipuesearch/tipuesearchmin.js"></script>
15
+
16
+ <!-- you don't need to keep this, but it's cool for stats! -->
17
+ <meta name="generator" content="nanoc <%= Nanoc::VERSION %>">
18
+ </head>
19
+ <body>
20
+
21
+ <% @citem = Toc.instance.n2c(@item) %>
22
+ <div class="themebg navbar navbar-inverse navbar-fixed-top">
23
+ <%= render "/main_navbar.*", toc: Toc.instance, item: item, citem: @citem %>
24
+ </div>
25
+ <div class="container">
26
+ <div class="row">
27
+ <div class="col-xs-12">
28
+ <%= render "/body_header.*", toc: Toc.instance, item: item, citem: @citem %>
29
+ </div>
30
+ </div>
31
+ <div class="row">
32
+ <div class="col-xs-9">
33
+ <%= yield %>
34
+ </div>
35
+ <div class="col-xs-3">
36
+ <div class="row well right-nav helpful" style="color: rgb(158, 48, 48);padding-top: 4px;padding-bottom: 4px;padding-left: 8px;padding-right: 8px;margin-bottom: 8px;">
37
+ <%= render "/helpful_box.*" %>
38
+ </div>
39
+ <div class="row well right-nav" style="padding: 5px;">
40
+ <ul>
41
+ <% SECTION_CONFIG.each do |sbb| %>
42
+ <%= section_helper(title: sbb.title, selector: sbb.selector) unless sbb.options[:hidden] %>
43
+ <% end %>
44
+ </ul>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ <%= render "/body_footer.*" %>
49
+ </div>
50
+ <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
51
+ <!-- Include all compiled plugins (below), or include individual files as needed -->
52
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
53
+ <script src="/bootstrap/js/custom.js"></script>
54
+ <script src="/chalkmark/chalkmark.js"></script>
55
+ <script> $(document).ready(function() {
56
+ $('#tipue_search_input').tipuesearch({'highlightEveryTerm': true, 'show': 8, 'showURL': false, 'descriptiveWords': 50});
57
+ });</script>
58
+ </body>
59
+ </html>
@@ -0,0 +1,3 @@
1
+ <div id="helpful" class="text-center">Was this helpful!?
2
+ <a id="yes-link">yes</a> / <a id="no-link">no</a>
3
+ </div>
@@ -1,6 +1,6 @@
1
1
  <h3>
2
2
  <%= citem.title %>
3
- <% if citem.is_lecture? %>
3
+ <% if citem.lecture? %>
4
4
  <small class="pull-right">(<%= citem.lecture_date_s %>, <%= citem.lecture_number_s.to_s %>)</small>
5
5
  <% end %>
6
6
  </h4>
@@ -5,7 +5,8 @@
5
5
  <meta charset="utf-8">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
7
 
8
- <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css">
8
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
9
+
9
10
  <link rel="stylesheet" href="/bootstrap/css/custom.css">
10
11
  <script src="https://code.jquery.com/jquery.js"></script>
11
12
  <script src="/tipuesearch/tipuesearch_set.js"></script>
@@ -48,7 +49,7 @@
48
49
  </div>
49
50
  <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
50
51
  <!-- Include all compiled plugins (below), or include individual files as needed -->
51
- <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
52
+ <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
52
53
  <script src="/bootstrap/js/custom.js"></script>
53
54
  <script src="/chalkmark/chalkmark.js"></script>
54
55
  <script> $(document).ready(function() {
@@ -4,7 +4,7 @@
4
4
  <a class="navbar-brand" href="/"><%= COURSE_SHORT_NAME %> - <%= COURSE_LONG_NAME %></a>
5
5
  </div>
6
6
  <div class="col-xs-2">
7
- <div class="btn-group">
7
+ <div class="btn-group btn-group-xs">
8
8
  <%if citem.section != "root" %>
9
9
  <%= link_to_prev toc, item %> <%= link_to_next toc, item %>
10
10
  <% end %>
@@ -0,0 +1,21 @@
1
+ <div class="container themebg">
2
+ <div class="row">
3
+ <div class="col-xs-7">
4
+ <a class="navbar-title" href="/"><%= COURSE_SHORT_NAME %> - <%= COURSE_LONG_NAME %></a>
5
+ </div>
6
+ <div class="col-xs-2">
7
+ <div class="btn-group">
8
+ <%if citem.section != "root" %>
9
+ <%= link_to_prev toc, item %> <%= link_to_next toc, item %>
10
+ <% end %>
11
+ </div>
12
+ </div>
13
+ <div class="col-xs-3">
14
+ <form role="form" class="form-inline" action="/tipuesearch_logic/search/index.html">
15
+ <div class="input-group input-group-sm">
16
+ <input type="text" class="form-control" placeholder="search..." name="q" id="tipue_search_input" autocomplete="off" required>
17
+ </div>
18
+ </form>
19
+ </div>
20
+ </div>
21
+ </div>
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.3.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pito Salas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-10 00:00:00.000000000 Z
11
+ date: 2017-08-25 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: 4.0.0rc2
47
+ version: '0'
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: 4.0.0rc2
54
+ version: '0'
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-byebug
98
+ name: nokogiri
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: nokogiri
112
+ name: activesupport
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -123,7 +123,7 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: activesupport
126
+ name: kramdown
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - ">="
@@ -137,7 +137,7 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: kramdown
140
+ name: adsf
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - ">="
@@ -151,7 +151,7 @@ dependencies:
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: adsf
154
+ name: guard
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
@@ -165,7 +165,7 @@ dependencies:
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
- name: guard
168
+ name: guard-shell
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - ">="
@@ -179,7 +179,7 @@ dependencies:
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
- name: guard-shell
182
+ name: tzinfo
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
@@ -193,7 +193,7 @@ dependencies:
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
- name: tzinfo
196
+ name: icalendar
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - ">="
@@ -207,7 +207,7 @@ dependencies:
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
- name: icalendar
210
+ name: byebug
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - ">="
@@ -236,6 +236,7 @@ files:
236
236
  - Rakefile
237
237
  - bin/cg
238
238
  - coursegen.gemspec
239
+ - deleteme.rb
239
240
  - lib/coursegen.rb
240
241
  - lib/coursegen/cli.rb
241
242
  - lib/coursegen/course/data/citem.rb
@@ -273,6 +274,8 @@ files:
273
274
  - templates/.gitignore
274
275
  - templates/Guardfile
275
276
  - templates/Rules
277
+ - templates/body_footer.html
278
+ - templates/body_header.html.erb
276
279
  - templates/cg_config.rb
277
280
  - templates/cg_config.rb_sample
278
281
  - templates/content/bootstrap/css/custom.css
@@ -297,13 +300,16 @@ files:
297
300
  - templates/content/tipuesearch/tipuesearchnomin.js
298
301
  - templates/content/tipuesearch_logic/search.md.erb
299
302
  - templates/content/tipuesearch_logic/tipuesearch_content.js.erb
303
+ - templates/course.html
300
304
  - templates/doc/readme.md
305
+ - templates/helpful_box.html
301
306
  - templates/layouts/body_footer.html
302
307
  - templates/layouts/body_header.html.erb
303
308
  - templates/layouts/course.html
304
309
  - templates/layouts/helpful_box.html
305
310
  - templates/layouts/main_navbar.html.erb
306
311
  - templates/lib/default.rb
312
+ - templates/main_navbar.html.erb
307
313
  homepage: ''
308
314
  licenses:
309
315
  - MIT
@@ -324,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
330
  version: '0'
325
331
  requirements: []
326
332
  rubyforge_project:
327
- rubygems_version: 2.4.5
333
+ rubygems_version: 2.6.11
328
334
  signing_key:
329
335
  specification_version: 4
330
336
  summary: Use Nanoc to build courses and deploy them to S3