jekyll-theme-open-course 0.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 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: []