jekyll-theme-open-course 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 672c950af298f4e6ab72231c18f1fca8517725da814c8727dbae09ab5d67d0e8
4
+ data.tar.gz: 016b8cc97015cf4d2a4a757b95ff20a5cb1dd3cbdf61d398689f9ff332eb5ce4
5
+ SHA512:
6
+ metadata.gz: 65f66f4ba3336d9bf076cbb46a3c579d9dfd037421222f2e13c9f8ccbdf2d647203d131c50b7306fa81d10ee1044d872974484b9b16d4eb3b79ba5aef58e9eaf
7
+ data.tar.gz: 7bb49fb79f4877ae2d82330a43f5e9a0d7fda44243928af6a6998803bcf3e8e5d97854e29c243a175f08c0e6a13bea82049a4062e8bfd1c40653bd335db99ae5
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'jekyll'
data/Gemfile.lock ADDED
@@ -0,0 +1,65 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ addressable (2.7.0)
5
+ public_suffix (>= 2.0.2, < 5.0)
6
+ colorator (1.1.0)
7
+ concurrent-ruby (1.1.5)
8
+ em-websocket (0.5.1)
9
+ eventmachine (>= 0.12.9)
10
+ http_parser.rb (~> 0.6.0)
11
+ eventmachine (1.2.7)
12
+ ffi (1.11.1)
13
+ forwardable-extended (2.6.0)
14
+ http_parser.rb (0.6.0)
15
+ i18n (1.7.0)
16
+ concurrent-ruby (~> 1.0)
17
+ jekyll (4.0.0)
18
+ addressable (~> 2.4)
19
+ colorator (~> 1.0)
20
+ em-websocket (~> 0.5)
21
+ i18n (>= 0.9.5, < 2)
22
+ jekyll-sass-converter (~> 2.0)
23
+ jekyll-watch (~> 2.0)
24
+ kramdown (~> 2.1)
25
+ kramdown-parser-gfm (~> 1.0)
26
+ liquid (~> 4.0)
27
+ mercenary (~> 0.3.3)
28
+ pathutil (~> 0.9)
29
+ rouge (~> 3.0)
30
+ safe_yaml (~> 1.0)
31
+ terminal-table (~> 1.8)
32
+ jekyll-sass-converter (2.0.1)
33
+ sassc (> 2.0.1, < 3.0)
34
+ jekyll-watch (2.2.1)
35
+ listen (~> 3.0)
36
+ kramdown (2.1.0)
37
+ kramdown-parser-gfm (1.1.0)
38
+ kramdown (~> 2.0)
39
+ liquid (4.0.3)
40
+ listen (3.2.0)
41
+ rb-fsevent (~> 0.10, >= 0.10.3)
42
+ rb-inotify (~> 0.9, >= 0.9.10)
43
+ mercenary (0.3.6)
44
+ pathutil (0.16.2)
45
+ forwardable-extended (~> 2.6)
46
+ public_suffix (4.0.1)
47
+ rb-fsevent (0.10.3)
48
+ rb-inotify (0.10.0)
49
+ ffi (~> 1.0)
50
+ rouge (3.12.0)
51
+ safe_yaml (1.0.5)
52
+ sassc (2.2.1)
53
+ ffi (~> 1.9)
54
+ terminal-table (1.8.0)
55
+ unicode-display_width (~> 1.1, >= 1.1.1)
56
+ unicode-display_width (1.6.0)
57
+
58
+ PLATFORMS
59
+ ruby
60
+
61
+ DEPENDENCIES
62
+ jekyll
63
+
64
+ BUNDLED WITH
65
+ 1.17.2
data/_config.yml ADDED
@@ -0,0 +1,49 @@
1
+ url: https://courses.stolley.co
2
+ baseurl: /te/
3
+
4
+ timezone: America/Chicago
5
+
6
+ course:
7
+ number: COM 425/529
8
+ title: Technical Editing
9
+ uid: te
10
+ tagline: >
11
+ Online course covering theory and principles of editing through intensive applied practice.
12
+ term: Spring 2020
13
+ days:
14
+ - Monday
15
+ - Wednesday
16
+ license:
17
+ name: Creative Commons
18
+ url: https://creativecommons.org/licenses/by/4.0/
19
+ instructor:
20
+ honorific: Dr.
21
+ name: Karl Stolley
22
+ title: Professor
23
+ full_title: Associate Professor of Digital Writing & Rhetoric
24
+ url: https://stolley.co/
25
+ github: https://github.com/karlstolley/
26
+ email: karl.stolley@gmail.com
27
+ office_hours: >
28
+ Office hours via Basecamp Chat or Pings on Tuesdays, 4pm to 5pm, or by appointment or chance.
29
+ I’m always signed into Basecamp and closely monitor my notifications. Message or email any
30
+ time—I make students a priority, and I will repond as soon as I am able.
31
+
32
+ collections:
33
+ - projects
34
+
35
+ defaults:
36
+ -
37
+ scope:
38
+ path: ""
39
+ values:
40
+ layout: "default"
41
+
42
+ highlighter: using_prism_thanks
43
+
44
+ exclude:
45
+ - backstop_data
46
+ - backstop.json
47
+ - Rakefile
48
+ - "Gemfile*"
49
+ - "*.gemspec"
@@ -0,0 +1,32 @@
1
+ - begins: 2020-01-13T00:00
2
+ expires: 2020-01-21T00:00
3
+ - begins: 2020-01-20T00:00
4
+ expires: &three 2020-01-27T00:00
5
+ - begins: *three
6
+ expires: &four 2020-02-03T00:00
7
+ - begins: *four
8
+ expires: &five 2020-02-10T00:00
9
+ - begins: *five
10
+ expires: &six 2020-02-17T00:00
11
+ - begins: *six
12
+ expires: &seven 2020-02-24T00:00
13
+ - begins: *seven
14
+ expires: &eight 2020-03-02T00:00
15
+ - begins: *eight
16
+ expires: &nine 2020-03-09T00:00
17
+ - begins: *nine
18
+ expires: &eleven 2020-03-23T00:00
19
+ - begins: 2020-03-16T00:00
20
+ expires: *eleven
21
+ - begins: *eleven
22
+ expires: &twelve 2020-03-30T00:00
23
+ - begins: *twelve
24
+ expires: &thirteen 2020-04-06T00:00
25
+ - begins: *thirteen
26
+ expires: &fourteen 2020-04-13T00:00
27
+ - begins: *fourteen
28
+ expires: &fifteen 2020-04-20T00:00
29
+ - begins: *fifteen
30
+ expires: &sixteen 2020-04-27T00:00
31
+ - begins: *sixteen
32
+ expires: 2020-05-13T00:00
data/_data/utility.yml ADDED
@@ -0,0 +1,35 @@
1
+ day_offsets:
2
+ monday: 0
3
+ tuesday: 86400
4
+ wednesday: 172800
5
+ thursday: 259200
6
+ friday: 345600
7
+ saturday: 432000
8
+ sunday: 518400
9
+ spelled_nums:
10
+ - Zero
11
+ - One
12
+ - Two
13
+ - Three
14
+ - Four
15
+ - Five
16
+ - Six
17
+ - Seven
18
+ - Eight
19
+ - Nine
20
+ - Ten
21
+ - Eleven
22
+ - Twelve
23
+ - Thirteen
24
+ - Fourteen
25
+ - Fifteen
26
+ - Sixteen
27
+ - Seventeen
28
+ - Eighteen
29
+ - Nineteen
30
+ - Twenty
31
+ - Twenty-One
32
+ - Twenty-Two
33
+ - Twenty-three
34
+ - Twenty-Four
35
+ - Twenty-Five
@@ -0,0 +1,21 @@
1
+ theme: Copyeditors and Readers & Writers
2
+ meetings:
3
+ - agenda:
4
+ - Read through course policies & calendar
5
+ - Set up course technologies
6
+ video: https://youtu.be/KVdx_vQG3E0
7
+ - agenda:
8
+ - More stuff
9
+ - More stuff
10
+ video: https://example.com/video/
11
+ readings:
12
+ - "*The Copyeditor's Handbook* (TCH), Preface; Ch. 1"
13
+ - "*The Chicago Manual of Style* (CMS), Ch. 2: 2.48–2.67"
14
+ - "*The Subversive Copy Editor* (SCE), Preface; Ch. 1–3"
15
+ tasks:
16
+ - >
17
+ Submit COM 425/529 Contract and Survey (link in your @hawk.iit.edu inbox; email instructor at
18
+ karl.stolley@gmail.com if you did not receive it)
19
+ - Create Basecamp account (invite will arrive after you submit the Contract and Survey)
20
+ - Introduce yourself by commenting on the Virtual Introductions message thread on Basecamp
21
+ - Participate in the Week One Reading Discussion thread on Basecamp
@@ -0,0 +1 @@
1
+ theme: Copyediting Basics
@@ -0,0 +1 @@
1
+ theme: Punctuation
@@ -0,0 +1 @@
1
+ theme: Spelling, Capitalization
@@ -0,0 +1 @@
1
+ theme: Numbers, Numerals; Abbreviations
@@ -0,0 +1 @@
1
+ theme: "Grammar I: Nouns, Pronouns, Adjectives"
@@ -0,0 +1 @@
1
+ theme: "Grammar II: Verbs, Adverbs, Prepositions; Conjunctions"
@@ -0,0 +1 @@
1
+ theme: Errors and Usage
@@ -0,0 +1 @@
1
+ theme: Figures and Tables; Mathematical Formulas
@@ -0,0 +1 @@
1
+ theme: Spring Break
@@ -0,0 +1 @@
1
+ theme: Quotations and Dialogue
@@ -0,0 +1 @@
1
+ theme: "Citations and References I: CMS Notes and Bibliography"
@@ -0,0 +1 @@
1
+ theme: "Citations and References II: CMS Author-Date References"
@@ -0,0 +1 @@
1
+ theme: Proofreading, Indexes
@@ -0,0 +1 @@
1
+ theme: Copyediting Professionally
@@ -0,0 +1 @@
1
+ theme: Work Week
@@ -0,0 +1,67 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ {% assign util = site.data.utility %}
5
+ <section class="primary">
6
+ <header>
7
+ <h2>Calendar</h2>
8
+ </header>
9
+ {% for entry in site.data.calendar %}
10
+ {% assign week_int = forloop.index | times: 1 %}
11
+ {% capture weeknum %}{% if week_int < 10 %}0{% endif %}{{ week_int }}{% endcapture %}
12
+ {% assign week = site.data.weeks[weeknum] %}
13
+
14
+ <article id="week-{{ weeknum }}" data-week="{{ entry.begins | date: '%U' }}" data-expires="{{ entry.expires }}">
15
+ <header>
16
+ <h3>
17
+ {{ week.theme | escape }}
18
+ </h3>
19
+ <small>Week&nbsp;{{ util.spelled_nums[forloop.index] }}</small>
20
+ </header>
21
+ {% for meeting in week.meetings %}
22
+ <section class="agenda">
23
+ {% if site.course.days %}
24
+ {% assign day_key = site.course.days[forloop.index0] | downcase %}
25
+ {% 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 %e" }}{% endcapture %}
27
+ {% else %}
28
+ {% capture dateline %}Discussion Topics for Week of {{ entry.begins | date: "%B %e" }}{% endcapture %}
29
+ {% endif %}
30
+ <h4>{{ dateline }}{% if meeting.video %} <a href="{{ meeting.video }}">Video</a>{% endif %}</h4>
31
+ <ol>
32
+ {% for item in meeting.agenda %}
33
+ <li>{{ item | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
34
+ {% endfor %}
35
+ </ol>
36
+ </section>
37
+ {% endfor %}
38
+
39
+ <aside class="assigned">
40
+ <header>
41
+ <h3>Assigned Work</h3>
42
+ </header>
43
+ {% if week.readings %}
44
+ <section class="readings">
45
+ <h4>To Read</h4>
46
+ <ol>
47
+ {% for reading in week.readings %}
48
+ <li>{{ reading | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
49
+ {% endfor %}
50
+ </ol>
51
+ </section>
52
+ {% endif %}
53
+ {% if week.tasks %}
54
+ <section class="tasks">
55
+ <h4>To Do</h4>
56
+ <ol>
57
+ {% for task in week.tasks %}
58
+ <li>{{ task | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
59
+ {% endfor %}
60
+ </ol>
61
+ </section>
62
+ {% endif %}
63
+ </aside>
64
+ </article>
65
+ {% endfor %}
66
+
67
+ </section>
@@ -0,0 +1,70 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" id="{{page.id}}" prefix="og: http://ogp.me/ns#">
3
+ <head>{% assign course = site.course %}{% assign instructor = site.course.instructor %}
4
+ <meta charset="utf-8" />
5
+ <title>{{ course.number }}: {% if page.title %}{{ page.title}}{% else %}{{ course.title }}{% endif %}</title>
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" />
8
+ <link rel="stylesheet" href="{{ site.baseurl }}assets/css/print.css" media="print" />
9
+ <!-- Open Graph -->
10
+ <meta property="og:url" content="{{ site.url }}{{ site.baseurl }}" />
11
+ <meta property="og:title" content="{{ course.number }}: {{ course.title }}" />
12
+ <meta property="og:description" content="{{ course.tagline | strip_newlines }}" />
13
+ <meta property="og:image" content="{{ site.url }}{{ site.baseurl }}assets/img/{{ course.uid }}.png" />
14
+ <meta property="og:image:type" content="image/png" />
15
+ <meta property="og:type" content="website" />
16
+ </head>
17
+ <body>
18
+ <header id="header">
19
+ <a rel="home" href="{{ site.url }}{{ site.baseurl }}">
20
+ <small>{{ course.number }}</small>
21
+ <h1>{{ course.title}}</h1>
22
+ </a>
23
+ <p class="tagline">
24
+ {% if course.tagline %}{{ course.tagline }}{% endif %}
25
+ Taught by <a href="#instructor">{{ instructor.title }} {{ instructor.name }}</a>,
26
+ {{ course.term }}.
27
+ </p>
28
+ <nav id="navigation">
29
+ <ul class="nav">
30
+ <li id="nav-cal"><a href="{{ site.baseurl }}#this-week">Calendar</a></li>
31
+ <li id="nav-bcp"><a href="https://3.basecamp.com/3058761/projects/8576268">Basecamp</a></li>
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>
36
+ </ul>
37
+ </nav>
38
+ </header>
39
+ <main id="content">
40
+
41
+ {{ content }}
42
+
43
+ </main>
44
+
45
+ <aside id="instructor">
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>
60
+
61
+ <footer id="footer">
62
+ <p class="fineprint">
63
+ Course syllabus by <a href="{{ instructor.url }}">{{ instructor.name }}</a>.
64
+ Licensed under
65
+ <a href="{{ course.license.url }}" rel="license">{{ course.license.name }}</a>.
66
+ <a id="github" href="{{ instructor.github }}{{ course.uid }}">Source hosted on GitHub</a>.
67
+ </p>
68
+ </footer>
69
+ </body>
70
+ </html>
@@ -0,0 +1,25 @@
1
+ ---
2
+ number: One
3
+ title: A Very Big Project
4
+ due_date: &deadline 2020-05-25
5
+ goals:
6
+ - The first goal.
7
+ - The second goal.
8
+ - The third goal.
9
+ deliverables:
10
+ -
11
+ description: Thing one.
12
+ deadline: 2020-01-15
13
+ -
14
+ description: Thing two.
15
+ deadline: *deadline
16
+ milestones:
17
+ -
18
+ description: Do a thing.
19
+ deadline: 2020-03-01
20
+ -
21
+ description: Do another thing.
22
+ deadline: 2020-04-01
23
+ ---
24
+
25
+ And its full description goes here. You know how instructors love to go on and on.
@@ -0,0 +1,25 @@
1
+ ---
2
+ number: Two
3
+ title: Another Very Big Project
4
+ due_date: &deadline 2020-05-25
5
+ goals:
6
+ - The first goal.
7
+ - The second goal.
8
+ - The third goal.
9
+ deliverables:
10
+ -
11
+ description: Thing one.
12
+ deadline: 2020-01-15
13
+ -
14
+ description: Thing two.
15
+ deadline: *deadline
16
+ milestones:
17
+ -
18
+ description: Do a thing.
19
+ deadline: 2020-03-01
20
+ -
21
+ description: Do another thing.
22
+ deadline: 2020-04-01
23
+ ---
24
+
25
+ And its full description goes here. You know how instructors love to go on and on.
@@ -0,0 +1,25 @@
1
+ ---
2
+ number: Three
3
+ title: A Final Big Project
4
+ due_date: &deadline 2020-05-25
5
+ goals:
6
+ - The first goal.
7
+ - The second goal.
8
+ - The third goal.
9
+ deliverables:
10
+ -
11
+ description: Thing one.
12
+ deadline: 2020-01-15
13
+ -
14
+ description: Thing two.
15
+ deadline: *deadline
16
+ milestones:
17
+ -
18
+ description: Do a thing.
19
+ deadline: 2020-03-01
20
+ -
21
+ description: Do another thing.
22
+ deadline: 2020-04-01
23
+ ---
24
+
25
+ And its full description goes here. You know how instructors love to go on and on.
data/assets/.keep ADDED
File without changes
@@ -0,0 +1,31 @@
1
+ #navigation,
2
+ #this-week,
3
+ #links,
4
+ .fineprint + .fineprint,
5
+ .week h4 a {
6
+ display: none;
7
+ }
8
+ #header,
9
+ #this-week,
10
+ #content,
11
+ #links,
12
+ #instructor,
13
+ #footer {
14
+ padding-right: 0.1in;
15
+ padding-left: 0.3in;
16
+ }
17
+ #header small {
18
+ position: static;
19
+ }
20
+ html {
21
+ color: #000;
22
+ font-size: 11pt;
23
+ }
24
+ a {
25
+ color: #000;
26
+ text-decoration: none;
27
+ }
28
+ a[href^='http']::after {
29
+ content: " (" attr(href) ")";
30
+ color: #666;
31
+ }
@@ -0,0 +1,408 @@
1
+ @import "//fast.fonts.net/cssapi/d645cd83-c955-4277-a114-11f6324025d4.css";
2
+
3
+ /* http://meyerweb.com/eric/tools/css/reset/
4
+ v2.0 | 20110126
5
+ License: none (public domain)
6
+ */
7
+ /* stylelint-disable */
8
+ /* Keep reset CSS to one minified line */
9
+ a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}html,.reset{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
10
+ /* stylelint-enable */
11
+
12
+ /* Custom Site Styles */
13
+
14
+ /* ========== Base Styles ========== */
15
+
16
+ html {
17
+ /*
18
+ Major Third Modular Scale
19
+ http://www.modularscale.com/?19&px&1.25
20
+ */
21
+ font-size: 1.1875em; /* 19 / 16px */
22
+ font-family: "Camphor W04", Verdana, Helvetica, Arial, sans-serif;
23
+ line-height: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
24
+ text-rendering: optimizeLegibility;
25
+
26
+ background: #EEE;
27
+ color: #222;
28
+ }
29
+
30
+ h1,
31
+ h2,
32
+ h3,
33
+ h4 {
34
+ font-weight: bold;
35
+ }
36
+ h2 {
37
+ font-size: 1.9531052632em; /* 37.109 / 19 = 1.9531052632 */
38
+ font-weight: normal;
39
+ line-height: 1.2934867552em; /* 48 / 37.109 = 1.2934867552 */
40
+ padding-bottom: 0.6467433776em; /* 24 / 37.109 = 0.6467433776 */
41
+ }
42
+ h2#nav-menu {
43
+ font-size: inherit;
44
+ line-height: inherit;
45
+ padding-bottom: inherit;
46
+ }
47
+ h3 {
48
+ font-size: 1.25em; /* 23.75 / 19 = 1.25 */
49
+ line-height: 1.5157894737em; /* 36 / 23.75 = 1.5157894737 */
50
+ }
51
+ h4 {
52
+ font-size: 0.8em; /* 15.2px / 19px */
53
+ line-height: 1.5789473684em; /* 24 / 15.2px = 1.5789473684 */
54
+ padding-bottom: 0.7894736842em; /* 12 / 15.2 = 0.7894736842 */
55
+ text-transform: uppercase;
56
+ }
57
+
58
+ p {
59
+ padding-bottom: 1.2631578947em;
60
+ }
61
+
62
+ ul {
63
+ list-style-type: square;
64
+ }
65
+
66
+ ol {
67
+ counter-reset: enum;
68
+ }
69
+ ol, ul, li {
70
+ padding-bottom: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
71
+ }
72
+
73
+ ol ol,
74
+ ol ul,
75
+ ul ul,
76
+ ul ol {
77
+ padding-top: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
78
+ padding-bottom: 0;
79
+ }
80
+
81
+ li ol,
82
+ li ul {
83
+ padding-left: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
84
+ }
85
+
86
+ ol > li::before {
87
+ position: absolute;
88
+ margin-left: -1.2631578947em; /* 24 / 19px = 1.2631578947 */
89
+
90
+ font-weight: bold;
91
+
92
+ counter-increment: enum;
93
+ content: counter(enum) ". ";
94
+ }
95
+
96
+ a {
97
+ color: #A00;
98
+ }
99
+ b, strong {
100
+ font-weight: bold;
101
+ }
102
+ cite, em, i {
103
+ font-style: italic;
104
+ }
105
+ code {
106
+ font-family: Menlo, Monaco, "Droid Sans Mono", Courier, "Courier New", monospace;
107
+ font-size: 0.85em;
108
+
109
+ background: #CCC;
110
+ color: #222;
111
+ }
112
+ code a,
113
+ a code {
114
+ color: #222;
115
+ }
116
+
117
+ header {
118
+ padding-bottom: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
119
+ }
120
+
121
+ header small {
122
+ display: block;
123
+ }
124
+
125
+ /* Layout Styles */
126
+ #header {
127
+ position: relative;
128
+
129
+ padding-top: 3.7894736842em; /* 72 / 19 = 3.7894736842 */
130
+ }
131
+ #header small,
132
+ #nav-menu a {
133
+ display: block;
134
+ position: absolute;
135
+ top: 0;
136
+ left: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
137
+
138
+ padding-top: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
139
+ padding-bottom: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
140
+
141
+ font-weight: bold;
142
+ }
143
+ #nav-menu a {
144
+ top: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
145
+ right: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
146
+ left: auto;
147
+
148
+ padding: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
149
+ border-radius: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
150
+
151
+ font-weight: normal;
152
+ text-transform: uppercase;
153
+ }
154
+ .week h4 a {
155
+ line-height: 1;
156
+ display: inline-block;
157
+
158
+ margin-left: 0.3618421053em;
159
+ padding: 0.2894736842em; /* 4.4 / 15.2 (24 - 15.2 = 8.8)*/
160
+ border-radius: 0.3618421053em; /* 5.5 / 15.2 = 0.2894736842em */
161
+
162
+ font-weight: normal;
163
+ text-decoration: none;
164
+ text-transform: uppercase;
165
+ }
166
+
167
+ #header,
168
+ #this-week,
169
+ #content,
170
+ #links,
171
+ #instructor,
172
+ #footer {
173
+ padding-right: 11%; /* 33 / 300 = 0.11 */
174
+ padding-left: 11%; /* 33 / 300 = 0.11 */
175
+ }
176
+
177
+ #links,
178
+ #instructor,
179
+ #footer {
180
+ padding-top: 2.5263157895em; /* 48 / 19 = 2.5263157895 */
181
+ }
182
+ #projects article {
183
+ padding-bottom: 2.5263157895em; /* 48 / 19 = 2.5263157895 */
184
+ }
185
+
186
+ /* Modular Styles */
187
+ #header,
188
+ #footer {
189
+ color: #555;
190
+ }
191
+ #header a {
192
+ text-decoration: none;
193
+ }
194
+
195
+ .assigned h3 {
196
+ font-size: 1em; /* 19 / 19px */
197
+ line-height: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
198
+ }
199
+ #policies h3,
200
+ #links h3,
201
+ #instructor h3 {
202
+ padding-bottom: 0.5052631579em; /* 12 / 23.75 = 0.5052631579 */
203
+ }
204
+ h3 + small {
205
+ padding-bottom: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
206
+ }
207
+
208
+ #this-week {
209
+ padding-top: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
210
+ padding-bottom: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
211
+
212
+ background: #222;
213
+ color: #EEE;
214
+ }
215
+ .assigned {
216
+ background-color: rgba(0,0,0,0.1);
217
+ }
218
+ .tagline,
219
+ .note,
220
+ #footer p {
221
+ font-size: 0.8em; /* 15.2px / 19px */
222
+ line-height: 1.5789473684em; /* 24 / 15.2px = 1.5789473684 */
223
+ padding-bottom: 1.5789473684em;
224
+ }
225
+
226
+ .nav,
227
+ .agenda,
228
+ .assignments {
229
+ list-style-type: none;
230
+ }
231
+
232
+ #navigation a {
233
+ box-sizing: border-box;
234
+ display: block;
235
+ padding: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
236
+ border-radius: 0.3157894737em;
237
+ border: 1px solid #A00;
238
+ text-align: center;
239
+ }
240
+
241
+ #calendar #nav-cal a,
242
+ #policies #nav-pol a,
243
+ #projects #nav-pro a,
244
+ .week h4 a {
245
+ background: #A00;
246
+ color: #EEE;
247
+ }
248
+
249
+ .agenda ol,
250
+ .assignments ol {
251
+ padding-left: 0;
252
+ padding-top: 0;
253
+ }
254
+
255
+ .meeting::before {
256
+ content: "";
257
+ }
258
+
259
+ .assigned {
260
+ padding: 1.8947368421em; /* 36 / 19 = 1.8947368421 */
261
+ margin: auto -1.8947368421em; /* 36 / 19 = 1.8947368421 */
262
+ padding-bottom: 0;
263
+ }
264
+ .week + .week {
265
+ margin-top: 2.5263157895em; /* 48 / 19 */
266
+ }
267
+
268
+ /* State Styles */
269
+ .js .nav {
270
+ height: 0;
271
+ padding: 0;
272
+ overflow-y: hidden;
273
+ }
274
+ .js .expandable .nav {
275
+ transition: height 0.2s ease-out;
276
+ }
277
+ .js .is-expanded .nav {
278
+ height: 15.1578947368em; /* (12 gridlines) 288 / 19 = 15.1578947368em */
279
+ }
280
+ .js .is-expanded #nav-menu a {
281
+ color: #555;
282
+ border: 1px solid #555;
283
+ }
284
+ .js body::after {
285
+ display: none;
286
+ content: "menu";
287
+ }
288
+
289
+ .js #this-week + #content h2 {
290
+ padding-top: 1.2934867552em; /* 48 / 37.109 = 1.2934867552 */
291
+ }
292
+
293
+ /* 660px / 16 = 37.5em */
294
+ @media screen and (min-width: 41.25em) {
295
+ #header {
296
+ padding-top: 5.0526315789em; /* 96 / 19 = 5.0526315789 */
297
+ }
298
+ #content h2 {
299
+ padding-top: 1.2934867552em; /* 48 / 37.109 = 1.2934867552 */
300
+ }
301
+ .nav {
302
+ position: absolute;
303
+ right: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
304
+ top: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
305
+ }
306
+ .nav li {
307
+ float: left;
308
+ margin-left: 0.3157894737em; /* 6 / 19 = 0.3157894737em */
309
+ }
310
+ .flexbox .nav {
311
+ display: flex;
312
+ }
313
+ .flexbox .nav li {
314
+ float: none;
315
+ }
316
+ .js .nav {
317
+ height: auto;
318
+ padding-bottom: 0.6315789474em; /* 12 / 19 = 0.6315789474 */
319
+ overflow-y: auto;
320
+ }
321
+ .js body::after {
322
+ content: "";
323
+ }
324
+ }
325
+
326
+ /* 820 / 16 = 51.25em */
327
+ @media screen and (min-width: 51.25em) {
328
+ #header h1,
329
+ #header .tagline,
330
+ #footer p {
331
+ width: 40%;
332
+ }
333
+ #header small {
334
+ left: 11%;
335
+ }
336
+ .nav {
337
+ right: 11%;
338
+ }
339
+ #instructor {
340
+ width: 60%;
341
+ }
342
+ .agenda,
343
+ #course-resources {
344
+ float: left;
345
+ width: 40%;
346
+ }
347
+ .assigned,
348
+ #essential-tools,
349
+ #essential-references {
350
+ margin-left: 45%;
351
+ margin-right: auto;
352
+ }
353
+ .week > header {
354
+ clear: both;
355
+ padding-top: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
356
+ padding-bottom: 0;
357
+ }
358
+ .meeting,
359
+ .assigned {
360
+ padding-top: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
361
+ }
362
+
363
+ @supports (display:grid) {
364
+ .agenda,
365
+ .assigned,
366
+ #course-resources,
367
+ #essential-tools,
368
+ #essential-references {
369
+ margin: 0;
370
+ width: auto;
371
+ }
372
+ #essential-tools,
373
+ #essential-references {
374
+ padding: 0 1.8947368421em; /* 36 / 19 = 1.8947368421 */
375
+ }
376
+ .week,
377
+ #links {
378
+ display: grid;
379
+ grid-template-columns: 4fr 6fr;
380
+ grid-template-rows: repeat(3, auto);
381
+ grid-column-gap: 1.2631578947em; /* 24 / 19px = 1.2631578947 */
382
+ }
383
+ .week > header,
384
+ #links header {
385
+ grid-column: 1/3;
386
+ }
387
+ #essential-references {
388
+ grid-column: 2/3;
389
+ }
390
+ }
391
+ }
392
+
393
+ /* 1040 / 16 = 65em */
394
+ @media screen and (min-width: 65em) {
395
+ #links {
396
+ grid-template-columns: 4fr 3fr 3fr;
397
+ }
398
+ #links header {
399
+ grid-column: 1/4;
400
+ }
401
+ #essential-references {
402
+ grid-column: 3/4;
403
+ }
404
+ #projects #content,
405
+ #policies #content {
406
+ width: 60%;
407
+ }
408
+ }
data/assets/img/te.png ADDED
Binary file
data/index.md ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ id: calendar
3
+ layout: calendar
4
+ ---
data/projects/index.md ADDED
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: Course Projects
3
+ id: projects
4
+ ---
5
+
6
+ {% for project in site.projects %}
7
+ <article>
8
+ <header>
9
+ <h2>Project {{ project.number }}: {{ project.title }}</h2>
10
+ <p>Due by {{ project.due_date | date: "%A, %B %-d, %Y"}}</p>
11
+ </header>
12
+ {{ project.content }}
13
+ <h3>Goals</h3>
14
+ <ul>
15
+ {% for goal in project.goals %}
16
+ <li>{{ goal }}</li>
17
+ {% endfor %}
18
+ </ul>
19
+ <h3>Deliverables</h3>
20
+ <ol>
21
+ {% for deliverable in project.deliverables %}
22
+ <li>
23
+ {{ deliverable.description }} {% if deliverable.deadline %}{{ deliverable.deadline }}{% endif %}
24
+ </li>
25
+ {% endfor %}
26
+ </ol>
27
+ <h3>Milestones</h3>
28
+ <ol>
29
+ {% for milestone in project.milestones %}
30
+ <li>{{ milestone.description }} <b>Due by {{ milestone.deadline | date: "%A, %B %-d"}}</b></li>
31
+ {% endfor %}
32
+ </ol>
33
+ </article>
34
+ {% endfor %}
metadata ADDED
@@ -0,0 +1,123 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-theme-open-course
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Karl Stolley
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-11-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '12.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '12.3'
55
+ description: A data-driven Jekyll theme for accessible, mobile-first course sites.
56
+ email:
57
+ - karl.stolley@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - Gemfile
63
+ - Gemfile.lock
64
+ - _config.yml
65
+ - _data/calendar.yml
66
+ - _data/utility.yml
67
+ - _data/weeks/01.yml
68
+ - _data/weeks/02.yml
69
+ - _data/weeks/03.yml
70
+ - _data/weeks/04.yml
71
+ - _data/weeks/05.yml
72
+ - _data/weeks/06.yml
73
+ - _data/weeks/07.yml
74
+ - _data/weeks/08.yml
75
+ - _data/weeks/09.yml
76
+ - _data/weeks/10.yml
77
+ - _data/weeks/11.yml
78
+ - _data/weeks/12.yml
79
+ - _data/weeks/13.yml
80
+ - _data/weeks/14.yml
81
+ - _data/weeks/15.yml
82
+ - _data/weeks/16.yml
83
+ - _layouts/calendar.html
84
+ - _layouts/default.html
85
+ - _projects/project-01.md
86
+ - _projects/project-02.md
87
+ - _projects/project-03.md
88
+ - assets/.keep
89
+ - assets/css/print.css
90
+ - assets/css/screen.css
91
+ - assets/img/te.png
92
+ - index.md
93
+ - projects/index.md
94
+ homepage: https://stolley.dev/
95
+ licenses:
96
+ - MIT
97
+ metadata:
98
+ bug_tracker_uri: https://github.com/karlstolley/jekyll-theme-open-course/issues
99
+ changelog_uri: https://github.com/karlstolley/jekyll-theme-open-course/releases
100
+ documentation_uri: https://github.com/karlstolley/jekyll-theme-open-course/README.md
101
+ wiki_uri: https://github.com/karlstolley/jekyll-theme-open-course/wiki
102
+ homepage_uri: https://stolley.dev/
103
+ source_code_uri: https://github.com/karlstolley/jekyll-theme-open-course
104
+ post_install_message:
105
+ rdoc_options: []
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: '2.6'
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ requirements: []
119
+ rubygems_version: 3.0.3
120
+ signing_key:
121
+ specification_version: 4
122
+ summary: A Jekyll theme for accessible course sites.
123
+ test_files: []