askclass-course-theme 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +373 -0
- data/README.md +51 -0
- data/_config.yml +96 -0
- data/_includes/course.html +57 -0
- data/_includes/foot/mathjax.html +2 -0
- data/_includes/foot/pwaupdate.html +8 -0
- data/_includes/footer.html +11 -0
- data/_includes/head/common.html +44 -0
- data/_includes/head/meta.html +10 -0
- data/_includes/header.html +12 -0
- data/_includes/logo.html +15 -0
- data/_includes/segment/common.html +25 -0
- data/_includes/segment/header.html +10 -0
- data/_includes/segment/index.html +44 -0
- data/_includes/segment/nav.html +40 -0
- data/_includes/session/content_revealer.html +6 -0
- data/_includes/session/footer.html +29 -0
- data/_includes/session/header.html +35 -0
- data/_includes/session/item.html +3 -0
- data/_includes/session/points.html +11 -0
- data/_includes/session/videos.html +5 -0
- data/_includes/session/youtube.html +6 -0
- data/_layouts/default.html +11 -0
- data/_layouts/segment.html +17 -0
- data/_layouts/session.html +26 -0
- data/_sass/_bullets.scss +15 -0
- data/_sass/_default.scss +224 -0
- data/_sass/_grid.scss +24 -0
- data/_sass/_lesson.scss +35 -0
- data/_sass/_paginator.scss +34 -0
- data/_sass/_post.scss +57 -0
- data/_sass/_tab-colors.scss +81 -0
- data/_sass/_tab.scss +138 -0
- data/_sass/_tab.scsse +125 -0
- data/_sass/_table.scss +17 -0
- data/_sass/_video.scss +13 -0
- data/assets/css/grid.scss +5 -0
- data/assets/css/md.scss +10 -0
- data/assets/css/style.scss +4 -0
- data/assets/css/tab.scss +5 -0
- data/assets/favicon.ico +0 -0
- data/assets/loading.svg +6 -0
- data/assets/logo-144.png +0 -0
- data/assets/logo-192.png +0 -0
- data/assets/logo-300.png +0 -0
- data/assets/logo-48.png +0 -0
- data/assets/logo-512.png +0 -0
- data/assets/logo-96.png +0 -0
- data/assets/logo-icon.svg +4 -0
- data/assets/logo-square-144.png +0 -0
- data/assets/logo-square-192.png +0 -0
- data/assets/logo-square-300.png +0 -0
- data/assets/logo-square-48.png +0 -0
- data/assets/logo-square-512.png +0 -0
- data/assets/logo-square-96.png +0 -0
- data/assets/logo.svg +3 -0
- data/assets/site.webmanifest +57 -0
- metadata +114 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
<head>
|
2
|
+
{%- include head/meta.html -%}
|
3
|
+
{%- include head/common.html -%}
|
4
|
+
{%- if page.collection == 'session' -%}
|
5
|
+
<link rel="preload" as="style" href="{{ 'assets/css/md.css' | relative_url }}"
|
6
|
+
onload='this.onload=null;this.rel="stylesheet"' />
|
7
|
+
{%- else -%}
|
8
|
+
<link rel="stylesheet" href="{{ 'assets/css/grid.css' | relative_url }}" />
|
9
|
+
<link rel="stylesheet" href="{{ 'assets/css/tab.css' | relative_url }}" />
|
10
|
+
{%- endif -%}
|
11
|
+
<link rel="stylesheet" href="{{ 'assets/css/style.css' | relative_url }}" />
|
12
|
+
</head>
|
data/_includes/logo.html
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
<section class="center-align">
|
2
|
+
<a href="/">
|
3
|
+
<img src="/assets/{{ include.image | default: site.acc.logo.image }}"
|
4
|
+
width="{{ include.size | default: site.acc.logo.size }}"
|
5
|
+
height="{{ include.height | default: site.acc.logo.height | default: site.acc.logo.size }}"
|
6
|
+
title="{{ site.title }}"/>
|
7
|
+
</a>
|
8
|
+
{%- if include.href %}
|
9
|
+
<h4 class="special"><a href="{{ include.href }}">{{ include.title | default: site.title }}</a></h4>
|
10
|
+
{% elsif include.title %}
|
11
|
+
<h4 class="special" style="color: var(--secondaryColor); margin: 0 0 1em 0">{{ include.title }}</h4>
|
12
|
+
{% else %}
|
13
|
+
<h4 class="special">{{ include.title | default: site.title }}</h4>
|
14
|
+
{% endif -%}
|
15
|
+
</section>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{% assign classes = site.data.common.index.classes %}
|
2
|
+
|
3
|
+
<div class="center-align">
|
4
|
+
<a href="/"><img src="/assets/logo.svg" width="100" title="{{ site.title }}"/></a>
|
5
|
+
|
6
|
+
<h1 class="special">{{ page.title }}</h1>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<ul>
|
10
|
+
{% for class in classes %}
|
11
|
+
{% assign item = site.data.common.index[class] %}
|
12
|
+
{% assign count = site.data.common[class] | size %}
|
13
|
+
<li class="card-tab c{{ forloop.index }}">
|
14
|
+
<div class="top-bar">{{ item.title }}</div>
|
15
|
+
<div class="tab">{{ count }}</div>
|
16
|
+
<div class="header"> </div>
|
17
|
+
|
18
|
+
{% if count > 0 %}
|
19
|
+
<div class="body">
|
20
|
+
<h2><a href="/{{ page.collection }}/{{ class }}">{{ item.title }}</a></h2>
|
21
|
+
</div>
|
22
|
+
{% endif %}
|
23
|
+
</li>
|
24
|
+
{% endfor %}
|
25
|
+
</ul>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
{% assign info = include.info %}
|
2
|
+
<section class="center-align">
|
3
|
+
<h1 class="special">{{ info.title }}</h1>
|
4
|
+
|
5
|
+
{% if info.begin and info.end %}
|
6
|
+
{{ info.begin | date: '%b %e' }} - {{ info.end | date: '%b %e, %Y' }}
|
7
|
+
{% else %}
|
8
|
+
{{ info.date }}
|
9
|
+
{% endif %}
|
10
|
+
</section>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
{% assign info = include.info %}
|
2
|
+
|
3
|
+
<ul class="grid">
|
4
|
+
{% for item in info.items %}
|
5
|
+
{% assign session = site.data.sessions[item] %}
|
6
|
+
<li class="card-tab {{ info.theme }}">
|
7
|
+
|
8
|
+
{% if session.type %}
|
9
|
+
<div class="top-bar">{{ session.type }}</div>
|
10
|
+
<div class="tab">{{ session.sequence }}</div>
|
11
|
+
{% elsif session.sequence %}
|
12
|
+
<div class="top-bar">{{ site.data.course.session_tag }}</div>
|
13
|
+
<div class="tab">{{ session.sequence }}</div>
|
14
|
+
{% else %}
|
15
|
+
<div class="top-bar"> </div>
|
16
|
+
{% endif %}
|
17
|
+
|
18
|
+
{% if session.due %}
|
19
|
+
<div class="header">
|
20
|
+
<span class="material-symbols-outlined">alarm_on</span>
|
21
|
+
{{ session.due | date: '%b %e, %y' }}
|
22
|
+
</div>
|
23
|
+
{% elsif session.type %}
|
24
|
+
<div class="header">{{ session.header }}</div>
|
25
|
+
{% else %}
|
26
|
+
<div class="header"> </div>
|
27
|
+
{% endif %}
|
28
|
+
|
29
|
+
<div class="body">
|
30
|
+
{% if session.url %}
|
31
|
+
<h3><a href="/session/{{ session.url }}">{{ session.title }}</a></h3>
|
32
|
+
{% else %}
|
33
|
+
<h3>{{ session.title }}</h3>
|
34
|
+
{% endif %}
|
35
|
+
|
36
|
+
{% if session.part %}
|
37
|
+
<div class="item">
|
38
|
+
Part {{ session.part }}
|
39
|
+
</div>
|
40
|
+
{% endif %}
|
41
|
+
</div>
|
42
|
+
</li>
|
43
|
+
{% endfor %}
|
44
|
+
</ul>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
{% assign segs = site.data.course.segments %}
|
2
|
+
{% for s in segs %}
|
3
|
+
{% if s == include.segment %}
|
4
|
+
{% assign segnum = forloop.index0 %}
|
5
|
+
{% break %}
|
6
|
+
{% endif %}
|
7
|
+
{% endfor %}
|
8
|
+
|
9
|
+
{% assign p = segnum | minus: 1 %}
|
10
|
+
{% assign n = segnum | plus: 1 %}
|
11
|
+
{% if p != -1 %}{% assign prev = segs[p] %}{% endif %}
|
12
|
+
{% assign next = segs[n] %}
|
13
|
+
|
14
|
+
<section class="center-align">
|
15
|
+
<div class="middle-align">
|
16
|
+
{% if prev %}
|
17
|
+
{% if include.icon %}
|
18
|
+
{{ site.data.syllabus[prev].title }}
|
19
|
+
{% endif %}
|
20
|
+
<a href="/segment/{{ prev }}" class="material-symbols-outlined md-48">navigate_before</a>
|
21
|
+
{% else %}
|
22
|
+
<span class="material-symbols-outlined md-48 md-disabled">navigate_before</span>
|
23
|
+
{% endif %}
|
24
|
+
|
25
|
+
{% if include.icon %}
|
26
|
+
<a href="/segment/{{ include.segment }}" class="material-symbols-outlined">calendar_today</a>
|
27
|
+
{% else %}
|
28
|
+
<a href="/segment/{{ include.segment }}"><h3>{{ site.data.syllabus[include.segment].title }}</h3></a>
|
29
|
+
{% endif %}
|
30
|
+
|
31
|
+
{% if next %}
|
32
|
+
<a href="/segment/{{ next }}" class="material-symbols-outlined md-48">navigate_next</a>
|
33
|
+
{% if include.icon %}
|
34
|
+
{{ site.data.syllabus[next].title }}
|
35
|
+
{% endif %}
|
36
|
+
{% else %}
|
37
|
+
<span class="material-symbols-outlined md-48 md-disabled">navigate_next</span>
|
38
|
+
{% endif %}
|
39
|
+
</div>
|
40
|
+
</section>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
{% for s in segment_data.items %}
|
2
|
+
{% if s == session_id %}
|
3
|
+
{% assign _index = forloop.index0 %}
|
4
|
+
{% break %}
|
5
|
+
{% endif %}
|
6
|
+
{% endfor %}
|
7
|
+
|
8
|
+
<div class="center-align spacer special">
|
9
|
+
{% include segment/nav.html segment=session_data.segment icon=1 %}
|
10
|
+
|
11
|
+
{% assign _next_index = _index | plus: 1 %}
|
12
|
+
{% assign _next_segment = segment_data.items[_next_index] %}
|
13
|
+
<div class="middle-align">
|
14
|
+
<span>{% include session/item.html item=session_data %}</span>
|
15
|
+
|
16
|
+
|
17
|
+
{% assign _next_item = site.data.sessions[_next_segment] %}
|
18
|
+
{% if _next_item %}
|
19
|
+
<span class="material-symbols-outlined md-24">navigate_next</span>
|
20
|
+
{% if _next_item.url %}
|
21
|
+
<a href="/session/{{ _next_item.url }}">
|
22
|
+
{% include session/item.html item=_next_item %}
|
23
|
+
</a>
|
24
|
+
{% else %}
|
25
|
+
{% include session/item.html item=_next_item %}
|
26
|
+
{% endif %}
|
27
|
+
{% endif %}
|
28
|
+
</div>
|
29
|
+
</div>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<section class="center-align special">
|
2
|
+
{% if session_data.header %}
|
3
|
+
<div>{{ session_data.header }}</div>
|
4
|
+
{% endif %}
|
5
|
+
|
6
|
+
<h1 class="special">{{ session_data.title }}</h1>
|
7
|
+
|
8
|
+
{% if session_data.part %}
|
9
|
+
<div>Part {{ session_data.part }}</div>
|
10
|
+
{% endif %}
|
11
|
+
|
12
|
+
{% include segment/nav.html segment=session_data.segment %}
|
13
|
+
|
14
|
+
<div>
|
15
|
+
{% if segment_data.begin and segment_data.end %}
|
16
|
+
{{ segment_data.begin | date: '%b %e' }} - {{ segment_data.end | date: '%b %e, %Y' }}
|
17
|
+
{% else %}
|
18
|
+
{{ segment_data.date }}
|
19
|
+
{% endif %}
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div class="middle-align">
|
23
|
+
{% for item in segment_data.items %}
|
24
|
+
{% assign _info = site.data.sessions[item] %}
|
25
|
+
|
26
|
+
{% if item == session_id %}
|
27
|
+
<span class="lesson-number current">{{ _info.sequence }}</span>
|
28
|
+
{% elsif _info.url %}
|
29
|
+
<a class="lesson-number" href="/session/{{ _info.url }}">{{ _info.sequence }}</a>
|
30
|
+
{% else %}
|
31
|
+
<span class="lesson-number">{{ _info.sequence }}</span>
|
32
|
+
{% endif %}
|
33
|
+
{% endfor %}
|
34
|
+
</div>
|
35
|
+
</section>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
{%- if session_data.type == 'Assignment' -%}
|
2
|
+
<pre>
|
3
|
+
{%- if session_data.points -%}
|
4
|
+
Points: {{ session_data.points }}
|
5
|
+
{%- endif -%}
|
6
|
+
|
7
|
+
{%- if session_data.due %}
|
8
|
+
Due: {{ session_data.due | date: '%B %d, %Y' }}
|
9
|
+
{%- endif -%}
|
10
|
+
</pre>
|
11
|
+
{%- endif -%}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{% assign segment = page.id | split: '/' | last %}
|
2
|
+
{% assign info = site.data.syllabus[segment] %}
|
3
|
+
|
4
|
+
<!doctype html>
|
5
|
+
<html lang="en">
|
6
|
+
{% include header.html %}
|
7
|
+
<body>
|
8
|
+
{% include logo.html size=50 title=site.data.course.id %}
|
9
|
+
{% include segment/header.html info=info %}
|
10
|
+
|
11
|
+
{% include segment/index.html info=info %}
|
12
|
+
|
13
|
+
{{ content }}
|
14
|
+
|
15
|
+
{% include segment/nav.html segment=segment %}
|
16
|
+
</body>
|
17
|
+
</html>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{% assign session_id = page.id | split: '/' | last %}
|
2
|
+
{% assign session_data = site.data.sessions[session_id] %}
|
3
|
+
{% assign segment_data = site.data.syllabus[session_data.segment] %}
|
4
|
+
|
5
|
+
<!doctype html>
|
6
|
+
<html lang="en">
|
7
|
+
{% include header.html %}
|
8
|
+
<body>
|
9
|
+
{% include logo.html size=50 title=site.data.course.id %}
|
10
|
+
{% include session/header.html %}
|
11
|
+
|
12
|
+
<section class="center-align spacer content">
|
13
|
+
<article>
|
14
|
+
{% include session/points.html %}
|
15
|
+
|
16
|
+
{% include session/videos.html videos=session_data.videos %}
|
17
|
+
{{ content }}
|
18
|
+
</article>
|
19
|
+
</section>
|
20
|
+
|
21
|
+
{% include session/footer.html %}
|
22
|
+
{% include session/content_revealer.html %}
|
23
|
+
{% include footer.html %}
|
24
|
+
{% include foot/mathjax.html -%}
|
25
|
+
</body>
|
26
|
+
</html>
|
data/_sass/_bullets.scss
ADDED
data/_sass/_default.scss
ADDED
@@ -0,0 +1,224 @@
|
|
1
|
+
$font-main: 'Open Sans', sans-serif;
|
2
|
+
$font-secondary: 'Teko', sans-serif;
|
3
|
+
$font-special: 'Josefin Sans', sans-serif;
|
4
|
+
$font-mono: 'Share Tech Mono', monospace;
|
5
|
+
$color-primary: aliceblue;
|
6
|
+
$color-secondary: skyblue;
|
7
|
+
$color-tertiary: #2cdd88;
|
8
|
+
$color-bg: #222;
|
9
|
+
$color-fg: ivory;
|
10
|
+
$color-dark: gray;
|
11
|
+
$color-link: deeppink;
|
12
|
+
$color-theme: #ffc100;
|
13
|
+
$content-width: 600px;
|
14
|
+
|
15
|
+
html {
|
16
|
+
--specialFont: #{$font-special};
|
17
|
+
--mainFont: #{$font-main};
|
18
|
+
--secondaryFont: #{$font-secondary};
|
19
|
+
--monoFont: #{$font-mono};
|
20
|
+
--primaryColor: #{$color-primary};
|
21
|
+
--secondaryColor: #{$color-secondary};
|
22
|
+
--linkColor: #{$color-link};
|
23
|
+
--bgColor: #{$color-bg};
|
24
|
+
--fgColor: #{$color-fg};
|
25
|
+
--darkColor: #{$color-dark};
|
26
|
+
--contentWidth: #{$content-width};
|
27
|
+
--themeColor: #{$color-theme};
|
28
|
+
--tertiaryColor: #{$color-tertiary};
|
29
|
+
}
|
30
|
+
|
31
|
+
body {
|
32
|
+
font-family: $font-main;
|
33
|
+
font-size: 17px;
|
34
|
+
line-height: 1.6;
|
35
|
+
background-color: $color-bg;
|
36
|
+
color: $color-fg;
|
37
|
+
&::-webkit-scrollbar {
|
38
|
+
width: 6px;
|
39
|
+
height: 6px;
|
40
|
+
}
|
41
|
+
&::-webkit-scrollbar-thumb {
|
42
|
+
background-color: rgba(0,0,0,0.5);
|
43
|
+
border-radius: 6px;
|
44
|
+
}
|
45
|
+
&::-webkit-scrollbar-corner {
|
46
|
+
background-color: transparent;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
hr {
|
51
|
+
width: 300px;
|
52
|
+
margin-bottom: 20px;
|
53
|
+
margin-top: 40px;
|
54
|
+
border-color: $color-bg;
|
55
|
+
}
|
56
|
+
|
57
|
+
a {
|
58
|
+
color: $color-link;
|
59
|
+
text-decoration: none;
|
60
|
+
}
|
61
|
+
|
62
|
+
h1, h2, h3, h4, h5, h6 {
|
63
|
+
font-family: $font-secondary;
|
64
|
+
font-weight: normal;
|
65
|
+
color: $color-secondary;
|
66
|
+
line-height: 1;
|
67
|
+
}
|
68
|
+
|
69
|
+
h1 { font-size: 2.5em }
|
70
|
+
h2 { font-size: 2em }
|
71
|
+
h3 { font-size: 1.7em }
|
72
|
+
h4 { font-size: 1.4em }
|
73
|
+
h5 { font-size: 1.2em }
|
74
|
+
h6 { font-size: 1em }
|
75
|
+
|
76
|
+
.special {
|
77
|
+
font-family: $font-special;
|
78
|
+
text-align: center;
|
79
|
+
color: $color-primary;
|
80
|
+
margin: 10px 0 5px 0;
|
81
|
+
}
|
82
|
+
|
83
|
+
code, pre {
|
84
|
+
font-family: $font-mono;
|
85
|
+
}
|
86
|
+
|
87
|
+
code {
|
88
|
+
white-space: pre-wrap;
|
89
|
+
color: $color-secondary;
|
90
|
+
&.rounded {
|
91
|
+
border-radius: 5px;
|
92
|
+
margin: 0 3px;
|
93
|
+
padding: 2px 5px;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
pre {
|
98
|
+
background: linear-gradient(rgba(0,0,0,0.05),rgba(0,0,0,0.05));
|
99
|
+
padding: 10px;
|
100
|
+
code {
|
101
|
+
color: inherit;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
sub, sup {
|
106
|
+
font-size: small;
|
107
|
+
}
|
108
|
+
sup {
|
109
|
+
vertical-align: 6px;
|
110
|
+
}
|
111
|
+
sub {
|
112
|
+
vertical-align: 0px;
|
113
|
+
}
|
114
|
+
|
115
|
+
.md-18 { font-size: 18px; }
|
116
|
+
.md-24 { font-size: 24px; }
|
117
|
+
.md-36 { font-size: 36px; }
|
118
|
+
.md-48 { font-size: 48px; }
|
119
|
+
.md-disabled { color: rgba(0,0,0,0.6); }
|
120
|
+
|
121
|
+
.buttons {
|
122
|
+
margin-bottom: 1em;
|
123
|
+
a {
|
124
|
+
text-decoration: none;
|
125
|
+
color: yellowgreen;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
129
|
+
@mixin margin-top() {
|
130
|
+
margin-top: 100px;
|
131
|
+
}
|
132
|
+
|
133
|
+
@mixin align-middle() {
|
134
|
+
display: flex;
|
135
|
+
align-items: center;
|
136
|
+
text-decoration: none;
|
137
|
+
text-align: center;
|
138
|
+
img {
|
139
|
+
margin-right: 5px;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
@mixin align-center() {
|
143
|
+
display: flex;
|
144
|
+
align-items: center;
|
145
|
+
text-decoration: none;
|
146
|
+
flex-direction: column;
|
147
|
+
}
|
148
|
+
|
149
|
+
.middle-align {
|
150
|
+
@include align-middle();
|
151
|
+
}
|
152
|
+
|
153
|
+
.center-align {
|
154
|
+
@include align-center();
|
155
|
+
}
|
156
|
+
|
157
|
+
.spacer {
|
158
|
+
margin-top: 100px;
|
159
|
+
}
|
160
|
+
|
161
|
+
footer {
|
162
|
+
@include margin-top();
|
163
|
+
@include align-center();
|
164
|
+
color: $color-dark;
|
165
|
+
font-size: 14px;
|
166
|
+
ul {
|
167
|
+
padding: 0;
|
168
|
+
display: flex;
|
169
|
+
li {
|
170
|
+
@include align-middle();
|
171
|
+
margin: 0 5px;
|
172
|
+
a {
|
173
|
+
color: $color-secondary;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
article {
|
180
|
+
&.center {
|
181
|
+
@include align-center();
|
182
|
+
}
|
183
|
+
&.center img {
|
184
|
+
border-radius: 50%;
|
185
|
+
object-fit: cover;
|
186
|
+
}
|
187
|
+
&.left img {
|
188
|
+
float: left;
|
189
|
+
object-fit: cover;
|
190
|
+
margin: 5px 10px 0 0;
|
191
|
+
display: inline-block;
|
192
|
+
}
|
193
|
+
}
|
194
|
+
|
195
|
+
article.tiles {
|
196
|
+
ul {
|
197
|
+
list-style-type: none;
|
198
|
+
padding-inline-start: unset;
|
199
|
+
display: grid;
|
200
|
+
grid-gap: 1rem;
|
201
|
+
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
|
202
|
+
li {
|
203
|
+
padding: 5px;
|
204
|
+
margin: 5px;
|
205
|
+
border-radius: 5px;
|
206
|
+
text-align: center;
|
207
|
+
background-color: $color-theme;
|
208
|
+
height: 60px;
|
209
|
+
display: flex;
|
210
|
+
align-items: center;
|
211
|
+
justify-content: center;
|
212
|
+
a {
|
213
|
+
color: $color-bg;
|
214
|
+
overflow: hidden;
|
215
|
+
text-overflow: ellipsis;
|
216
|
+
word-break: break-word;
|
217
|
+
}
|
218
|
+
sup {
|
219
|
+
vertical-align: 3px;
|
220
|
+
}
|
221
|
+
}
|
222
|
+
}
|
223
|
+
}
|
224
|
+
|
data/_sass/_grid.scss
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
$size-width: 180px;
|
2
|
+
$size-height: 180px;
|
3
|
+
|
4
|
+
ul.grid {
|
5
|
+
list-style-type: none;
|
6
|
+
padding-inline-start: unset;
|
7
|
+
display: grid;
|
8
|
+
grid-gap: 1rem;
|
9
|
+
grid-template-columns: repeat(auto-fit, minmax($size-width, 1fr));
|
10
|
+
clear: both;
|
11
|
+
|
12
|
+
li {
|
13
|
+
position: relative;
|
14
|
+
text-align: center;
|
15
|
+
.disabled {
|
16
|
+
opacity: .7;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
img {
|
20
|
+
object-fit: cover;
|
21
|
+
width: 100%;
|
22
|
+
height: $size-height;
|
23
|
+
}
|
24
|
+
}
|
data/_sass/_lesson.scss
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
samp {
|
2
|
+
filter: blur(4px);
|
3
|
+
font-family: var(--specialFont);
|
4
|
+
font-size: 18px;
|
5
|
+
cursor: pointer;
|
6
|
+
&.on {
|
7
|
+
filter: none;
|
8
|
+
color: var(--secondaryColor);
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
.lesson-number {
|
13
|
+
display: flex;
|
14
|
+
align-items: center;
|
15
|
+
justify-content: center;
|
16
|
+
text-decoration: none;
|
17
|
+
padding: 7px 5px 3px 5px;
|
18
|
+
margin: 0 5px;
|
19
|
+
background-color: var(--fgColor);
|
20
|
+
font-family: var(--fontText);
|
21
|
+
color: var(--bgColor);
|
22
|
+
border-radius: 50%;
|
23
|
+
width: 25px;
|
24
|
+
height: 25px;
|
25
|
+
font-size: 16px;
|
26
|
+
|
27
|
+
&.current {
|
28
|
+
background-color: var(--secondaryColor);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
a.lesson-number{
|
33
|
+
color: var(--fgColor);
|
34
|
+
background-color: var(--linkColor);
|
35
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
$size-width: 150px;
|
2
|
+
|
3
|
+
.paginator-container {
|
4
|
+
max-width: var(--contentWidth);
|
5
|
+
width: 100%;
|
6
|
+
display: flex;
|
7
|
+
justify-content: space-between;
|
8
|
+
}
|
9
|
+
|
10
|
+
.paginator {
|
11
|
+
width: $size-width;
|
12
|
+
a {
|
13
|
+
text-align: center;
|
14
|
+
display: block;
|
15
|
+
font-size: 14px;
|
16
|
+
line-height: 1.3;
|
17
|
+
}
|
18
|
+
img {
|
19
|
+
object-fit: cover;
|
20
|
+
width: 100%;
|
21
|
+
height: 100px;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
.pull-left, .pull-right {
|
26
|
+
color: var(--darkColor);
|
27
|
+
display: flex;
|
28
|
+
align-items: end;
|
29
|
+
justify-content: flex-end;
|
30
|
+
}
|
31
|
+
|
32
|
+
.pull-left {
|
33
|
+
flex-direction: row-reverse;
|
34
|
+
}
|