jekyll-theme-2038 0.1.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.
Files changed (44) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +53 -0
  5. data/README.old.md +52 -0
  6. data/_config.yml +40 -0
  7. data/_data/theme-2038-i18n.yml +28 -0
  8. data/_includes/custom-head.html +2 -0
  9. data/_includes/drawer.html +26 -0
  10. data/_includes/footer.html +36 -0
  11. data/_includes/head.html +15 -0
  12. data/_includes/link-item.html +8 -0
  13. data/_includes/page-link.html +19 -0
  14. data/_includes/pick-language.html +6 -0
  15. data/_includes/plain-list.html +17 -0
  16. data/_includes/social.html +21 -0
  17. data/_includes/time-line.html +38 -0
  18. data/_includes/toc.html +182 -0
  19. data/_layouts/default.html +14 -0
  20. data/_layouts/page.html +12 -0
  21. data/_layouts/post.html +64 -0
  22. data/_sass/2038/colour-relative.scss +221 -0
  23. data/_sass/2038/colour/auto.scss +6 -0
  24. data/_sass/2038/colour/dark.scss +14 -0
  25. data/_sass/2038/colour/light.scss +10 -0
  26. data/_sass/2038/drawer.scss +121 -0
  27. data/_sass/2038/footer.scss +80 -0
  28. data/_sass/2038/init.scss +5 -0
  29. data/_sass/2038/miscellaneous.scss +194 -0
  30. data/_sass/2038/resize.scss +125 -0
  31. data/_sass/2038/syntax-dark.scss +87 -0
  32. data/_sass/2038/syntax-light.scss +87 -0
  33. data/_sass/2038/typo.scss +364 -0
  34. data/assets/billingual-annotation.svg +1 -0
  35. data/assets/dot-dark.svg +3 -0
  36. data/assets/dot-light.svg +3 -0
  37. data/assets/main.scss +9 -0
  38. data/assets/minima-social-icons.svg +50 -0
  39. data/assets/screenshot-light.jpg +0 -0
  40. data/assets/screenshot.jpg +0 -0
  41. data/assets/underline-dark.svg +3 -0
  42. data/assets/underline-light.svg +3 -0
  43. data/assets/wordmark.svg +28 -0
  44. metadata +99 -0
