jekyll-theme-open-course 0.0.1 → 1.0.1
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/_config.yml +33 -2
- data/_data/utility.yml +1 -1
- data/_layouts/calendar.html +54 -18
- data/_layouts/default.html +52 -36
- data/_layouts/policies.html +17 -0
- data/_layouts/projects.html +71 -0
- data/assets/css/print.css +26 -24
- data/assets/css/screen.scss +12 -0
- data/assets/js/site.js +38 -0
- data/exe/jtoc +76 -0
- data/lib/jtoc.rb +177 -0
- data/lib/starter_files/_config.yml.erb +82 -0
- data/lib/starter_files/_data/calendar.yml.erb +6 -0
- data/lib/starter_files/_data/utility.yml +35 -0
- data/lib/starter_files/index.md.erb +5 -0
- data/lib/starter_files/syllabus/_policies/academic-integrity.md +3 -0
- data/lib/starter_files/syllabus/_policies/assignment-submission.md +3 -0
- data/lib/starter_files/syllabus/_policies/books.md +13 -0
- data/lib/starter_files/syllabus/_policies/description.md +3 -0
- data/lib/starter_files/syllabus/_policies/goals.md +3 -0
- data/lib/starter_files/syllabus/_policies/grading-criteria.md +3 -0
- data/lib/starter_files/syllabus/_policies/grading-policy.md +3 -0
- data/lib/starter_files/syllabus/_policies/late-work.md +3 -0
- data/lib/starter_files/syllabus/_policies/materials.md +13 -0
- data/lib/starter_files/syllabus/_policies/objectives.md +3 -0
- data/lib/starter_files/syllabus/_policies/outcomes.md +3 -0
- data/lib/starter_files/syllabus/_policies/participation.md +3 -0
- data/lib/starter_files/syllabus/_policies/special-needs.md +3 -0
- data/lib/starter_files/syllabus/_policies/technology-policy.md +3 -0
- data/lib/starter_files/syllabus/_projects/project-00.md.erb +23 -0
- data/lib/starter_files/syllabus/_weeks/week-00.md.erb +11 -0
- data/projects/index.md +1 -30
- metadata +31 -25
- data/_data/weeks/01.yml +0 -21
- data/_data/weeks/02.yml +0 -1
- data/_data/weeks/03.yml +0 -1
- data/_data/weeks/04.yml +0 -1
- data/_data/weeks/05.yml +0 -1
- data/_data/weeks/06.yml +0 -1
- data/_data/weeks/07.yml +0 -1
- data/_data/weeks/08.yml +0 -1
- data/_data/weeks/09.yml +0 -1
- data/_data/weeks/10.yml +0 -1
- data/_data/weeks/11.yml +0 -1
- data/_data/weeks/12.yml +0 -1
- data/_data/weeks/13.yml +0 -1
- data/_data/weeks/14.yml +0 -1
- data/_data/weeks/15.yml +0 -1
- data/_data/weeks/16.yml +0 -1
- data/_projects/project-01.md +0 -25
- data/_projects/project-02.md +0 -25
- data/_projects/project-03.md +0 -25
- data/assets/.keep +0 -0
- data/assets/css/screen.css +0 -408
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ee7859ed93d15688c53305eeace80e49bdd6ce3b9228915f87e6ebdf5c97ffb7
|
|
4
|
+
data.tar.gz: cffa0b043adf2bace48b4f1000bfd08445904f0435e0127a9364fd3db6a72172
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5b6c5e2d47909a8303b7877b2eca4538c33d470737561b1ee872b8bbe26a602637a5bc8acdc2a345e6e87599bfcea01ede52b250fb49410739fbc96486818a93
|
|
7
|
+
data.tar.gz: f020b4d1c8ceac52fd6dba769f163f2e1062bc03a90d69bd43b569eeb9ac38ed06ef2aae98caacd389aa530f40988712777e3dedbaeb125a7ba40daab9b92e90
|
data/Gemfile.lock
CHANGED
|
@@ -9,10 +9,10 @@ GEM
|
|
|
9
9
|
eventmachine (>= 0.12.9)
|
|
10
10
|
http_parser.rb (~> 0.6.0)
|
|
11
11
|
eventmachine (1.2.7)
|
|
12
|
-
ffi (1.11.
|
|
12
|
+
ffi (1.11.3)
|
|
13
13
|
forwardable-extended (2.6.0)
|
|
14
14
|
http_parser.rb (0.6.0)
|
|
15
|
-
i18n (1.
|
|
15
|
+
i18n (1.8.1)
|
|
16
16
|
concurrent-ruby (~> 1.0)
|
|
17
17
|
jekyll (4.0.0)
|
|
18
18
|
addressable (~> 2.4)
|
|
@@ -37,17 +37,17 @@ GEM
|
|
|
37
37
|
kramdown-parser-gfm (1.1.0)
|
|
38
38
|
kramdown (~> 2.0)
|
|
39
39
|
liquid (4.0.3)
|
|
40
|
-
listen (3.2.
|
|
40
|
+
listen (3.2.1)
|
|
41
41
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
|
42
42
|
rb-inotify (~> 0.9, >= 0.9.10)
|
|
43
43
|
mercenary (0.3.6)
|
|
44
44
|
pathutil (0.16.2)
|
|
45
45
|
forwardable-extended (~> 2.6)
|
|
46
|
-
public_suffix (4.0.
|
|
46
|
+
public_suffix (4.0.3)
|
|
47
47
|
rb-fsevent (0.10.3)
|
|
48
|
-
rb-inotify (0.10.
|
|
48
|
+
rb-inotify (0.10.1)
|
|
49
49
|
ffi (~> 1.0)
|
|
50
|
-
rouge (3.
|
|
50
|
+
rouge (3.14.0)
|
|
51
51
|
safe_yaml (1.0.5)
|
|
52
52
|
sassc (2.2.1)
|
|
53
53
|
ffi (~> 1.9)
|
data/_config.yml
CHANGED
|
@@ -10,6 +10,7 @@ course:
|
|
|
10
10
|
tagline: >
|
|
11
11
|
Online course covering theory and principles of editing through intensive applied practice.
|
|
12
12
|
term: Spring 2020
|
|
13
|
+
# Set `days: ""` (empty string) for weekly/asynchronous classes
|
|
13
14
|
days:
|
|
14
15
|
- Monday
|
|
15
16
|
- Wednesday
|
|
@@ -28,9 +29,38 @@ course:
|
|
|
28
29
|
Office hours via Basecamp Chat or Pings on Tuesdays, 4pm to 5pm, or by appointment or chance.
|
|
29
30
|
I’m always signed into Basecamp and closely monitor my notifications. Message or email any
|
|
30
31
|
time—I make students a priority, and I will repond as soon as I am able.
|
|
32
|
+
navigation:
|
|
33
|
+
- label: Calendar
|
|
34
|
+
href: "#this-week"
|
|
35
|
+
id: cal
|
|
36
|
+
- label: Projects
|
|
37
|
+
href: "projects/#current"
|
|
38
|
+
id: pro
|
|
39
|
+
- label: Policies
|
|
40
|
+
href: "policies/"
|
|
41
|
+
id: pol
|
|
42
|
+
|
|
43
|
+
collections_dir: syllabus
|
|
31
44
|
|
|
32
45
|
collections:
|
|
33
|
-
|
|
46
|
+
weeks:
|
|
47
|
+
projects:
|
|
48
|
+
policies:
|
|
49
|
+
order:
|
|
50
|
+
- description.md
|
|
51
|
+
- goals.md
|
|
52
|
+
- outcomes.md
|
|
53
|
+
- objectives.md
|
|
54
|
+
- books.md
|
|
55
|
+
- materials.md
|
|
56
|
+
- special-needs.md
|
|
57
|
+
- participation.md
|
|
58
|
+
- assignment-submission.md
|
|
59
|
+
- late-work.md
|
|
60
|
+
- grading-policy.md
|
|
61
|
+
- grading-criteria.md
|
|
62
|
+
- technology-policy.md
|
|
63
|
+
- academic-integrity.md
|
|
34
64
|
|
|
35
65
|
defaults:
|
|
36
66
|
-
|
|
@@ -44,6 +74,7 @@ highlighter: using_prism_thanks
|
|
|
44
74
|
exclude:
|
|
45
75
|
- backstop_data
|
|
46
76
|
- backstop.json
|
|
77
|
+
- exe
|
|
78
|
+
- lib
|
|
47
79
|
- Rakefile
|
|
48
|
-
- "Gemfile*"
|
|
49
80
|
- "*.gemspec"
|
data/_data/utility.yml
CHANGED
data/_layouts/calendar.html
CHANGED
|
@@ -2,32 +2,40 @@
|
|
|
2
2
|
layout: default
|
|
3
3
|
---
|
|
4
4
|
{% assign util = site.data.utility %}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
{% assign projects = site.projects %}
|
|
6
|
+
|
|
7
|
+
{% assign current = true %}
|
|
8
|
+
|
|
9
9
|
{% for entry in site.data.calendar %}
|
|
10
10
|
{% assign week_int = forloop.index | times: 1 %}
|
|
11
|
-
{% capture
|
|
12
|
-
{% assign week = site.
|
|
11
|
+
{% capture week_num %}{% if week_int < 10 %}0{% endif %}{{ week_int }}{% endcapture %}
|
|
12
|
+
{% assign week = site.weeks[forloop.index0] %}
|
|
13
|
+
{% assign today = "today" | date: "%s" %}
|
|
14
|
+
{% assign expiry = entry.expires | date: "%s" %}
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
<!-- past dates? -->
|
|
17
|
+
<article class="week{% if current == true %} past{% endif %}" id="week-{{ week_num }}" data-week="{{ entry.begins | date: '%U' }}" data-expires="{{ entry.expires }}">
|
|
18
|
+
{% if today < expiry and current == true %}
|
|
19
|
+
<header id="this-week">
|
|
20
|
+
{% assign current = false %}
|
|
21
|
+
{% else %}
|
|
22
|
+
<header>
|
|
23
|
+
{% endif %}
|
|
24
|
+
<h2>
|
|
17
25
|
{{ week.theme | escape }}
|
|
18
|
-
</
|
|
19
|
-
<small>Week {{ util.spelled_nums[
|
|
26
|
+
</h2>
|
|
27
|
+
<small>Week {{ util.spelled_nums[week_int] }}</small>
|
|
20
28
|
</header>
|
|
21
29
|
{% for meeting in week.meetings %}
|
|
22
30
|
<section class="agenda">
|
|
23
|
-
{% if site.course.days %}
|
|
31
|
+
{% if site.course.days.size > 0 %}
|
|
24
32
|
{% assign day_key = site.course.days[forloop.index0] | downcase %}
|
|
25
33
|
{% assign day_offset = site.data.utility.day_offsets[day_key] | times: 1 %}
|
|
26
|
-
{% capture dateline %}{{ entry.begins | date: "%s" | plus: day_offset | date: "%A, %B
|
|
34
|
+
{% capture dateline %}{{ entry.begins | date: "%s" | plus: day_offset | date: "%A, %B %-e" }}{% endcapture %}
|
|
27
35
|
{% else %}
|
|
28
|
-
{% capture dateline %}
|
|
36
|
+
{% capture dateline %}Agenda for the Week of {{ entry.begins | date: "%B %-e" }}{% endcapture %}
|
|
29
37
|
{% endif %}
|
|
30
|
-
<
|
|
38
|
+
<h3>{{ dateline }}{% if meeting.video %} <a href="{{ meeting.video }}">Video</a>{% endif %}</h3>
|
|
31
39
|
<ol>
|
|
32
40
|
{% for item in meeting.agenda %}
|
|
33
41
|
<li>{{ item | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
|
|
@@ -35,10 +43,11 @@ layout: default
|
|
|
35
43
|
</ol>
|
|
36
44
|
</section>
|
|
37
45
|
{% endfor %}
|
|
38
|
-
|
|
46
|
+
{% if week.readings or week.tasks %}
|
|
39
47
|
<aside class="assigned">
|
|
40
48
|
<header>
|
|
41
49
|
<h3>Assigned Work</h3>
|
|
50
|
+
<small>Due {{ entry.expires | date: "%A, %B %-e" }}</small>
|
|
42
51
|
</header>
|
|
43
52
|
{% if week.readings %}
|
|
44
53
|
<section class="readings">
|
|
@@ -60,8 +69,35 @@ layout: default
|
|
|
60
69
|
</ol>
|
|
61
70
|
</section>
|
|
62
71
|
{% endif %}
|
|
72
|
+
|
|
73
|
+
{% assign be = entry.begins | date: "%s" %}
|
|
74
|
+
{% assign ex = entry.expires | date: "%s" %}
|
|
75
|
+
{% assign deliverables_li = "" %}
|
|
76
|
+
|
|
77
|
+
{%- capture deliverables_li -%}
|
|
78
|
+
{%- for project in projects -%}
|
|
79
|
+
{%- assign proj_int = forloop.index | times: 1 -%}
|
|
80
|
+
{%- capture proj_num -%}{%- if proj_int < 10 -%}0{%- endif -%}{{ proj_int }}{%- endcapture -%}
|
|
81
|
+
{%- for deliverable in project.deliverables -%}
|
|
82
|
+
{%- assign dl = deliverable.deadline | date: "%s" -%}
|
|
83
|
+
{%- if dl >= be and dl <= ex -%}
|
|
84
|
+
<li class="deadline">Project {{ util.spelled_nums[proj_int] }}: {{ deliverable.action }} (Due by {{ deliverable.deadline | date: "%A, %B %-e" }})</li>
|
|
85
|
+
{%- endif -%}
|
|
86
|
+
{%- endfor -%}
|
|
87
|
+
{%- endfor -%}
|
|
88
|
+
{%- endcapture -%}
|
|
89
|
+
|
|
90
|
+
{% if deliverables_li.size > 1 %}
|
|
91
|
+
<!-- {{ deliverables_li.size }} -->
|
|
92
|
+
<section class="deadlines">
|
|
93
|
+
<h4>Project Deadlines</h4>
|
|
94
|
+
<ol>
|
|
95
|
+
{{ deliverables_li }}
|
|
96
|
+
</ol>
|
|
97
|
+
</section>
|
|
98
|
+
{% endif %}
|
|
99
|
+
|
|
63
100
|
</aside>
|
|
101
|
+
{% endif %}
|
|
64
102
|
</article>
|
|
65
103
|
{% endfor %}
|
|
66
|
-
|
|
67
|
-
</section>
|
data/_layouts/default.html
CHANGED
|
@@ -4,67 +4,83 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<title>{{ course.number }}: {% if page.title %}{{ page.title}}{% else %}{{ course.title }}{% endif %}</title>
|
|
6
6
|
<meta name="viewport" content="width=device-width,initial-scale=1.0,shrink-to-fit=no" />
|
|
7
|
-
<link rel="stylesheet" href="{{ site.baseurl }}assets/css/screen.css" />
|
|
7
|
+
<link rel="stylesheet" href="{{ site.baseurl }}assets/css/screen.css" media="all"/>
|
|
8
8
|
<link rel="stylesheet" href="{{ site.baseurl }}assets/css/print.css" media="print" />
|
|
9
9
|
<!-- Open Graph -->
|
|
10
10
|
<meta property="og:url" content="{{ site.url }}{{ site.baseurl }}" />
|
|
11
11
|
<meta property="og:title" content="{{ course.number }}: {{ course.title }}" />
|
|
12
12
|
<meta property="og:description" content="{{ course.tagline | strip_newlines }}" />
|
|
13
|
-
<meta property="og:image" content="{{ site.url }}{{ site.baseurl }}
|
|
13
|
+
<meta property="og:image" content="{{ site.url }}{{ site.baseurl }}{{ course.uid }}.png" />
|
|
14
14
|
<meta property="og:image:type" content="image/png" />
|
|
15
15
|
<meta property="og:type" content="website" />
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<header id="header">
|
|
19
|
-
<
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
</a>
|
|
19
|
+
<h1>
|
|
20
|
+
<a rel="home" href="{{ site.url }}{{ site.baseurl }}">{{ course.title}}</a>
|
|
21
|
+
</h1>
|
|
23
22
|
<p class="tagline">
|
|
24
23
|
{% if course.tagline %}{{ course.tagline }}{% endif %}
|
|
25
24
|
Taught by <a href="#instructor">{{ instructor.title }} {{ instructor.name }}</a>,
|
|
26
25
|
{{ course.term }}.
|
|
27
26
|
</p>
|
|
28
|
-
<nav id="
|
|
27
|
+
<nav id="quick-nav">
|
|
29
28
|
<ul class="nav">
|
|
30
|
-
<li id="nav-
|
|
31
|
-
<li id="nav-
|
|
32
|
-
<li id="nav-dem"><a href="https://github.com/itmd-362-2019">Demos</a></li>
|
|
33
|
-
<li id="nav-lnk"><a href="{{ site.baseurl }}#links">Links</a></li>
|
|
34
|
-
<li id="nav-pro"><a href="{{ site.baseurl }}projects/#current">Projects</a></li>
|
|
35
|
-
<li id="nav-pol"><a href="{{ site.baseurl }}policies/">Policies</a></li>
|
|
29
|
+
<li id="nav-con"><a href="#content"><span class="access">Jump to</span> {{ page.title }}</a></li>
|
|
30
|
+
<li id="nav-nav"><a href="#full-nav"><span class="access">Jump to</span> Menu</a></li>
|
|
36
31
|
</ul>
|
|
37
32
|
</nav>
|
|
38
33
|
</header>
|
|
39
34
|
<main id="content">
|
|
40
|
-
|
|
41
35
|
{{ content }}
|
|
42
|
-
|
|
43
36
|
</main>
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
<header>
|
|
47
|
-
<h3>Instructor</h3>
|
|
48
|
-
</header>
|
|
49
|
-
<ul>
|
|
50
|
-
<li>
|
|
51
|
-
<a href="{{ instructor.url }}">{{ instructor.honorific }} {{ instructor.name }}</a>,
|
|
52
|
-
{{ site.course.instructor.full_title | escape }}
|
|
53
|
-
</li>
|
|
54
|
-
<li><a href="mailto:{{ instructor.email }}">{{ instructor.email }}</a></li>
|
|
55
|
-
<li id="office-hours">
|
|
56
|
-
{{ instructor.office_hours }}
|
|
57
|
-
</li>
|
|
58
|
-
</ul>
|
|
59
|
-
</aside>
|
|
38
|
+
|
|
60
39
|
|
|
61
40
|
<footer id="footer">
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<
|
|
67
|
-
|
|
41
|
+
<section id="instructor">
|
|
42
|
+
<header>
|
|
43
|
+
<h3>Instructor</h3>
|
|
44
|
+
</header>
|
|
45
|
+
<ul>
|
|
46
|
+
<li>
|
|
47
|
+
<a href="{{ instructor.url }}">{{ instructor.honorific }} {{ instructor.name }}</a>,
|
|
48
|
+
{{ site.course.instructor.full_title | escape }}
|
|
49
|
+
</li>
|
|
50
|
+
<li><a href="mailto:{{ instructor.email }}">{{ instructor.email }}</a></li>
|
|
51
|
+
<li id="office-hours">
|
|
52
|
+
{{ instructor.office_hours }}
|
|
53
|
+
</li>
|
|
54
|
+
</ul>
|
|
55
|
+
</section>
|
|
56
|
+
<nav id="full-nav">
|
|
57
|
+
<header>
|
|
58
|
+
<h3>Navigation</h3>
|
|
59
|
+
</header>
|
|
60
|
+
<ul class="nav">
|
|
61
|
+
{% for nav in course.navigation %}
|
|
62
|
+
{% assign protocol = nav.href | slice: 0, 4 %}
|
|
63
|
+
{% if protocol == 'http' %}
|
|
64
|
+
{% assign fullhref = nav.href %}
|
|
65
|
+
{% else %}
|
|
66
|
+
{% capture fullhref %}{{ site.baseurl }}{{ nav.href }}{% endcapture %}
|
|
67
|
+
{% endif %}
|
|
68
|
+
<li id="nav-{{ nav.id }}"><a href="{{ fullhref }}">{{ nav.label }}</a></li>
|
|
69
|
+
{% endfor %}
|
|
70
|
+
</ul>
|
|
71
|
+
</nav>
|
|
72
|
+
<section id="colophon">
|
|
73
|
+
<header>
|
|
74
|
+
<h3>Colophon</h3>
|
|
75
|
+
</header>
|
|
76
|
+
<p class="fineprint">
|
|
77
|
+
Course syllabus by <a href="{{ instructor.url }}">{{ instructor.name }}</a>.
|
|
78
|
+
Licensed under
|
|
79
|
+
<a href="{{ course.license.url }}" rel="license">{{ course.license.name }}</a>.
|
|
80
|
+
<a id="github" href="{{ instructor.github }}{{ course.uid }}">Source hosted on GitHub</a>.
|
|
81
|
+
</p>
|
|
82
|
+
</section>
|
|
68
83
|
</footer>
|
|
84
|
+
<script src="{{ site.baseurl }}assets/js/site.js"></script>
|
|
69
85
|
</body>
|
|
70
86
|
</html>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
{% for policy in site.policies %}
|
|
7
|
+
{% if policy.content.size > 1 %}
|
|
8
|
+
{% assign filename = policy.path | split: "/" %}
|
|
9
|
+
{% assign slug = filename[1] | remove: ".md" %}
|
|
10
|
+
<article class="policy" id="{{ slug }}">
|
|
11
|
+
<header>
|
|
12
|
+
<h2>{{ policy.title }}</h2>
|
|
13
|
+
</header>
|
|
14
|
+
{{ policy.content }}
|
|
15
|
+
</article>
|
|
16
|
+
{% endif %}
|
|
17
|
+
{% endfor %}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
{% assign current = true %}
|
|
6
|
+
{% assign today = "today" | date: "%s" %}
|
|
7
|
+
|
|
8
|
+
{% for project in site.projects %}
|
|
9
|
+
{% assign dd = project.due_date | date: "%s" %}
|
|
10
|
+
|
|
11
|
+
<article class="project" id="project-{{ site.data.utility.spelled_nums[forloop.index] | downcase }}">
|
|
12
|
+
{% if today < dd and current == true %}
|
|
13
|
+
<header id="current">
|
|
14
|
+
{% assign current = false %}
|
|
15
|
+
{% else %}
|
|
16
|
+
<header>
|
|
17
|
+
{% endif %}
|
|
18
|
+
<h2>Project {{ site.data.utility.spelled_nums[forloop.index] }}: {{ project.title }}</h2>
|
|
19
|
+
<small>Due by {{ project.due_date | date: "%A, %B %-e, %Y"}}</small>
|
|
20
|
+
</header>
|
|
21
|
+
|
|
22
|
+
<section class="description">
|
|
23
|
+
<h3>Project Description</h3>
|
|
24
|
+
{{ project.content }}
|
|
25
|
+
</section>
|
|
26
|
+
|
|
27
|
+
{% unless project.preview %}
|
|
28
|
+
{% if project.goals %}
|
|
29
|
+
<section class="goals">
|
|
30
|
+
<h3>Project Goals</h3>
|
|
31
|
+
<ul>
|
|
32
|
+
{% for goal in project.goals %}
|
|
33
|
+
<li>{{ goal | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
|
|
34
|
+
{% endfor %}
|
|
35
|
+
</ul>
|
|
36
|
+
</section>
|
|
37
|
+
{% endif %}
|
|
38
|
+
{% if project.deliverables %}
|
|
39
|
+
<section class="deliverables">
|
|
40
|
+
<h3>Deliverables and Deadlines</h3>
|
|
41
|
+
<ol>
|
|
42
|
+
{% for deliverable in project.deliverables %}
|
|
43
|
+
<li>
|
|
44
|
+
{% if deliverable.deadline %}Due by <b>{{ deliverable.deadline | date: "%A, %B %-e"}}</b>: {% endif %}
|
|
45
|
+
{{ deliverable.action | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}
|
|
46
|
+
{{ deliverable.description | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}
|
|
47
|
+
{% if deliverable.details %}
|
|
48
|
+
<ul>
|
|
49
|
+
{% for detail in deliverable.details %}
|
|
50
|
+
<li> {{ detail | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
|
|
51
|
+
{% endfor %}
|
|
52
|
+
</ul>
|
|
53
|
+
{% endif %}
|
|
54
|
+
</li>
|
|
55
|
+
{% endfor %}
|
|
56
|
+
</ol>
|
|
57
|
+
</section>
|
|
58
|
+
{% endif %}
|
|
59
|
+
{% if project.requirements %}
|
|
60
|
+
<section class="requirements">
|
|
61
|
+
<h3>Project Requirements</h3>
|
|
62
|
+
<ol>
|
|
63
|
+
{% for requirement in project.requirements %}
|
|
64
|
+
<li>{{ requirement | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
|
|
65
|
+
{% endfor %}
|
|
66
|
+
</ol>
|
|
67
|
+
</section>
|
|
68
|
+
{% endif %}
|
|
69
|
+
{% endunless %}
|
|
70
|
+
</article>
|
|
71
|
+
{% endfor %}
|
data/assets/css/print.css
CHANGED
|
@@ -1,31 +1,33 @@
|
|
|
1
|
-
#navigation,
|
|
2
|
-
#this-week,
|
|
3
|
-
#links,
|
|
4
|
-
.fineprint + .fineprint,
|
|
5
|
-
.week h4 a {
|
|
6
|
-
display: none;
|
|
7
|
-
}
|
|
8
1
|
#header,
|
|
9
|
-
#this-week,
|
|
10
|
-
#content,
|
|
11
|
-
#links,
|
|
12
|
-
#instructor,
|
|
13
2
|
#footer {
|
|
14
|
-
|
|
15
|
-
padding-left: 0.3in;
|
|
3
|
+
color: inherit;
|
|
16
4
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
color: #000;
|
|
22
|
-
font-size: 11pt;
|
|
5
|
+
a,
|
|
6
|
+
#header a {
|
|
7
|
+
text-decoration: none;
|
|
8
|
+
color: inherit;
|
|
23
9
|
}
|
|
24
|
-
a {
|
|
25
|
-
|
|
10
|
+
#content a[href^="http"]::after {
|
|
11
|
+
display: inline;
|
|
12
|
+
content: "(" attr(href) ")";
|
|
13
|
+
font-family: Menlo, Monaco, "Droid Sans Mono", Courier, "Courier New", monospace;
|
|
14
|
+
font-size: 0.85em;
|
|
15
|
+
color: #CCC;
|
|
26
16
|
text-decoration: none;
|
|
27
17
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
p,li {
|
|
19
|
+
-webkit-hyphens: none;
|
|
20
|
+
hyphens: none;
|
|
21
|
+
}
|
|
22
|
+
h2 {
|
|
23
|
+
font-family: "moderno-fb-condensed";
|
|
24
|
+
font-weight: 700;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
/* Hide Navigation Stuff */
|
|
29
|
+
|
|
30
|
+
#nav-nav,
|
|
31
|
+
#full-nav {
|
|
32
|
+
display: none;
|
|
31
33
|
}
|