jekyll-theme-open-course 1.2.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b09a6cad886465d099731b73e29af902f0090bd7dd2ea5fa205605db2985d79
4
- data.tar.gz: 78eebd7ecb8fcad3138444969f987b3bff2ceeb402114e502bbc523a4c1f860e
3
+ metadata.gz: 716df6bf04c275d4007f6d4e949423fa8c98ff93fcfaf8853b817582f7d07978
4
+ data.tar.gz: 21964c6358a01696074d03252a050c5340ed8aab96f3efd8ac0f6a969b961f22
5
5
  SHA512:
6
- metadata.gz: b70ff525e5feffc9c4717a1756af5ab92a21fdb095a8f425ecb18e822391a2e8a0345a84d9917c578f8fe249ea99c00516434542f467a43be458e3d970ba98ea
7
- data.tar.gz: '0795071f2df2501ed8799f2420ca96223aaaa8319ce7c97f86369cd6977a437fe8536d9b97bc12721317636fcdd9a1a01ca7e821d52f97217fa3a52a8d82ed92'
6
+ metadata.gz: b91575da3506b994cc3ad35960d222b3fd35c2cb3b503e93f3e4d119362d79d860eb9f5cd36ae0e079f286ced418cc391b9f630239d6a509448cce61605c43b3
7
+ data.tar.gz: 66cb78d35083548cb234b6d037f760c15737b8e19b2c35aba406279e91e3d394756597180d6bcc6e0b5afbca7ac8219a9ca5b5269ac88d10ca351d8e9cde1aa5
@@ -4,56 +4,58 @@ GEM
4
4
  addressable (2.7.0)
5
5
  public_suffix (>= 2.0.2, < 5.0)
6
6
  colorator (1.1.0)
7
- concurrent-ruby (1.1.5)
7
+ concurrent-ruby (1.1.7)
8
8
  em-websocket (0.5.1)
9
9
  eventmachine (>= 0.12.9)
10
10
  http_parser.rb (~> 0.6.0)
11
11
  eventmachine (1.2.7)
12
- ffi (1.11.3)
12
+ ffi (1.13.1)
13
13
  forwardable-extended (2.6.0)
14
14
  http_parser.rb (0.6.0)
15
- i18n (1.8.1)
15
+ i18n (1.8.5)
16
16
  concurrent-ruby (~> 1.0)
17
- jekyll (4.0.0)
17
+ jekyll (4.1.1)
18
18
  addressable (~> 2.4)
19
19
  colorator (~> 1.0)
20
20
  em-websocket (~> 0.5)
21
- i18n (>= 0.9.5, < 2)
21
+ i18n (~> 1.0)
22
22
  jekyll-sass-converter (~> 2.0)
23
23
  jekyll-watch (~> 2.0)
24
24
  kramdown (~> 2.1)
25
25
  kramdown-parser-gfm (~> 1.0)
26
26
  liquid (~> 4.0)
27
- mercenary (~> 0.3.3)
27
+ mercenary (~> 0.4.0)
28
28
  pathutil (~> 0.9)
29
29
  rouge (~> 3.0)
30
30
  safe_yaml (~> 1.0)
31
31
  terminal-table (~> 1.8)
32
- jekyll-sass-converter (2.0.1)
32
+ jekyll-sass-converter (2.1.0)
33
33
  sassc (> 2.0.1, < 3.0)
34
34
  jekyll-watch (2.2.1)
35
35
  listen (~> 3.0)
36
- kramdown (2.1.0)
36
+ kramdown (2.3.0)
37
+ rexml
37
38
  kramdown-parser-gfm (1.1.0)
38
39
  kramdown (~> 2.0)
39
40
  liquid (4.0.3)
40
41
  listen (3.2.1)
41
42
  rb-fsevent (~> 0.10, >= 0.10.3)
42
43
  rb-inotify (~> 0.9, >= 0.9.10)
43
- mercenary (0.3.6)
44
+ mercenary (0.4.0)
44
45
  pathutil (0.16.2)
45
46
  forwardable-extended (~> 2.6)
46
- public_suffix (4.0.3)
47
- rb-fsevent (0.10.3)
47
+ public_suffix (4.0.5)
48
+ rb-fsevent (0.10.4)
48
49
  rb-inotify (0.10.1)