@@ -0,0 +1,14 @@
1
+ {%- assign lang = page.lang | default: site.lang | default: 'cmn-Hans' -%}
2
+ {%- assign info-array = site.data.theme-2038-i18n | map: lang -%}
3
+ {%- assign info = info-array[0] -%}
4
+
5
+ <html lang="{{ lang }}">
6
+ {%- include head.html -%}
7
+ <body>
8
+ <main class="ml-main">
9
+ {{ content }}
10
+ </main>
11
+ {%- include footer.html %}
12
+ </body>
13
+ </html>
14
+
@@ -0,0 +1,12 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {% include drawer.html %}
6
+ {% if page.title %}
7
+ <h1 class="ml-title">{{ page.title }}</h1>
8
+ {% endif %}
9
+ <article class="ml-article">
10
+ {{ content }}
11
+ </article>
12
+
@@ -0,0 +1,64 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ {%- assign lang = page.lang | default: site.lang | default: 'cmn-Hans' -%}
6
+ {%- assign info-array = site.data.theme-2038-i18n | map: lang -%}
7
+ {%- assign info = info-array[0] -%}
8
+ {%- assign t2038 = site.theme-2038 -%}
9
+
10
+ {% include drawer.html %}
11
+ {% if page.title %}
12
+ <h1 class="ml-title">{{ page.title }}</h1>
13
+ {% endif %}
14
+ <ul class="ml-smaller ml-ul-dot-line ml-front">
15
+ <li>
16
+ {%- assign time = page.date | default: 'now' -%}
17
+ <time datetime="{{ time }}" title="{{ time | date: info.time-format }}" pubdate>
18
+ {%- assign time-manifest = time | date: info.date-format -%}
19
+ {{ info.published-at | replace: 'TIME', time-manifest }}
20
+ </time>
21
+ </li>
22
+ <li>
23
+ {%- assign length = content.size | divided_by: 1000.0 | round: 1 -%}
24
+ {{ info.post-length | replace: 'LENGTH', length }}
25
+ </li>
26
+ {%- assign clink = t2038.category-links -%}
27
+ {%- if page.categories.size != 0 -%}
28
+ <li>
29
+ {{ info.category }}
30
+ {%- for category in page.categories -%}
31
+ {%- assign cescape = category | uri_escape -%}
32
+ {%- assign now-array = clink | map: category -%}
33
+ {%- if now-array.size == 0 -%}
34
+ <a rel="index" href="
35
+ {{ t2038.category-dir | default: '/category/' | append: cescape | relative_path }}
36
+ ">{{ category }}</a>
37
+ {%- else -%}
38
+ <a rel="index" href="{{ now-array[0] }}">{{ category }}</a>
39
+ {%- endif -%}
40
+ {%- endfor -%}
41
+ </li>
42
+ {%- endif -%}
43
+ {%- assign tlink = t2038.tag-links -%}
44
+ {%- if page.tags.size != 0 -%}
45
+ <li>
46
+ {{ info.tag }}
47
+ {%- for tag in page.tags -%}
48
+ {%- assign tescape = tag | uri_escape -%}
49
+ {%- assign now-array = tlink | map: tag -%}
50
+ {%- if now-array.size == 0 -%}
51
+ <a rel="index" href="
52
+ {{ t2038.tag-dir | default: '/tag/' | append: tescape | relative_path }}
53
+ ">{{ tag }}</a>
54
+ {%- else -%}
55
+ <a rel="index" href="{{ now-array[0] }}">{{ tag }}</a>
56
+ {%- endif -%}
57
+ {%- endfor -%}
58
+ </li>
59
+ {%- endif -%}
60
+ </ul>
61
+ <article class="ml-article">
62
+ {{ content }}
63
+ </article>
64
+
@@ -0,0 +1,221 @@
1
+ $curtain-colour: fade-out($bgcolour, .15);
2
+ $indication-colour: fade-out($base-colour, .9);
3
+
4
+ $normal-colour: fade-out($base-colour, .3);
5
+ $levity-colour: fade-out($base-colour, .4);
6
+ $heavy-colour: fade-out($base-colour, .1);
7
+ $atlarge-colour: fade-out($base-colour, .6);
8
+
9
+ $line-colour: $levity-colour;
10
+
11
+ $link-change-time: .3s !default;
12
+
13
+ h1, h2, h3, h4, h5, h6, strong, .ml-footer-desc {
14
+ color: $heavy-colour;
15
+ }
16
+
17
+ body {
18
+ background: $bgcolour;
19
+ color: $normal-colour;
20
+ }
21
+
22
+ @media screen and (max-width: 1300px) {
23
+ .ml-drawer[open] {
24
+ background: $curtain-colour;
25
+ }
26
+ }
27
+
28
+ .footnotes ol {
29
+ padding-left: 2rem;
30
+ list-style: decimal;
31
+ }
32
+
33
+ .ml-smaller, .footnotes {
34
+ margin: 0;
35
+ font-size: .9em;
36
+ }
37
+
38
+ .ml-footer .ml-smaller {
39
+ color: $levity-colour;
40
+ }
41
+
42
+ .ml-drawer a, .ml-social-list .svg-icon, .ml-article a {
43
+ color: $levity-colour;
44
+
45
+ @media screen and (prefers-reduced-motion: no-preference) {
46
+ transition: color $link-change-time;
47
+ }
48
+
49
+ &:hover {
50
+ color: $heavy-colour;
51
+ }
52
+ }
53
+
54
+ .ml-drawer summary {
55
+ color: $normal-colour;
56
+ }
57
+
58
+ .ml-drawer summary:hover, .ml-bookmark a:hover, .ml-block-anchor:hover, .ml-page-list a:hover {
59
+ background: $indication-colour;
60
+ }
61
+
62
+ .ml-toc-1 > a, .ml-toc-2 > a {
63
+ color: fade-out($base-colour, .2);
64
+ }
65
+
66
+ .ml-bookmark a {
67
+ @media screen and (prefers-reduced-motion: no-preference) {
68
+ transition: background, color $link-change-time;
69
+ }
70
+ }
71
+
72
+ .ml-article a, .ml-front a, .ml-footer a {
73
+ color: $heavy-colour;
74
+ &:hover {
75
+ color: $normal-colour
76
+ }
77
+ }
78
+
79
+ .ml-footer-main {
80
+ background: $curtain-colour;
81
+ }
82
+
83
+ blockquote {
84
+ border-left: .25em solid $indication-colour;
85
+ }
86
+
87
+ kbd {
88
+ border: 1px solid $line-colour;
89
+ border-radius: 5px
90
+ }
91
+
92
+ table tr, table td, table caption, pre {
93
+ border: 1px solid $atlarge-colour;
94
+ }
95
+
96
+ mark {
97
+ border: 1px dashed $heavy-colour;
98
+ background: none
99
+ }
100
+
101
+ ins, .ml-article a, .ml-front a, .ml-footer a {
102
+ border-bottom: 1px solid $line-colour;
103
+ }
104
+
105
+ .ml-article a:hover, .ml-front a, .ml-footer a {
106
+ border-bottom-color: $atlarge-colour;
107
+ }
108
+
109
+ u {
110
+ border-bottom: 1.2px dashed $line-colour;
111
+ }
112
+
113
+ em:after {
114
+ color: $line-colour;
115
+ }
116
+
117
+ figcaption {
118
+ color: $levity-colour;
119
+ }
120
+
121
+ strong, b, mark {
122
+ color: $heavy-colour;
123
+ }
124
+
125
+ body, .ml-drawer-inside {
126
+ &::-webkit-scrollbar-thumb {
127
+ background: $atlarge-colour;
128
+ }
129
+ &::-webkit-scrollbar-thumb:hover {
130
+ background: $levity-colour;
131
+ }
132
+ &::-webkit-scrollbar-track-piece {
133
+ background: transparent;
134
+ }
135
+ &::-webkit-scrollbar-track-piece:hover {
136
+ background: $indication-colour;
137
+ }
138
+ }
139
+
140
+
141
+
142
+ @mixin draw-bottom {
143
+ padding-bottom: .4em;
144
+ font-style: normal;
145
+ background-repeat: repeat-x;
146
+ background-size: 1em 1.4em;
147
+ }
148
+
149
+ em {
150
+ &:lang(*-Hans), &:lang(*-Hant) {
151
+ @include draw-bottom;
152
+ background-image: $em-image;
153
+ }
154
+
155
+ &:lang(cmn-Hans), &:lang(cmn-Hant),
156
+ &:lang(wuu-Hans), &:lang(wuu-Hant),
157
+ &:lang(czh-Hans), &:lang(czh-Hant),
158
+ &:lang(hak-Hans), &:lang(hak-Hant),
159
+ &:lang(yue-Hans), &:lang(yue-Hant),
160
+ &:lang(nan-Hans), &:lang(nan-Hant),
161
+ &:lang(cpx-Hans), &:lang(cpx-Hant),
162
+ &:lang(cdo-Hans), &:lang(cdo-Hant),
163
+ &:lang(mnp-Hans), &:lang(mnp-Hant),
164
+ &:lang(zco-Hans), &:lang(zco-Hant),
165
+ &:lang(gan-Hans), &:lang(gan-Hant),
166
+ &:lang(hsn-Hans), &:lang(hsn-Hant),
167
+ &:lang(cjy-Hans), &:lang(cjy-Hant),
168
+ &:lang(lzh-Hans), &:lang(lzh-Hant) {
169
+ @include draw-bottom;
170
+ background-image: $em-image;
171
+ }
172
+ }
173
+
174
+ cite {
175
+ &:lang(*-Hans), &:lang(*-Hant) {
176
+ @include draw-bottom;
177
+ background-image: $cite-image;
178
+ }
179
+
180
+ &:lang(cmn-Hans), &:lang(cmn-Hant),
181
+ &:lang(wuu-Hans), &:lang(wuu-Hant),
182
+ &:lang(czh-Hans), &:lang(czh-Hant),
183
+ &:lang(hak-Hans), &:lang(hak-Hant),
184
+ &:lang(yue-Hans), &:lang(yue-Hant),
185
+ &:lang(nan-Hans), &:lang(nan-Hant),
186
+ &:lang(cpx-Hans), &:lang(cpx-Hant),
187
+ &:lang(cdo-Hans), &:lang(cdo-Hant),
188
+ &:lang(mnp-Hans), &:lang(mnp-Hant),
189
+ &:lang(zco-Hans), &:lang(zco-Hant),
190
+ &:lang(gan-Hans), &:lang(gan-Hant),
191
+ &:lang(hsn-Hans), &:lang(hsn-Hant),
192
+ &:lang(cjy-Hans), &:lang(cjy-Hant),
193
+ &:lang(lzh-Hans), &:lang(lzh-Hant) {
194
+ @include draw-bottom;
195
+ background-image: $cite-image;
196
+ }
197
+ }
198
+
199
+ .ml-card-anchor {
200
+ background: $card-colour;
201
+ color: $levity-colour;
202
+
203
+ h2 {
204
+ color: $normal-colour;
205
+ }
206
+
207
+ &:hover {
208
+ background-color: fade-out($indication-colour, 0.05);
209
+ color: $heavy-colour
210
+ }
211
+ }
212
+
213
+ .ml-card-list {
214
+ border-left: 2px solid $normal-colour;
215
+ }
216
+
217
+ .ml-card-list dt::before {
218
+ border: 2px solid $normal-colour;
219
+ background: $bgcolour;
220
+ border-radius: 1em;
221
+ }
@@ -0,0 +1,6 @@
1
+ @import '2038/colour/light';
2
+
3
+ @media screen and (prefers-color-scheme: dark) {
4
+ @import '2038/colour/dark';
5
+ }
6
+
@@ -0,0 +1,14 @@
1
+ .ml-wordmark {
2
+ filter: invert(1) hue-rotate(180deg);
3
+ }
4
+
5
+ $cite-image: url(underline-dark.svg);
6
+ $em-image: url(dot-dark.svg);
7
+
8
+ $bgcolour: black;
9
+ $base-colour: white;
10
+ $card-colour: #1A1A1A;
11
+
12
+ @import '2038/syntax-dark',
13
+ '2038/colour-relative';
14
+
@@ -0,0 +1,10 @@
1
+ $bgcolour: #F5F5F5;
2
+ $base-colour: black;
3
+ $card-colour: white;
4
+
5
+ $cite-image: url(underline-light.svg);
6
+ $em-image: url(dot-light.svg);
7
+
8
+ @import '2038/syntax-light',
9
+ '2038/colour-relative';
10
+
@@ -0,0 +1,121 @@
1
+ $transition-time: .4s !default;
2
+ $mobile-width: 24em !default;
3
+ $mobile-opacity: .7 !default;
4
+
5
+ .ml-drawer-inside {
6
+ padding: 3em 10px;
7
+ max-height: 75%;
8
+ overflow: auto;
9
+ }
10
+
11
+ .ml-drawer {
12
+ position: fixed;
13
+ left: 0;
14
+ top: 0;
15
+ height: 3rem;
16
+
17
+ &[open] {
18
+ height: 100%;
19
+ }
20
+
21
+ &[open] .ml-menu-button {
22
+ transform: rotate(-90deg);
23
+ }
24
+
25
+ .ml-menu-button {
26
+ position: fixed;
27
+ top: 10px;
28
+ left: 10px;
29
+ width: 2rem;
30
+ height: 2rem;
31
+ text-align: center;
32
+ line-height: 2rem;
33
+ font-size: 2rem;
34
+ speak: none;
35
+
36
+ &::marker {
37
+ content: '';
38
+ }
39
+ }
40
+
41
+ a {
42
+ text-decoration: none;
43
+ }
44
+
45
+ ul {
46
+ list-style-type: none;
47
+ }
48
+ }
49
+
50
+ .ml-bookmark li {
51
+ font-size: 1.05em
52
+ }
53
+
54
+ @media screen and (max-width: 1300px) {
55
+ .ml-drawer[open] {
56
+ width: 100%;
57
+ z-index: 10;
58
+ }
59
+
60
+ .ml-drawer-inside {
61
+ max-width: $mobile-width;
62
+ margin: 56px auto 0;
63
+ }
64
+ }
65
+
66
+ @media screen and (min-width: 1301px) {
67
+ .ml-toc {
68
+ font-size: .9em
69
+ }
70
+
71
+ .ml-drawer {
72
+ width: 50%;
73
+ box-sizing: border-box
74
+ }
75
+ }
76
+
77
+ @media screen and (prefers-reduced-motion: no-preference) {
78
+ .ml-drawer {
79
+ transition: height $transition-time;
80
+ summary {
81
+ transition: transform $transition-time;
82
+ }
83
+ }
84
+ .ml-bookmark li {
85
+ transition: background $transition-time;
86
+ }
87
+ }
88
+
89
+
90
+ .ml-toc li {
91
+ margin: .8em 0;
92
+ line-height: 1.1em
93
+ }
94
+
95
+ .ml-toc, .ml-toc-sub, .ml-bookmark {
96
+ margin: 0;
97
+ padding: 0;
98
+ }
99
+
100
+ .ml-toc, .ml-toc-sub {
101
+ padding-left: 1em;
102
+ }
103
+
104
+ .ml-toc-1 > .ml-toc-sub, .ml-toc-2 > .ml-toc-sub {
105
+ padding-left: 0;
106
+ margin: .5em 0 1em
107
+ }
108
+
109
+ .ml-bookmark {
110
+ margin-bottom: 1em;
111
+ text-align: center;
112
+ width: 80%;
113
+ padding: 1em;
114
+
115
+ a {
116
+ display: block;
117
+ width: 100%;
118
+ line-height: 2.5em;
119
+ }
120
+ }
121
+