doc-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +50 -0
  4. data/_data/locales/ar.yml +91 -0
  5. data/_data/locales/bg-BG.yml +81 -0
  6. data/_data/locales/cs-CZ.yml +89 -0
  7. data/_data/locales/de-DE.yml +87 -0
  8. data/_data/locales/el-GR.yml +91 -0
  9. data/_data/locales/en.yml +91 -0
  10. data/_data/locales/es-ES.yml +77 -0
  11. data/_data/locales/fi-FI.yml +90 -0
  12. data/_data/locales/fr-FR.yml +77 -0
  13. data/_data/locales/hu-HU.yml +79 -0
  14. data/_data/locales/id-ID.yml +77 -0
  15. data/_data/locales/it-IT.yml +90 -0
  16. data/_data/locales/ko-KR.yml +84 -0
  17. data/_data/locales/my-MM.yml +77 -0
  18. data/_data/locales/pt-BR.yml +77 -0
  19. data/_data/locales/ru-RU.yml +87 -0
  20. data/_data/locales/sl-SI.yml +91 -0
  21. data/_data/locales/sv-SE.yml +91 -0
  22. data/_data/locales/th.yml +91 -0
  23. data/_data/locales/tr-TR.yml +77 -0
  24. data/_data/locales/uk-UA.yml +77 -0
  25. data/_data/locales/vi-VN.yml +76 -0
  26. data/_data/locales/zh-CN.yml +83 -0
  27. data/_data/locales/zh-TW.yml +83 -0
  28. data/_data/origin/basic.yml +46 -0
  29. data/_data/origin/cors.yml +59 -0
  30. data/_includes/.DS_Store +0 -0
  31. data/_includes/analytics/goatcounter.html +6 -0
  32. data/_includes/analytics/google.html +13 -0
  33. data/_includes/comments/disqus.html +50 -0
  34. data/_includes/comments/giscus.html +65 -0
  35. data/_includes/comments/utterances.html +50 -0
  36. data/_includes/comments.html +5 -0
  37. data/_includes/datetime.html +20 -0
  38. data/_includes/embed/bilibili.html +9 -0
  39. data/_includes/embed/twitch.html +8 -0
  40. data/_includes/embed/video.html +38 -0
  41. data/_includes/embed/youtube.html +9 -0
  42. data/_includes/favicons.html +19 -0
  43. data/_includes/footer.html +42 -0
  44. data/_includes/head.html +111 -0
  45. data/_includes/img-url.html +39 -0
  46. data/_includes/js-selector.html +126 -0
  47. data/_includes/jsdelivr-combine.html +26 -0
  48. data/_includes/lang.html +10 -0
  49. data/_includes/language-alias.html +70 -0
  50. data/_includes/mermaid.html +58 -0
  51. data/_includes/metadata-hook.html +1 -0
  52. data/_includes/mode-toggle.html +143 -0
  53. data/_includes/no-linenos.html +10 -0
  54. data/_includes/notification.html +24 -0
  55. data/_includes/origin-type.html +13 -0
  56. data/_includes/pageviews/goatcounter.html +18 -0
  57. data/_includes/post-nav.html +34 -0
  58. data/_includes/post-paginator.html +91 -0
  59. data/_includes/post-sharing.html +52 -0
  60. data/_includes/read-time.html +37 -0
  61. data/_includes/refactor-content.html +255 -0
  62. data/_includes/related-posts.html +96 -0
  63. data/_includes/search-loader.html +47 -0
  64. data/_includes/search-results.html +10 -0
  65. data/_includes/sidebar.html +99 -0
  66. data/_includes/toc.html +13 -0
  67. data/_includes/topbar.html +77 -0
  68. data/_includes/trending-tags.html +46 -0
  69. data/_includes/update-list.html +40 -0
  70. data/_layouts/archives.html +35 -0
  71. data/_layouts/categories.html +138 -0
  72. data/_layouts/category.html +24 -0
  73. data/_layouts/compress.html +10 -0
  74. data/_layouts/default.html +87 -0
  75. data/_layouts/home.html +118 -0
  76. data/_layouts/page.html +20 -0
  77. data/_layouts/post.html +149 -0
  78. data/_layouts/tag.html +23 -0
  79. data/_layouts/tags.html +22 -0
  80. data/_sass/.DS_Store +0 -0
  81. data/_sass/addon/commons.scss +1553 -0
  82. data/_sass/addon/module.scss +200 -0
  83. data/_sass/addon/syntax.scss +292 -0
  84. data/_sass/addon/variables.scss +33 -0
  85. data/_sass/colors/syntax-dark.scss +164 -0
  86. data/_sass/colors/syntax-light.scss +214 -0
  87. data/_sass/colors/typography-dark.scss +147 -0
  88. data/_sass/colors/typography-light.scss +112 -0
  89. data/_sass/layout/archives.scss +144 -0
  90. data/_sass/layout/categories.scss +83 -0
  91. data/_sass/layout/category-tag.scss +72 -0
  92. data/_sass/layout/home.scss +189 -0
  93. data/_sass/layout/post.scss +357 -0
  94. data/_sass/layout/tags.scss +19 -0
  95. data/_sass/main.scss +13 -0
  96. data/_sass/variables-hook.scss +3 -0
  97. data/assets/.DS_Store +0 -0
  98. data/assets/404.html +14 -0
  99. data/assets/css/doc-theme.scss +6 -0
  100. data/assets/feed.xml +61 -0
  101. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  102. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  103. data/assets/img/favicons/apple-touch-icon.png +0 -0
  104. data/assets/img/favicons/browserconfig.xml +13 -0
  105. data/assets/img/favicons/favicon-16x16.png +0 -0
  106. data/assets/img/favicons/favicon-32x32.png +0 -0
  107. data/assets/img/favicons/favicon.ico +0 -0
  108. data/assets/img/favicons/mstile-150x150.png +0 -0
  109. data/assets/img/favicons/site.webmanifest +26 -0
  110. data/assets/js/data/search.json +20 -0
  111. data/assets/js/data/swconf.js +51 -0
  112. data/assets/js/pwa/app.js +54 -0
  113. data/assets/js/pwa/sw.js +101 -0
  114. data/assets/robots.txt +10 -0
  115. metadata +260 -0