49
50
  ffi (~> 1.0)
50
- rouge (3.14.0)
51
+ rexml (3.2.4)
52
+ rouge (3.22.0)
51
53
  safe_yaml (1.0.5)
52
- sassc (2.2.1)
54
+ sassc (2.4.0)
53
55
  ffi (~> 1.9)
54
56
  terminal-table (1.8.0)
55
57
  unicode-display_width (~> 1.1, >= 1.1.1)
56
- unicode-display_width (1.6.0)
58
+ unicode-display_width (1.7.0)
57
59
 
58
60
  PLATFORMS
59
61
  ruby
@@ -62,4 +64,4 @@ DEPENDENCIES
62
64
  jekyll
63
65
 
64
66
  BUNDLED WITH
65
- 1.17.2
67
+ 2.1.4
@@ -40,7 +40,7 @@ course:
40
40
  href: "policies/"
41
41
  id: pol
42
42
  css:
43
- font-url: "https://use.typekit.net/pig5ein.css"
43
+ font-url: "https://use.typekit.net/qqk1feg.css"
44
44
 
45
45
  collections_dir: syllabus
46
46
 
@@ -30,7 +30,7 @@ layout: default
30
30
  <header>
31
31
  {% endif %}
32
32
  <h2>
33
- {{ week.theme | escape }}
33
+ {{ week.theme | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}
34
34
  </h2>
35
35
  <small>Week&nbsp;{{ util.spelled_nums[week_int] }}</small>
36
36
  </header>
@@ -44,7 +44,7 @@ layout: default
44
44
  {% else %}
45
45
  {% capture dateline %}Agenda for the Week of {{ entry.begins | date: "%B %-e" }}{% endcapture %}
46
46
  {% endif %}
47
- <h3>{{ dateline }}{% if meeting.video %} <a href="{{ meeting.video }}">Video</a>{% endif %}</h3>
47
+ <h3>{{ dateline }}{% if meeting.video %} <a href="{{ meeting.video }}"><svg class="youtube" aria-label="YouTube"><use href="#youtube"></use></svg>Video</a>{% endif %}</h3>
48
48
  <ol>
49
49
  {% for item in meeting.agenda %}
50
50
  <li>{{ item | markdownify | remove: "<p>" | remove: "</p>" | strip_newlines }}</li>
@@ -116,3 +116,6 @@ layout: default
116
116
  {% endif %}
117
117
  </article>
118
118
  {% endfor %}
119
+
120
+ <!-- Youtube Icon via https://www.flaticon.com/free-icon/youtube_2111795 -->
121
+ <svg xmlns='http://www.w3.org/2000/svg' class="unused"><path id="youtube" d='m23.469 5.929.03.196c-.29-1.029-1.073-1.823-2.068-2.112l-.021-.005c-1.871-.508-9.4-.508-9.4-.508s-7.51-.01-9.4.508c-1.014.294-1.798 1.088-2.083 2.096l-.005.021c-.699 3.651-.704 8.038.031 11.947l-.031-.198c.29 1.029 1.073 1.823 2.068 2.112l.021.005c1.869.509 9.4.509 9.4.509s7.509 0 9.4-.509c1.015-.294 1.799-1.088 2.084-2.096l.005-.021c.318-1.698.5-3.652.5-5.648 0-.073 0-.147-.001-.221.001-.068.001-.149.001-.23 0-1.997-.182-3.951-.531-5.846zm-13.861 9.722v-7.293l6.266 3.652z'/></svg>
@@ -1,6 +1,6 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en" id="{{page.id}}" prefix="og: http://ogp.me/ns#" class="loading">
3
- <head>{% assign course = site.course %}{% assign instructor = site.course.instructor %}
3
+ <head>{% assign course = site.course %}{% assign instructor = site.course.instructor %}{% assign ta = site.course.ta %}
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" />
@@ -17,7 +17,7 @@
17
17
  <body>
18
18
  <header id="header">
19
19
  <h1>
20
- <a rel="home" href="{{ site.url }}{{ site.baseurl }}">{{ course.title}}</a>
20
+ <a rel="home" href="{{ site.url }}{{ site.baseurl }}">{{ course.title}}</a>{% if page.title %}: {{ page.title}}{% endif %}
21
21
  </h1>
22
22
  <p class="tagline">
23
23
  {% if course.tagline %}{{ course.tagline }}{% endif %}
@@ -42,13 +42,28 @@
42
42
  <ul>
43
43
  <li>
44
44
  <a href="{{ instructor.url }}">{{ instructor.honorific }} {{ instructor.name }}</a>,
45
- {{ site.course.instructor.full_title | escape }}
45
+ {{ instructor.full_title | escape }}
46
46
  </li>
47
47
  <li><a href="mailto:{{ instructor.email }}">{{ instructor.email }}</a></li>
48
48
  <li id="office-hours">
49
49
  {{ instructor.office_hours }}
50
50
  </li>
51
51
  </ul>
52
+ {% if ta.name %}
53
+ <header>
54
+ <h3>Teaching Assistant</h3>
55
+ </header>
56
+ <ul>
57
+ <li>
58
+ {% if ta.url %}<a href="{{ ta.url }}">{% endif %}{{ ta.name }}{% if ta.url %}</a>{% endif %},
59
+ {{ ta.full_title | escape }}
60
+ </li>
61
+ <li><a href="mailto:{{ ta.email }}">{{ ta.email }}</a></li>
62
+ <li id="ta-office-hours">
63
+ {{ ta.office_hours }}
64
+ </li>
65
+ </ul>
66
+ {% endif %}
52
67
  </aside>
53
68
 
54
69
 
@@ -73,7 +88,12 @@
73
88
  Course syllabus by <a href="{{ instructor.url }}">{{ instructor.name }}</a>.
74
89
  Licensed under
75
90
  <a href="{{ course.license.url }}" rel="license">{{ course.license.name }}</a>.
76
- <a id="github" href="{{ instructor.github }}{{ course.uid }}">Source hosted on GitHub</a>.
91
+ {% if course.archive %}
92
+ {% assign github_url = course.archive %}
93
+ {% else %}
94
+ {% capture github_url %}{{ instructor.github }}{{ course.uid }}{% endcapture %}
95
+ {% endif %}
96
+ <a id="github" href="{{ github_url }}">Source hosted on GitHub</a>.
77
97
  </p>
78
98
  </section>
79
99
  </footer>
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article class="links">
6
+ <header>
7
+ <h2>{{ page.title }}</h2>
8
+ </header>
9
+ {{ content }}
10
+ </article>
@@ -8,7 +8,7 @@ layout: default
8
8
  {% for project in site.projects %}
9
9
  {% assign dd = project.due_date | date: "%s" %}
10
10
 
11
- <article class="project" id="project-{{ site.data.utility.spelled_nums[forloop.index] | downcase }}">
11
+ <article class="project {{project.level}}" id="project-{{ site.data.utility.spelled_nums[forloop.index] | downcase }}">
12
12
  {% if today < dd and current == true %}
13
13
  <header id="current">
14
14
  {% assign current = false %}
@@ -0,0 +1,112 @@
1
+ body {
2
+ line-height: $base-line;
3
+ }
4
+
5
+ h1,h2,h3,h4,h5,h6 {
6
+ font-weight: bold;
7
+ }
8
+ h1 {
9
+ padding-top: $base-line / 2;
10
+ }
11
+ h1 small,
12
+ h1 b {
13
+ display: block;
14
+ font-weight: normal;
15
+ }
16
+ h3,
17
+ h4 {
18
+ text-transform: uppercase;
19
+ padding-bottom: $base-line / 4;
20
+ }
21
+ h4 {
22
+ text-transform: none;
23
+ }
24
+
25
+ p,li {
26
+ padding-bottom: $base-line;
27
+ -webkit-hyphens: auto;
28
+ hyphens: auto;
29
+ }
30
+
31
+ li {
32
+ padding-bottom: $base-line / 2;
33
+ }
34
+ ol, ul {
35
+ padding-bottom: $base-line / 2;
36
+ }
37
+
38
+ ol ol,
39
+ ol ul,
40
+ ul ol,
41
+ ul ul {
42
+ padding-top: $base-line / 2;
43
+ padding-bottom: 0;
44
+ padding-left: $base-line;
45
+ }
46
+
47
+ ol ul > li,
48
+ ul ul > li,
49
+ .with::before {
50
+ margin-left: -($base-line * 1.25);
51
+ }
52
+ ul {
53
+ list-style-type: square;
54
+ }
55
+ ol {
56
+ list-style-type: decimal;
57
+ }
58
+ ul, .with::before {
59
+ list-style-type: none;
60
+ }
61
+ ul li, .with::before {
62
+ position: relative;
63
+ padding-left: $base-line;
64
+ margin-left: -($base-line);
65
+ }
66
+ ul li::before {
67
+ content: "■";
68
+ position: absolute;
69
+ left: $base-line * 0.3;
70
+ top: -($base-line * 0.065);
71
+ }
72
+
73
+ ol, .with::before {
74
+ list-style-type: none;
75
+ counter-reset: enumerated;
76
+ }
77
+ ol > li, .with::before {
78
+ position: relative;
79
+ padding-left: $base-line;
80
+ margin-left: -($base-line);
81
+ counter-increment: enumerated;
82
+ }
83
+ ol > li::before {
84
+ font-weight: bold;
85
+ content: counter(enumerated) "";
86
+ position: absolute;
87
+ left: -($base-line * 0.0375);
88
+ text-align: right;
89
+ width: 1em;
90
+ }
91
+
92
+ b, strong {
93
+ font-weight: bold;
94
+ }
95
+
96
+ cite, em, i {
97
+ font-style: italic;
98
+ }
99
+ code {
100
+ font-family: Menlo, Monaco, "Droid Sans Mono", Courier, "Courier New", monospace;
101
+ font-size: 0.85em;
102
+ hyphens: none;
103
+ }
104
+
105
+ .access {
106
+ position: absolute;
107
+ left: -10000px;
108
+ }
109
+
110
+ .unused {
111
+ display: none;
112
+ }
@@ -0,0 +1,192 @@
1
+ $text-color: #321207;
2
+ $back-color: #F6EACB;
3
+ $spot-color: #6C1F55;
4
+ $acnt-color: #B34523;
5
+ $gray-color: #73664E; /* #7F7F7F; */
6
+ $gray-alter: darken($gray-color, 10%);
7
+ $link-under: transparentize($spot-color, 0.65);
8
+ $curr-color: darken($back-color, 8%);
9
+
10
+ // Dark mode
11
+ $dk-text-color: #DEDEDE;
12
+ $dk-back-color: #111;
13
+ $dk-spot-color: #FFB700;
14
+ $dk-acnt-color: #FF764D;
15
+ $dk-gray-color: #9E9E9E;
16
+ $dk-link-under: transparentize($dk-spot-color, 0.25);
17
+ $dk-curr-color: darken($dk-gray-color, 45%);
18
+
19
+
20
+ // CSS Variables
21
+ html,
22
+ html.light {
23
+ --color-text: #{$text-color};
24
+ --color-back: #{$back-color};
25
+ --color-spot: #{$spot-color};
26
+ --color-acnt: #{$acnt-color};
27
+ --color-gray: #{$gray-color};
28
+ --color-curr: #{$curr-color};
29
+ --color-altg: #{$gray-alter};
30
+ --color-link: #{$link-under};
31
+ --color-navi: #{$gray-color};
32
+ --color-nava: #{$back-color};
33
+ }
34
+ html.dark {
35
+ --color-text: #{$dk-text-color};
36
+ --color-back: #{$dk-back-color};
37
+ --color-spot: #{$dk-spot-color};
38
+ --color-acnt: #{$dk-acnt-color};
39
+ --color-gray: #{$dk-gray-color};
40
+ --color-curr: #{$dk-curr-color};
41
+ --color-altg: #{$dk-gray-color};
42
+ --color-link: #{$dk-link-under};
43
+ --color-navi: #{$dk-gray-color};
44
+ --color-nava: #{$dk-back-color};
45
+ }
46
+ @media screen and (prefers-color-scheme: dark) {
47
+ html {
48
+ --color-text: #{$dk-text-color};
49
+ --color-back: #{$dk-back-color};
50
+ --color-spot: #{$dk-spot-color};
51
+ --color-acnt: #{$dk-acnt-color};
52
+ --color-gray: #{$dk-gray-color};
53
+ --color-curr: #{$dk-curr-color};
54
+ --color-altg: #{$dk-gray-color};
55
+ --color-link: #{$dk-link-under};
56
+ --color-navi: #{$dk-gray-color};
57
+ --color-nava: #{$dk-back-color};
58
+ }
59
+ }
60
+
61
+ html {
62
+ transition: color 0.5s, background-color 0.5s;
63
+ color: $text-color;
64
+ color: var(--color-text);
65
+ background-color: $back-color;
66
+ background-color: var(--color-back);
67
+ }
68
+ ol > li::before,
69
+ ul li::before {
70
+ color: $acnt-color;
71
+ color: var(--color-acnt);
72
+ }
73
+ a {
74
+ color: $spot-color;
75
+ color: var(--color-spot);
76
+ }
77
+ @supports (text-decoration-color: red) {
78
+ a {
79
+ color: inherit;
80
+ text-decoration-color: $spot-color;
81
+ text-decoration-color: var(--color-spot);
82
+ }
83
+ }
84
+ #header h1 a {
85
+ color: $spot-color;
86
+ color: var(--color-spot);
87
+ }
88
+ .nav a {
89
+ border: 1px solid $acnt-color;
90
+ border: 1px solid var(--color-acnt);
91
+ color: $gray-color;
92
+ color: var(--color-navi);
93
+ }
94
+ .nav a:hover,
95
+ .nav a:focus,
96
+ .nav a:active,
97
+ #calendar #nav-cal a,
98
+ #policies #nav-pol a,
99
+ #projects #nav-pro a {
100
+ background-color: $acnt-color;
101
+ background-color: var(--color-acnt);
102
+ color: $back-color;
103
+ color: var(--color-nava);
104
+ }
105
+
106
+ .recommended,
107
+ .project .description,
108
+ .project .goals,
109
+ .week .agenda,
110
+ .fine-print {
111
+ color: $gray-color;
112
+ color: var(--color-gray);
113
+ }
114
+ .current {
115
+ transition: background-color 0.5s;
116
+ background-color: $curr-color;
117
+ background-color: var(--color-curr);
118
+ }
119
+ .week.current .agenda {
120
+ color: $gray-alter;
121
+ color: var(--color-altg);
122
+ }
123
+ #btn-show-calendar {
124
+ background-color: $back-color;
125
+ background-color: var(--color-back);
126
+ color: $gray-color;
127
+ color: var(--color-gray);
128
+ border: 1px solid $gray-color;
129
+ border: 1px solid var(--color-gray);
130
+ }
131
+ #btn-show-calendar:active,
132
+ #btn-show-calendar:focus,
133
+ #btn-show-calendar:hover {
134
+ background-color: $gray-color;
135
+ background-color: var(--color-gray);
136
+ color: $back-color;
137
+ color: var(--color-back);
138
+ }
139
+ .agenda h3 a {
140
+ background-color: inherit;
141
+ color: $acnt-color;
142
+ color: var(--color-acnt);
143
+ }
144
+ .youtube {
145
+ color: pink;
146
+ fill: $acnt-color;
147
+ fill: var(--color-acnt);
148
+ }
149
+ .agenda h3 a:active,
150
+ .agenda h3 a:focus,
151
+ .agenda h3 a:hover {
152
+ background-color: $acnt-color;
153
+ background-color: var(--color-acnt);
154
+ color: $back-color;
155
+ color: var(--color-back);
156
+ }
157
+ a:active .youtube,
158
+ a:focus .youtube,
159
+ a:hover .youtube {
160
+ fill: $back-color;
161
+ fill: var(--color-back);
162
+ }
163
+ header small {
164
+ color: $spot-color;
165
+ color: var(--color-spot);
166
+ }
167
+ .week > header small {
168
+ color: $gray-color;
169
+ color: var(--color-gray);
170
+ }
171
+ #header,
172
+ #footer,
173
+ #instructor {
174
+ color: $gray-color;
175
+ color: var(--color-gray);
176
+ }
177
+ #header .nav {
178
+ color: $text-color;
179
+ color: var(--color-text);
180
+ }
181
+ #header #theme-button {
182
+ background-color: $text-color;
183
+ background-color: var(--color-text);
184
+ border-color: $text-color;
185
+ border-color: var(--color-text);
186
+ color: $back-color;
187
+ color: var(--color-back);
188
+ }
189
+ #header #theme-button svg {
190
+ fill: $back-color;
191
+ fill: var(--color-back);
192
+ }