askclass-course-theme 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +16 -3
- data/_includes/course.html +38 -27
- data/_includes/date_range.html +21 -0
- data/_includes/segment/header.html +1 -6
- data/_includes/segment/index.html +23 -19
- data/_includes/session/header.html +24 -19
- data/_includes/session/points.html +15 -10
- data/_layouts/segment.html +2 -1
- data/_layouts/session.html +1 -1
- data/_sass/_lesson.scss +5 -0
- data/_sass/_post.scss +1 -0
- data/_sass/_tab.scss +19 -5
- metadata +3 -4
- data/_includes/segment/common.html +0 -25
- data/_sass/_tab.scsse +0 -125
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0274dfb992414500ae8a22b28ce5ca887b597d2774ed4a7cea10f3c5003e6056
|
4
|
+
data.tar.gz: a2e24d85b4f5b7cd839aa1714e00b81a1f3e266acaff37a2c09de0d255f9cc1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47995253aa9c6bc965419788dfe2130041a90d671ad22bfb641dfda2cbdb7fc23515a4cde4fed4c75605edefc44700118965629a16ea0befabe90d9ffc06696a
|
7
|
+
data.tar.gz: 8c4dd7487cbb755ddda87bc70d6a509a6eb9ff287fbc792ddcd6d07e59006557ce709f44eff79ef7918278253c70e56adb853a39ca6417f43786306b239fa41b
|
data/README.md
CHANGED
@@ -1,17 +1,25 @@
|
|
1
1
|
# AskClass News Theme
|
2
|
-
[![Build]][Build Link] [![CodeQL]][CodeQL Link]
|
2
|
+
[![Deploy Jekyll]][Deploy Jekyll Link] [![Build]][Build Link] [![CodeQL]][CodeQL Link]
|
3
3
|
|
4
4
|
Simple responsive Jekyll theme for a course syllabus.
|
5
5
|
|
6
6
|
## Installation
|
7
7
|
|
8
|
+
Starting fresh:
|
8
9
|
```sh
|
9
|
-
# If starting fresh add this
|
10
10
|
$ echo 'source "https://rubygems.org"' > Gemfile
|
11
|
+
$ echo 'theme: askclass-course-theme/ > _config.yml
|
12
|
+
$ bundle
|
13
|
+
$ jekyll serve
|
14
|
+
```
|
11
15
|
|
16
|
+
Copy and edit `_config.yml`.
|
17
|
+
Copy `index.html`, `pwabuilder-sw.jq`, `404.html`, `_data`, and `content` to the root dir.
|
18
|
+
|
19
|
+
Existing project:
|
20
|
+
```sh
|
12
21
|
$ echo 'gem "askclass-course-theme"' >> Gemfile
|
13
22
|
$ sed -i '1 s/^/theme: askclass-course-theme\n/' _config.yml
|
14
|
-
$ bundle
|
15
23
|
```
|
16
24
|
|
17
25
|
----
|
@@ -45,7 +53,12 @@ The theme is available as open source under the terms of the [MPL-2.0 License].
|
|
45
53
|
[MPL-2.0 License]: https://opensource.org/licenses/MPL-2.0
|
46
54
|
[Contributor Covenant]: http://contributor-covenant.org
|
47
55
|
[Card Colors]: https://acn.askclass.com/2022/06/18/card-colors
|
56
|
+
|
57
|
+
[Deploy Jekyll]: https://github.com/beAuthentic/askclass-course-theme/actions/workflows/pages.yml/badge.svg
|
58
|
+
[Deploy Jekyll Link]: https://github.com/beAuthentic/askclass-course-theme/actions/workflows/pages.yml
|
59
|
+
|
48
60
|
[Build]: https://github.com/beAuthentic/askclass-course-theme/actions/workflows/gem-push.yml/badge.svg
|
49
61
|
[Build Link]: https://github.com/beAuthentic/askclass-course-theme/actions/workflows/gem-push.yml
|
62
|
+
|
50
63
|
[CodeQL]: https://github.com/beAuthentic/askclass-course-theme/actions/workflows/codeql-analysis.yml/badge.svg
|
51
64
|
[CodeQL Link]: https://github.com/beAuthentic/askclass-course-theme/actions/workflows/codeql-analysis.yml
|
data/_includes/course.html
CHANGED
@@ -1,49 +1,50 @@
|
|
1
|
-
{
|
1
|
+
{%- assign course = site.data.course -%}
|
2
2
|
<ul class="grid">
|
3
|
-
{
|
4
|
-
{
|
5
|
-
{
|
3
|
+
{%- for segment in course.segments -%}
|
4
|
+
{%- assign info = site.data.syllabus[segment] -%}
|
5
|
+
{%- if info -%}
|
6
6
|
<li class="card-tab {{ info.theme }}">
|
7
7
|
<div class="top-bar">{{ info.segment[0] }}</div>
|
8
8
|
<div class="tab">{{ info.segment[1] }}</div>
|
9
9
|
<div class="header">
|
10
10
|
<a href="/segment/{{ segment }}">
|
11
|
-
{
|
12
|
-
{{ info.begin | date: site.acc.date_format }} - {{ info.end | date: site.acc.date_format }}
|
13
|
-
{% else %}
|
14
|
-
{{ info.date }}
|
15
|
-
{% endif %}
|
11
|
+
{%- include date_range.html info=info -%}
|
16
12
|
</a>
|
17
13
|
</div>
|
18
14
|
<div class="body">
|
19
|
-
{
|
15
|
+
{%- if info.desc -%}
|
16
|
+
<h4>{{ info.desc }}</h4>
|
17
|
+
{%- endif -%}
|
18
|
+
{%- if info.image -%}
|
20
19
|
<img src="/assets/loading.svg" data="{{ info.thumb | default: info.image }}" alt="{{ info.title }}" />
|
21
|
-
{
|
22
|
-
{
|
23
|
-
{
|
20
|
+
{%- endif -%}
|
21
|
+
{%- for item in info.items -%}
|
22
|
+
{%- assign session = site.data.sessions[item] -%}
|
24
23
|
<div class="item">
|
25
24
|
<div class="middle-align">
|
26
25
|
<span class="material-symbols-outlined">{{ session.icon }}</span>
|
27
26
|
<h3>{{ session.header }}</h3>
|
28
|
-
{% if session.due %}
|
29
|
-
<small class="due" title="Due {{ session.due | date: site.acc.date_format }}">
|
30
|
-
<span class="material-symbols-outlined">alarm_on</span>
|
31
|
-
{{ session.due | date: site.acc.date_format }}
|
32
|
-
</small>
|
33
|
-
{% endif %}
|
34
27
|
</div>
|
28
|
+
{%- if session.due -%}
|
29
|
+
<small class="due"
|
30
|
+
data-date="{{ session.due }}"
|
31
|
+
title="Due {{ session.due | date: site.acc.date_format }}">
|
32
|
+
<span class="material-symbols-outlined">alarm_on</span>
|
33
|
+
{{ session.due | date: '%b %e' }}
|
34
|
+
</small>
|
35
|
+
{%- endif -%}
|
35
36
|
|
36
|
-
{
|
37
|
+
{%- if session.url -%}
|
37
38
|
<a href="/session/{{ session.url }}" title="{{ session.title }}">{{ session.title }}</a>
|
38
|
-
{
|
39
|
+
{%- else -%}
|
39
40
|
{{ session.title }}
|
40
|
-
{
|
41
|
+
{%- endif -%}
|
41
42
|
|
42
|
-
{
|
43
|
+
{%- if session.part -%}
|
43
44
|
<small>(Part {{ session.part }})</small>
|
44
|
-
{
|
45
|
+
{%- endif -%}
|
45
46
|
</div>
|
46
|
-
{
|
47
|
+
{%- endfor -%}
|
47
48
|
</div>
|
48
49
|
<div class="control">
|
49
50
|
<a class="button" href="/segment/{{ segment }}">
|
@@ -52,6 +53,16 @@
|
|
52
53
|
</a>
|
53
54
|
</div>
|
54
55
|
</li>
|
55
|
-
{
|
56
|
-
{
|
56
|
+
{%- endif -%}
|
57
|
+
{%- endfor -%}
|
57
58
|
</ul>
|
59
|
+
|
60
|
+
<script defer>
|
61
|
+
const due = document.querySelectorAll('.due');
|
62
|
+
due.forEach( el => {
|
63
|
+
const d = new Date(el.dataset.date.split('-')).getTime();
|
64
|
+
if (d < Date.now()) {
|
65
|
+
el.classList.add('past');
|
66
|
+
}
|
67
|
+
});
|
68
|
+
</script>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{%- assign _d = include.info -%}
|
2
|
+
|
3
|
+
{%- if _d.begin and _d.end -%}
|
4
|
+
{%- assign y1 = _d.begin | date: '%Y' -%}
|
5
|
+
{%- assign y2 = _d.end | date: '%Y' -%}
|
6
|
+
{%- if y1 == y2 -%}
|
7
|
+
{%- assign m1 = _d.begin | date: '%m' -%}
|
8
|
+
{%- assign m2 = _d.end | date: '%m' -%}
|
9
|
+
{{ _d.begin | date: '%b %e - ' }}
|
10
|
+
{%- if m1 == m2 -%}
|
11
|
+
{{ _d.end | date: '%e, %y' }}
|
12
|
+
{%- else -%}
|
13
|
+
{{ _d.end | date: '%b %e, %y' }}
|
14
|
+
{%- endif -%}
|
15
|
+
{%- else -%}
|
16
|
+
{{ _d.begin | date: '%b %e, %y-' }}{{ _d.end | date: '%b %e, %y' }}
|
17
|
+
{%- endif -%}
|
18
|
+
{%- elsif _d.date | date: '%b %e, %y' -%}
|
19
|
+
{{ _d.date }}
|
20
|
+
{%- endif -%}
|
21
|
+
|
@@ -1,10 +1,5 @@
|
|
1
1
|
{% assign info = include.info %}
|
2
2
|
<section class="center-align">
|
3
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 %}
|
4
|
+
{%- include date_range.html info=include.info -%}
|
10
5
|
</section>
|
@@ -1,44 +1,48 @@
|
|
1
|
-
{
|
1
|
+
{%- assign info = include.info -%}
|
2
2
|
|
3
3
|
<ul class="grid">
|
4
|
-
{
|
5
|
-
{
|
4
|
+
{%- for item in info.items -%}
|
5
|
+
{%- assign session = site.data.sessions[item] -%}
|
6
6
|
<li class="card-tab {{ info.theme }}">
|
7
7
|
|
8
|
-
{
|
8
|
+
{%- if session.type -%}
|
9
9
|
<div class="top-bar">{{ session.type }}</div>
|
10
|
-
|
11
|
-
{% elsif session.sequence %}
|
10
|
+
{%- elsif session.sequence -%}
|
12
11
|
<div class="top-bar">{{ site.data.course.session_tag }}</div>
|
13
|
-
|
14
|
-
{% else %}
|
12
|
+
{%- else -%}
|
15
13
|
<div class="top-bar"> </div>
|
16
|
-
{
|
14
|
+
{%- endif -%}
|
15
|
+
|
16
|
+
{%- if session.sequence -%}
|
17
|
+
<div class="tab">{{ session.sequence }}</div>
|
18
|
+
{%- elsif session.icon -%}
|
19
|
+
<div class="tab material-symbols-outlined">{{ session.icon }}</div>
|
20
|
+
{%- endif -%}
|
17
21
|
|
18
|
-
{
|
22
|
+
{%- if session.due -%}
|
19
23
|
<div class="header">
|
20
24
|
<span class="material-symbols-outlined">alarm_on</span>
|
21
25
|
{{ session.due | date: '%b %e, %y' }}
|
22
26
|
</div>
|
23
|
-
{
|
27
|
+
{%- elsif session.type -%}
|
24
28
|
<div class="header">{{ session.header }}</div>
|
25
|
-
{
|
29
|
+
{%- else -%}
|
26
30
|
<div class="header"> </div>
|
27
|
-
{
|
31
|
+
{%- endif -%}
|
28
32
|
|
29
33
|
<div class="body">
|
30
|
-
{
|
34
|
+
{%- if session.url -%}
|
31
35
|
<h3><a href="/session/{{ session.url }}">{{ session.title }}</a></h3>
|
32
|
-
{
|
36
|
+
{%- else -%}
|
33
37
|
<h3>{{ session.title }}</h3>
|
34
|
-
{
|
38
|
+
{%- endif -%}
|
35
39
|
|
36
|
-
{
|
40
|
+
{%- if session.part -%}
|
37
41
|
<div class="item">
|
38
42
|
Part {{ session.part }}
|
39
43
|
</div>
|
40
|
-
{
|
44
|
+
{%- endif -%}
|
41
45
|
</div>
|
42
46
|
</li>
|
43
|
-
{
|
47
|
+
{%- endfor -%}
|
44
48
|
</ul>
|
@@ -1,35 +1,40 @@
|
|
1
1
|
<section class="center-align special">
|
2
|
-
{
|
2
|
+
{%- if session_data.header -%}
|
3
3
|
<div>{{ session_data.header }}</div>
|
4
|
-
{
|
4
|
+
{%- endif -%}
|
5
5
|
|
6
6
|
<h1 class="special">{{ session_data.title }}</h1>
|
7
7
|
|
8
|
-
{
|
8
|
+
{%- if session_data.part -%}
|
9
9
|
<div>Part {{ session_data.part }}</div>
|
10
|
-
{
|
10
|
+
{%- endif -%}
|
11
11
|
|
12
|
-
{
|
12
|
+
{%- include segment/nav.html segment=session_data.segment -%}
|
13
13
|
|
14
14
|
<div>
|
15
|
-
{
|
16
|
-
{{ segment_data.begin | date: '%b %e' }} - {{ segment_data.end | date: '%b %e, %Y' }}
|
17
|
-
{% else %}
|
18
|
-
{{ segment_data.date }}
|
19
|
-
{% endif %}
|
15
|
+
{%- include date_range.html info=segment_data -%}
|
20
16
|
</div>
|
21
17
|
|
22
18
|
<div class="middle-align">
|
23
|
-
{
|
24
|
-
{
|
19
|
+
{%- for item in segment_data.items -%}
|
20
|
+
{%- assign _info = site.data.sessions[item] -%}
|
21
|
+
{%- if _info.sequence -%}
|
22
|
+
{%- assign _mso = '' -%}
|
23
|
+
{%- else -%}
|
24
|
+
{%- assign _mso = 'material-symbols-outlined' -%}
|
25
|
+
{%- endif -%}
|
25
26
|
|
26
|
-
{
|
27
|
-
<span class="lesson-number current
|
28
|
-
|
29
|
-
|
30
|
-
{
|
27
|
+
{%- if item == session_id -%}
|
28
|
+
<span class="lesson-number current {{_mso}}">
|
29
|
+
{{ _info.sequence | default: _info.icon }}
|
30
|
+
</span>
|
31
|
+
{%- elsif _info.url -%}
|
32
|
+
<a class="lesson-number {{_mso}}" href="/session/{{ _info.url }}">
|
33
|
+
{{ _info.sequence | default: _info.icon }}
|
34
|
+
</a>
|
35
|
+
{%- else -%}
|
31
36
|
<span class="lesson-number">{{ _info.sequence }}</span>
|
32
|
-
{
|
33
|
-
{
|
37
|
+
{%- endif -%}
|
38
|
+
{%- endfor -%}
|
34
39
|
</div>
|
35
40
|
</section>
|
@@ -1,11 +1,16 @@
|
|
1
|
-
{%- if session_data.
|
2
|
-
<
|
3
|
-
{%- if session_data.points -%}
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
{%-
|
10
|
-
|
1
|
+
{%- if session_data.points or session_data.due -%}
|
2
|
+
<table style="width: max-content">
|
3
|
+
{%- if session_data.points -%}
|
4
|
+
<tr>
|
5
|
+
<td>Points</td>
|
6
|
+
<td>{{ session_data.points }}</td>
|
7
|
+
</tr>
|
8
|
+
{%- endif -%}
|
9
|
+
{%- if session_data.due -%}
|
10
|
+
<tr>
|
11
|
+
<td>Due</td>
|
12
|
+
<td>{{ session_data.due | date: '%B %d, %Y' }}</td>
|
13
|
+
</tr>
|
14
|
+
{%- endif -%}
|
15
|
+
</table>
|
11
16
|
{%- endif -%}
|
data/_layouts/segment.html
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
<html lang="en">
|
6
6
|
{% include header.html %}
|
7
7
|
<body>
|
8
|
-
{% include logo.html size=50
|
8
|
+
{% include logo.html size=50 %}
|
9
9
|
{% include segment/header.html info=info %}
|
10
10
|
|
11
11
|
{% include segment/index.html info=info %}
|
@@ -13,5 +13,6 @@
|
|
13
13
|
{{ content }}
|
14
14
|
|
15
15
|
{% include segment/nav.html segment=segment %}
|
16
|
+
{% include footer.html %}
|
16
17
|
</body>
|
17
18
|
</html>
|
data/_layouts/session.html
CHANGED
data/_sass/_lesson.scss
CHANGED
data/_sass/_post.scss
CHANGED
data/_sass/_tab.scss
CHANGED
@@ -51,8 +51,10 @@ html {
|
|
51
51
|
display: block;
|
52
52
|
font-size: 12px;
|
53
53
|
}
|
54
|
-
|
55
|
-
font-
|
54
|
+
&.material-symbols-outlined {
|
55
|
+
font-family: 'Material Symbols Outlined';
|
56
|
+
line-height: 0.7;
|
57
|
+
font-size: 37px;
|
56
58
|
}
|
57
59
|
}
|
58
60
|
|
@@ -74,7 +76,7 @@ html {
|
|
74
76
|
|
75
77
|
.body {
|
76
78
|
flex-grow: 2;
|
77
|
-
padding:
|
79
|
+
padding: 10px;
|
78
80
|
overflow: hidden;
|
79
81
|
text-align: left;
|
80
82
|
h2 {
|
@@ -82,18 +84,24 @@ html {
|
|
82
84
|
margin-top: 10px;
|
83
85
|
line-height: 2.4rem;
|
84
86
|
}
|
87
|
+
h4 {
|
88
|
+
color: inherit;
|
89
|
+
margin: 5px 0;
|
90
|
+
}
|
91
|
+
.item:not(:first-child) {
|
92
|
+
border-top: 3px outset;
|
93
|
+
}
|
85
94
|
.item {
|
86
95
|
margin-bottom: 20px;
|
87
96
|
text-align: left;
|
88
97
|
font-size: $size-font;
|
89
|
-
border-top: 3px outset;
|
90
98
|
line-height: normal;
|
91
99
|
h3 {
|
92
100
|
margin: 3px 5px 0 5px;
|
93
101
|
color: $color-fg;
|
94
102
|
}
|
95
103
|
.due {
|
96
|
-
display: flex;
|
104
|
+
display: inline-flex;
|
97
105
|
align-items: center;
|
98
106
|
border-radius: 5px;
|
99
107
|
margin: 0 3px;
|
@@ -102,6 +110,12 @@ html {
|
|
102
110
|
font-size: 1.3em;
|
103
111
|
font-variation-settings: 'FILL' 1;
|
104
112
|
}
|
113
|
+
&.past {
|
114
|
+
background-color: var(--darkColor);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
small {
|
118
|
+
margin-left: 5px;
|
105
119
|
}
|
106
120
|
}
|
107
121
|
pre, code {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: askclass-course-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AskClass
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- README.md
|
36
36
|
- _config.yml
|
37
37
|
- _includes/course.html
|
38
|
+
- _includes/date_range.html
|
38
39
|
- _includes/foot/mathjax.html
|
39
40
|
- _includes/foot/pwaupdate.html
|
40
41
|
- _includes/footer.html
|
@@ -42,7 +43,6 @@ files:
|
|
42
43
|
- _includes/head/meta.html
|
43
44
|
- _includes/header.html
|
44
45
|
- _includes/logo.html
|
45
|
-
- _includes/segment/common.html
|
46
46
|
- _includes/segment/header.html
|
47
47
|
- _includes/segment/index.html
|
48
48
|
- _includes/segment/nav.html
|
@@ -64,7 +64,6 @@ files:
|
|
64
64
|
- _sass/_post.scss
|
65
65
|
- _sass/_tab-colors.scss
|
66
66
|
- _sass/_tab.scss
|
67
|
-
- _sass/_tab.scsse
|
68
67
|
- _sass/_table.scss
|
69
68
|
- _sass/_video.scss
|
70
69
|
- assets/css/grid.scss
|
@@ -1,25 +0,0 @@
|
|
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>
|
data/_sass/_tab.scsse
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
$color-bg: whitesmoke;
|
2
|
-
$color-fg: #444;
|
3
|
-
$size-font: 16px;
|
4
|
-
|
5
|
-
@mixin special() {
|
6
|
-
color: $color-bg;
|
7
|
-
font-family: var(--specialFont);
|
8
|
-
}
|
9
|
-
|
10
|
-
html {
|
11
|
-
--bg: #{$color-bg};
|
12
|
-
--fg: #{$color-fg};
|
13
|
-
--fontSize: #{$size-font};
|
14
|
-
}
|
15
|
-
|
16
|
-
.card-tab {
|
17
|
-
display: flex;
|
18
|
-
flex-direction: column;
|
19
|
-
position: relative;
|
20
|
-
background-image: linear-gradient(225deg, $color-fg 50%, transparent 50%);
|
21
|
-
background-size: 120px 27px;
|
22
|
-
background-repeat: no-repeat;
|
23
|
-
background-position: right top;
|
24
|
-
border-radius: 2px;
|
25
|
-
box-shadow: 3px 3px 3px rgba(0, 0, 0, .1);
|
26
|
-
border-top-width: 22px;
|
27
|
-
border-top-style: solid;
|
28
|
-
border-top-color: $color-fg;
|
29
|
-
background-color: $color-bg;
|
30
|
-
color: $color-fg;
|
31
|
-
text-transform: none;
|
32
|
-
height: calc(100% - 22px);
|
33
|
-
}
|
34
|
-
|
35
|
-
.top-bar {
|
36
|
-
@include special();
|
37
|
-
margin: -21px 0 0 5px;
|
38
|
-
font-size: 15px;
|
39
|
-
text-align: left;
|
40
|
-
}
|
41
|
-
|
42
|
-
.tab {
|
43
|
-
@include special();
|
44
|
-
position: absolute;
|
45
|
-
top: -10px;
|
46
|
-
right: 3px;
|
47
|
-
font-size: 45px;
|
48
|
-
line-height: 30px;
|
49
|
-
text-align: right;
|
50
|
-
small {
|
51
|
-
display: block;
|
52
|
-
font-size: 12px;
|
53
|
-
}
|
54
|
-
.material-symbols-outlined {
|
55
|
-
font-size: 24px;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
59
|
-
.header {
|
60
|
-
margin: 4px 50px 0 5px;
|
61
|
-
text-align: left;
|
62
|
-
line-height: 1;
|
63
|
-
height: 30px;
|
64
|
-
font-size: 20px;
|
65
|
-
overflow: hidden;
|
66
|
-
text-overflow: ellipsis;
|
67
|
-
display: -webkit-box;
|
68
|
-
-webkit-line-clamp: 2;
|
69
|
-
-webkit-box-orient: vertical;
|
70
|
-
font-family: var(--secondaryFont);
|
71
|
-
a {
|
72
|
-
color: var(--bgColor);
|
73
|
-
}
|
74
|
-
}
|
75
|
-
|
76
|
-
.body {
|
77
|
-
flex-grow: 2;
|
78
|
-
padding: 0 10px;
|
79
|
-
overflow: hidden;
|
80
|
-
text-align: left;
|
81
|
-
h2 {
|
82
|
-
word-break: break-word;
|
83
|
-
margin-top: 10px;
|
84
|
-
line-height: 2.4rem;
|
85
|
-
}
|
86
|
-
.item {
|
87
|
-
margin-bottom: 20px;
|
88
|
-
text-align: left;
|
89
|
-
font-size: $size-font;
|
90
|
-
border-top: 3px outset;
|
91
|
-
line-height: normal;
|
92
|
-
h3 {
|
93
|
-
margin: 0 0 0 5px;
|
94
|
-
color: $color-fg;
|
95
|
-
}
|
96
|
-
}
|
97
|
-
pre, code {
|
98
|
-
color: inherit;
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
.control {
|
103
|
-
margin-top: 10px;
|
104
|
-
padding: 10px;
|
105
|
-
display: flex;
|
106
|
-
justify-content: space-between;
|
107
|
-
a {
|
108
|
-
text-decoration: none;
|
109
|
-
font-size: $size-font;
|
110
|
-
display: contents;
|
111
|
-
&.button {
|
112
|
-
display: flex;
|
113
|
-
border-radius: 5px;
|
114
|
-
padding: 5px 10px;
|
115
|
-
color: white!important;
|
116
|
-
background-color: $color-fg;
|
117
|
-
}
|
118
|
-
}
|
119
|
-
.tags {
|
120
|
-
font-family: var(--secondaryFont);
|
121
|
-
white-space: nowrap;
|
122
|
-
text-overflow: ellipsis;
|
123
|
-
overflow: hidden;
|
124
|
-
}
|
125
|
-
}
|