@@ -0,0 +1,72 @@
1
+ /*
2
+ Style for page Category and Tag
3
+ */
4
+
5
+ .dash {
6
+ margin: 0 0.5rem 0.6rem 0.5rem;
7
+ border-bottom: 2px dotted var(--dash-color);
8
+ }
9
+
10
+ #page-category,
11
+ #page-tag {
12
+ ul > li {
13
+ line-height: 1.5rem;
14
+ padding: 0.6rem 0;
15
+
16
+ /* dot */
17
+ &::before {
18
+ background: #999999;
19
+ width: 5px;
20
+ height: 5px;
21
+ border-radius: 50%;
22
+ display: block;
23
+ content: '';
24
+ position: relative;
25
+ top: 0.6rem;
26
+ margin-right: 0.5rem;
27
+ }
28
+
29
+ /* post's title */
30
+ > a {
31
+ @extend %no-bottom-border;
32
+
33
+ font-size: 1.1rem;
34
+ }
35
+ }
36
+ }
37
+
38
+ /* tag icon */
39
+ #page-tag h1 > i {
40
+ font-size: 1.2rem;
41
+ }
42
+
43
+ #page-category h1 > i {
44
+ font-size: 1.25rem;
45
+ }
46
+
47
+ #page-category,
48
+ #page-tag,
49
+ #access-lastmod {
50
+ a:hover {
51
+ @extend %link-hover;
52
+
53
+ margin-bottom: -1px; /* Avoid jumping */
54
+ }
55
+ }
56
+
57
+ @media all and (max-width: 576px) {
58
+ #page-category,
59
+ #page-tag {
60
+ ul > li {
61
+ &::before {
62
+ margin: 0 0.5rem;
63
+ }
64
+
65
+ > a {
66
+ white-space: nowrap;
67
+ overflow: hidden;
68
+ text-overflow: ellipsis;
69
+ }
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,189 @@
1
+ /*
2
+ Style for Homepage
3
+ */
4
+
5
+ #post-list {
6
+ margin-top: 2rem;
7
+
8
+ .card-wrapper {
9
+ &:hover {
10
+ text-decoration: none;
11
+ }
12
+
13
+ &:not(:last-child) {
14
+ margin-bottom: 1.25rem;
15
+ }
16
+ }
17
+
18
+ .card {
19
+ border: 0;
20
+ background: none;
21
+
22
+ %img-radius {
23
+ border-radius: $base-radius $base-radius 0 0;
24
+ }
25
+
26
+ .preview-img {
27
+ @extend %img-radius;
28
+
29
+ img {
30
+ @extend %img-radius;
31
+ }
32
+ }
33
+
34
+ .card-body {
35
+ height: 100%;
36
+ padding: 1rem;
37
+
38
+ .card-title {
39
+ @extend %text-clip;
40
+
41
+ color: var(--heading-color) !important;
42
+ font-size: 1.25rem;
43
+ }
44
+
45
+ %muted {
46
+ color: var(--text-muted-color) !important;
47
+ }
48
+
49
+ .card-text.content {
50
+ @extend %muted;
51
+
52
+ p {
53
+ @extend %text-clip;
54
+
55
+ line-height: 1.5;
56
+ margin: 0;
57
+ }
58
+ }
59
+
60
+ .post-meta {
61
+ @extend %muted;
62
+
63
+ i {
64
+ &:not(:first-child) {
65
+ margin-left: 1.5rem;
66
+ }
67
+ }
68
+
69
+ em {
70
+ @extend %normal-font-style;
71
+
72
+ color: inherit;
73
+ }
74
+
75
+ > div:first-child {
76
+ display: block;
77
+ white-space: nowrap;
78
+ overflow: hidden;
79
+ text-overflow: ellipsis;
80
+ }
81
+ }
82
+ }
83
+ }
84
+ } /* #post-list */
85
+
86
+ .pagination {
87
+ color: var(--text-color);
88
+ font-family: Lato, sans-serif;
89
+ justify-content: space-evenly;
90
+
91
+ a:hover {
92
+ text-decoration: none;
93
+ }
94
+
95
+ .page-item {
96
+ .page-link {
97
+ color: var(--btn-patinator-text-color);
98
+ padding: 0 0.6rem;
99
+ display: -webkit-box;
100
+ -webkit-box-pack: center;
101
+ -webkit-box-align: center;
102
+ border-radius: 0.5rem;
103
+ border: 0;
104
+ background-color: inherit;
105
+ }
106
+
107
+ &.active {
108
+ .page-link {
109
+ background-color: var(--btn-paginator-hover-color);
110
+ }
111
+ }
112
+
113
+ &:not(.active) {
114
+ .page-link {
115
+ &:hover {
116
+ box-shadow: inset var(--btn-border-color) 0 0 0 1px;
117
+ }
118
+ }
119
+ }
120
+
121
+ &.disabled {
122
+ cursor: not-allowed;
123
+
124
+ .page-link {
125
+ color: rgba(108, 117, 125, 0.57);
126
+ }
127
+ }
128
+ } /* .page-item */
129
+ } /* .pagination */
130
+
131
+ /* Tablet */
132
+ @media all and (min-width: 768px) {
133
+ %img-radius {
134
+ border-radius: 0 $base-radius $base-radius 0;
135
+ }
136
+
137
+ #post-list {
138
+ .card {
139
+ .card-body {
140
+ padding: 1.75rem 1.75rem 1.25rem 1.75rem;
141
+
142
+ .card-text {
143
+ display: inherit !important;
144
+ }
145
+
146
+ .post-meta {
147
+ i {
148
+ &:not(:first-child) {
149
+ margin-left: 1.75rem;
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+
158
+ /* Hide SideBar and TOC */
159
+ @media all and (max-width: 830px) {
160
+ .pagination {
161
+ .page-item {
162
+ &:not(:first-child):not(:last-child) {
163
+ display: none;
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ /* Sidebar is visible */
170
+ @media all and (min-width: 831px) {
171
+ #post-list {
172
+ margin-top: 2.5rem;
173
+ }
174
+
175
+ .pagination {
176
+ font-size: 0.85rem;
177
+ justify-content: center;
178
+
179
+ .page-item {
180
+ &:not(:last-child) {
181
+ margin-right: 0.7rem;
182
+ }
183
+ }
184
+
185
+ .page-index {
186
+ display: none;
187
+ }
188
+ } /* .pagination */
189
+ }
@@ -0,0 +1,357 @@
1
+ /*
2
+ Post-specific style
3
+ */
4
+
5
+ %btn-post-nav {
6
+ width: 50%;
7
+ position: relative;
8
+ border-color: var(--btn-border-color);
9
+ }
10
+
11
+ @mixin dot($pl: 0.25rem, $pr: 0.25rem) {
12
+ content: '\2022';
13
+ padding-left: $pl;
14
+ padding-right: $pr;
15
+ }
16
+
17
+ h1 + .post-meta {
18
+ span + span::before {
19
+ @include dot;
20
+ }
21
+
22
+ em,
23
+ time {
24
+ @extend %text-highlight;
25
+ }
26
+
27
+ em {
28
+ a {
29
+ color: inherit;
30
+ }
31
+ }
32
+ }
33
+
34
+ .post-tail-wrapper {
35
+ @extend %text-sm;
36
+
37
+ margin-top: 6rem;
38
+ border-bottom: 1px double var(--main-border-color);
39
+
40
+ .license-wrapper {
41
+ line-height: 1.2rem;
42
+
43
+ > a {
44
+ @extend %text-highlight;
45
+
46
+ &:hover {
47
+ @extend %link-hover;
48
+ }
49
+ }
50
+
51
+ span:last-child {
52
+ @extend %text-sm;
53
+ }
54
+ } /* .license-wrapper */
55
+
56
+ .post-meta a:not(:hover) {
57
+ @extend %link-underline;
58
+ }
59
+
60
+ .share-wrapper {
61
+ vertical-align: middle;
62
+ -webkit-user-select: none;
63
+ -moz-user-select: none;
64
+ -ms-user-select: none;
65
+ user-select: none;
66
+
67
+ %icon-size {
68
+ font-size: 1.125rem;
69
+ }
70
+
71
+ .share-icons {
72
+ display: flex;
73
+
74
+ i {
75
+ color: var(--btn-share-color);
76
+
77
+ @extend %icon-size;
78
+ }
79
+
80
+ > * {
81
+ @extend %icon-size;
82
+
83
+ margin-left: 0.5rem;
84
+
85
+ &:hover {
86
+ i {
87
+ @extend %btn-share-hovor;
88
+ }
89
+ }
90
+ }
91
+
92
+ button {
93
+ padding: 0;
94
+ border: none;
95
+ line-height: inherit;
96
+
97
+ @extend %cursor-pointer;
98
+ }
99
+ } /* .share-icons */
100
+ } /* .share-wrapper */
101
+ }
102
+
103
+ .share-mastodon {
104
+ /* See: https://github.com/justinribeiro/share-to-mastodon#properties */
105
+ --wc-stm-font-family: $font-family-base;
106
+ --wc-stm-dialog-background-color: var(--card-bg);
107
+ --wc-stm-form-button-border: 1px solid var(--btn-border-color);
108
+ --wc-stm-form-submit-background-color: var(--sidebar-btn-bg);
109
+ --wc-stm-form-cancel-background-color: var(--sidebar-btn-bg);
110
+ --wc-stm-form-button-background-color-hover: #007bff;
111
+ --wc-stm-form-button-color-hover: white;
112
+
113
+ font-size: 1rem;
114
+ }
115
+
116
+ .post-tags {
117
+ line-height: 2rem;
118
+
119
+ .post-tag {
120
+ &:hover {
121
+ @extend %link-hover;
122
+ @extend %tag-hover;
123
+ @extend %no-bottom-border;
124
+ }
125
+ }
126
+ }
127
+
128
+ .post-navigation {
129
+ .btn {
130
+ @extend %btn-post-nav;
131
+
132
+ &:not(:hover) {
133
+ color: var(--link-color);
134
+ }
135
+
136
+ &:hover {
137
+ &:not(.disabled)::before {
138
+ color: whitesmoke;
139
+ }
140
+ }
141
+
142
+ &.disabled {
143
+ @extend %btn-post-nav;
144
+
145
+ pointer-events: auto;
146
+ cursor: not-allowed;
147
+ background: none;
148
+ color: gray;
149
+ }
150
+
151
+ &.btn-outline-primary.disabled:focus {
152
+ box-shadow: none;
153
+ }
154
+
155
+ &::before {
156
+ color: var(--text-muted-color);
157
+ font-size: 0.65rem;
158
+ text-transform: uppercase;
159
+ content: attr(aria-label);
160
+ }
161
+
162
+ &:first-child {
163
+ border-radius: $base-radius 0 0 $base-radius;
164
+ left: 0.5px;
165
+ }
166
+
167
+ &:last-child {
168
+ border-radius: 0 $base-radius $base-radius 0;
169
+ right: 0.5px;
170
+ }
171
+ }
172
+
173
+ p {
174
+ font-size: 1.1rem;
175
+ line-height: 1.5rem;
176
+ margin-top: 0.3rem;
177
+ white-space: normal;
178
+ }
179
+ } /* .post-navigation */
180
+
181
+ @media (hover: hover) {
182
+ .post-navigation {
183
+ .btn,
184
+ .btn::before {
185
+ transition: all 0.35s ease-in-out;
186
+ }
187
+ }
188
+ }
189
+
190
+ @-webkit-keyframes fade-up {
191
+ from {
192
+ opacity: 0;
193
+ position: relative;
194
+ top: 2rem;
195
+ }
196
+
197
+ to {
198
+ opacity: 1;
199
+ position: relative;
200
+ top: 0;
201
+ }
202
+ }
203
+
204
+ @keyframes fade-up {
205
+ from {
206
+ opacity: 0;
207
+ position: relative;
208
+ top: 2rem;
209
+ }
210
+
211
+ to {
212
+ opacity: 1;
213
+ position: relative;
214
+ top: 0;
215
+ }
216
+ }
217
+
218
+ #toc-wrapper {
219
+ border-left: 1px solid rgba(158, 158, 158, 0.17);
220
+ position: -webkit-sticky;
221
+ position: sticky;
222
+ top: 4rem;
223
+ transition: top 0.2s ease-in-out;
224
+ -webkit-animation: fade-up 0.8s;
225
+ animation: fade-up 0.8s;
226
+
227
+ ul {
228
+ list-style: none;
229
+ font-size: 0.85rem;
230
+ line-height: 1.25;
231
+ padding-left: 0;
232
+
233
+ li {
234
+ &:not(:last-child) {
235
+ margin: 0.4rem 0;
236
+ }
237
+
238
+ a {
239
+ padding: 0.2rem 0 0.2rem 1.25rem;
240
+ }
241
+ }
242
+
243
+ /* Overwrite TOC plugin style */
244
+
245
+ .toc-link {
246
+ display: block;
247
+ white-space: nowrap;
248
+ overflow: hidden;
249
+ text-overflow: ellipsis;
250
+
251
+ &:hover {
252
+ color: var(--toc-highlight);
253
+ text-decoration: none;
254
+ }
255
+
256
+ &::before {
257
+ display: none;
258
+ }
259
+ }
260
+
261
+ .is-active-link {
262
+ color: var(--toc-highlight) !important;
263
+ font-weight: 600;
264
+
265
+ &::before {
266
+ display: inline-block;
267
+ width: 1px;
268
+ left: -1px;
269
+ height: 1.25rem;
270
+ background-color: var(--toc-highlight) !important;
271
+ }
272
+ }
273
+
274
+ ul {
275
+ padding-left: 0.75rem;
276
+ }
277
+ }
278
+ }
279
+
280
+ /* --- Related Posts --- */
281
+
282
+ #related-posts {
283
+ > h3 {
284
+ @include label(1.1rem, 600);
285
+ }
286
+
287
+ time {
288
+ @extend %normal-font-style;
289
+ @extend %text-xs;
290
+
291
+ color: var(--text-muted-color);
292
+ }
293
+
294
+ p {
295
+ font-size: 0.9rem;
296
+ margin-bottom: 0.5rem;
297
+ overflow: hidden;
298
+ text-overflow: ellipsis;
299
+ display: -webkit-box;
300
+ -webkit-line-clamp: 2;
301
+ -webkit-box-orient: vertical;
302
+ }
303
+
304
+ .card {
305
+ h4 {
306
+ @extend %text-clip;
307
+ }
308
+ }
309
+ }
310
+
311
+ /* stylelint-disable-next-line selector-id-pattern */
312
+ #disqus_thread {
313
+ min-height: 8.5rem;
314
+ }
315
+
316
+ .utterances {
317
+ max-width: 100%;
318
+ }
319
+
320
+ %btn-share-hovor {
321
+ color: var(--btn-share-hover-color) !important;
322
+ }
323
+
324
+ .share-label {
325
+ @include label(inherit, 400, inherit);
326
+
327
+ &::after {
328
+ content: ':';
329
+ }
330
+ }
331
+
332
+ @media all and (max-width: 576px) {
333
+ .post-tail-bottom {
334
+ flex-wrap: wrap-reverse !important;
335
+
336
+ > div:first-child {
337
+ width: 100%;
338
+ margin-top: 1rem;
339
+ }
340
+ }
341
+ }
342
+
343
+ @media all and (max-width: 768px) {
344
+ .content > p > img {
345
+ max-width: calc(100% + 1rem);
346
+ }
347
+ }
348
+
349
+ /* Hide SideBar and TOC */
350
+ @media all and (max-width: 849px) {
351
+ .post-navigation {
352
+ padding-left: 0;
353
+ padding-right: 0;
354
+ margin-left: -0.5rem;
355
+ margin-right: -0.5rem;
356
+ }
357
+ }
@@ -0,0 +1,19 @@
1
+ /*
2
+ Styles for Tab Tags
3
+ */
4
+
5
+ .tag {
6
+ border-radius: 0.7em;
7
+ padding: 6px 8px 7px;
8
+ margin-right: 0.8rem;
9
+ line-height: 3rem;
10
+ letter-spacing: 0;
11
+ border: 1px solid var(--tag-border) !important;
12
+ box-shadow: 0 0 3px 0 var(--tag-shadow);
13
+
14
+ span {
15
+ margin-left: 0.6em;
16
+ font-size: 0.7em;
17
+ font-family: Oswald, sans-serif;
18
+ }
19
+ }
data/_sass/main.scss ADDED
@@ -0,0 +1,13 @@
1
+ @import 'colors/typography-light';
2
+ @import 'colors/typography-dark';
3
+ @import 'addon/variables';
4
+ @import 'variables-hook';
5
+ @import 'addon/module';
6
+ @import 'addon/syntax';
7
+ @import 'addon/commons';
8
+ @import 'layout/home';
9
+ @import 'layout/post';
10
+ @import 'layout/tags';
11
+ @import 'layout/archives';
12
+ @import 'layout/categories';
13
+ @import 'layout/category-tag';
@@ -0,0 +1,3 @@
1
+ /*
2
+ Appending custom SCSS variables will override the default ones in `_sass/addon/variables.scsss`
3
+ */
data/assets/.DS_Store ADDED
Binary file
data/assets/404.html ADDED
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: page
3
+ title: "404: Page not found"
4
+ permalink: /404.html
5
+
6
+ redirect_from:
7
+ - /norobots/
8
+ - /assets/
9
+ - /posts/
10
+ ---
11
+
12
+ {% include lang.html %}
13
+
14
+ <p class="lead">{{ site.data.locales[lang].not_found.statment }}</p>
@@ -0,0 +1,6 @@
1
+ ---
2
+ ---
3
+
4
+ @import 'main';
5
+
6
+ /* append your custom style below */