jekyll-text-theme-fork 2.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +235 -0
  3. data/LICENSE +21 -0
  4. data/README.md +89 -0
  5. data/_data/authors.yml +0 -0
  6. data/_data/licenses.yml +16 -0
  7. data/_data/locale.yml +169 -0
  8. data/_data/navigation.yml +52 -0
  9. data/_data/variables.yml +64 -0
  10. data/_includes/analytics-providers/custom.html +3 -0
  11. data/_includes/analytics-providers/google.html +14 -0
  12. data/_includes/analytics.html +7 -0
  13. data/_includes/article/footer/author-profile.html +47 -0
  14. data/_includes/article/footer/custom.html +3 -0
  15. data/_includes/article/footer/license.html +14 -0
  16. data/_includes/article/footer/subscribe.html +6 -0
  17. data/_includes/article/top/custom.html +3 -0
  18. data/_includes/article-footer.html +55 -0
  19. data/_includes/article-header.html +49 -0
  20. data/_includes/article-info.html +96 -0
  21. data/_includes/article-list.html +144 -0
  22. data/_includes/article-section-navigator.html +54 -0
  23. data/_includes/aside/toc.html +1 -0
  24. data/_includes/author-links.html +120 -0
  25. data/_includes/comments-providers/custom.html +3 -0
  26. data/_includes/comments-providers/disqus.html +22 -0
  27. data/_includes/comments-providers/gitalk.html +39 -0
  28. data/_includes/comments-providers/valine.html +46 -0
  29. data/_includes/comments.html +11 -0
  30. data/_includes/extensions/bilibili.html +5 -0
  31. data/_includes/extensions/codepen.html +4 -0
  32. data/_includes/extensions/netease-cloud-music.html +4 -0
  33. data/_includes/extensions/slideshare.html +6 -0
  34. data/_includes/extensions/soundcloud.html +4 -0
  35. data/_includes/extensions/ted.html +5 -0
  36. data/_includes/extensions/youtube.html +4 -0
  37. data/_includes/footer.html +37 -0
  38. data/_includes/head/custom.html +3 -0
  39. data/_includes/head/favicon.html +26 -0
  40. data/_includes/head.html +24 -0
  41. data/_includes/header.html +44 -0
  42. data/_includes/main/bottom/custom.html +3 -0
  43. data/_includes/main/top/custom.html +3 -0
  44. data/_includes/markdown-enhancements/chart.html +15 -0
  45. data/_includes/markdown-enhancements/mathjax.html +17 -0
  46. data/_includes/markdown-enhancements/mermaid.html +10 -0
  47. data/_includes/markdown-enhancements.html +17 -0
  48. data/_includes/pageview-providers/custom/home.html +3 -0
  49. data/_includes/pageview-providers/custom/post.html +3 -0
  50. data/_includes/pageview-providers/leancloud/home.html +35 -0
  51. data/_includes/pageview-providers/leancloud/leancloud.js +72 -0
  52. data/_includes/pageview-providers/leancloud/post.html +31 -0
  53. data/_includes/pageview.html +29 -0
  54. data/_includes/paginator.html +98 -0
  55. data/_includes/scripts/archieve.js +135 -0
  56. data/_includes/scripts/article.js +24 -0
  57. data/_includes/scripts/aside/affix.js +26 -0
  58. data/_includes/scripts/aside/toc.js +35 -0
  59. data/_includes/scripts/common.js +7 -0
  60. data/_includes/scripts/components/lightbox.js +49 -0
  61. data/_includes/scripts/components/search.js +86 -0
  62. data/_includes/scripts/components/sidebar.js +30 -0
  63. data/_includes/scripts/home.js +3 -0
  64. data/_includes/scripts/lib/affix.js +111 -0
  65. data/_includes/scripts/lib/gallery.js +192 -0
  66. data/_includes/scripts/lib/lazyload.js +143 -0
  67. data/_includes/scripts/lib/modal.js +64 -0
  68. data/_includes/scripts/lib/scroll-to.js +13 -0
  69. data/_includes/scripts/lib/swiper.js +203 -0
  70. data/_includes/scripts/lib/throttle.js +28 -0
  71. data/_includes/scripts/lib/toc.js +107 -0
  72. data/_includes/scripts/page.js +3 -0
  73. data/_includes/scripts/utils/imagesLoad.js +28 -0
  74. data/_includes/scripts/utils/utils.js +39 -0
  75. data/_includes/scripts/variables.html +35 -0
  76. data/_includes/search-providers/custom/search.html +3 -0
  77. data/_includes/search-providers/default/search-data.js +14 -0
  78. data/_includes/search-providers/default/search.html +18 -0
  79. data/_includes/search-providers/default/search.js +112 -0
  80. data/_includes/search-providers/google-custom-search-engine/search.html +21 -0
  81. data/_includes/search-providers/google-custom-search-engine/search.js +33 -0
  82. data/_includes/search.html +20 -0
  83. data/_includes/sharing-providers/addthis.html +9 -0
  84. data/_includes/sharing-providers/addtoany.html +10 -0
  85. data/_includes/sharing-providers/custom.html +3 -0
  86. data/_includes/sharing.html +7 -0
  87. data/_includes/sidebar/toc.html +25 -0
  88. data/_includes/snippets/assign.html +9 -0
  89. data/_includes/snippets/get-article-title.html +11 -0
  90. data/_includes/snippets/get-lang.html +6 -0
  91. data/_includes/snippets/get-locale-string.html +12 -0
  92. data/_includes/snippets/get-nav-url.html +8 -0
  93. data/_includes/snippets/get-sources.html +2 -0
  94. data/_includes/snippets/get-string-from-locale-config.html +7 -0
  95. data/_includes/snippets/is_collection.html +6 -0
  96. data/_includes/snippets/page-url.html +2 -0
  97. data/_includes/snippets/prepend-baseurl.html +4 -0
  98. data/_includes/snippets/prepend-path.html +1 -0
  99. data/_includes/svg/icon/social/behance.svg +3 -0
  100. data/_includes/svg/icon/social/douban.svg +5 -0
  101. data/_includes/svg/icon/social/facebook.svg +3 -0
  102. data/_includes/svg/icon/social/flicker.svg +5 -0
  103. data/_includes/svg/icon/social/github.svg +3 -0
  104. data/_includes/svg/icon/social/googleplus.svg +3 -0
  105. data/_includes/svg/icon/social/linkedin.svg +3 -0
  106. data/_includes/svg/icon/social/mail.svg +6 -0
  107. data/_includes/svg/icon/social/medium.svg +3 -0
  108. data/_includes/svg/icon/social/npm.svg +9 -0
  109. data/_includes/svg/icon/social/pinterest.svg +3 -0
  110. data/_includes/svg/icon/social/qq.svg +3 -0
  111. data/_includes/svg/icon/social/telegram.svg +4 -0
  112. data/_includes/svg/icon/social/twitter.svg +3 -0
  113. data/_includes/svg/icon/social/weibo.svg +6 -0
  114. data/_includes/svg/icon/social/weixin.svg +3 -0
  115. data/_includes/svg/icon/social/zhihu.svg +3 -0
  116. data/_includes/svg/logo.svg +8 -0
  117. data/_includes/tags.html +52 -0
  118. data/_layouts/404.html +13 -0
  119. data/_layouts/archive.html +40 -0
  120. data/_layouts/article.html +29 -0
  121. data/_layouts/articles.html +89 -0
  122. data/_layouts/base.html +25 -0
  123. data/_layouts/home.html +43 -0
  124. data/_layouts/landing.html +178 -0
  125. data/_layouts/none.html +1 -0
  126. data/_layouts/page.html +270 -0
  127. data/_sass/additional/_alert.scss +29 -0
  128. data/_sass/additional/_photo-frame.scss +17 -0
  129. data/_sass/additional/_tag.scss +21 -0
  130. data/_sass/animate/_fade-in-down.scss +10 -0
  131. data/_sass/animate/_fade-in-up.scss +10 -0
  132. data/_sass/animate/_fade-in.scss +8 -0
  133. data/_sass/common/_classes.scss +24 -0
  134. data/_sass/common/_function.scss +15 -0
  135. data/_sass/common/_print.scss +20 -0
  136. data/_sass/common/_reset.scss +174 -0
  137. data/_sass/common/_variables.scss +150 -0
  138. data/_sass/common/classes/_animation.scss +13 -0
  139. data/_sass/common/classes/_clearfix.scss +19 -0
  140. data/_sass/common/classes/_clickable.scss +159 -0
  141. data/_sass/common/classes/_display.scss +13 -0
  142. data/_sass/common/classes/_flex.scss +394 -0
  143. data/_sass/common/classes/_grid.scss +80 -0
  144. data/_sass/common/classes/_horizontal-rules.scss +14 -0
  145. data/_sass/common/classes/_link.scss +12 -0
  146. data/_sass/common/classes/_media.scss +17 -0
  147. data/_sass/common/classes/_overflow.scss +26 -0
  148. data/_sass/common/classes/_pseudo.scss +33 -0
  149. data/_sass/common/classes/_shadow.scss +22 -0
  150. data/_sass/common/classes/_spacing.scss +81 -0
  151. data/_sass/common/classes/_split-line.scss +24 -0
  152. data/_sass/common/classes/_text.scss +37 -0
  153. data/_sass/common/classes/_transform.scss +4 -0
  154. data/_sass/common/classes/_transition.scss +4 -0
  155. data/_sass/common/classes/_user-select.scss +6 -0
  156. data/_sass/common/components/_button.scss +163 -0
  157. data/_sass/common/components/_card.scss +103 -0
  158. data/_sass/common/components/_gallery.scss +21 -0
  159. data/_sass/common/components/_hero.scss +70 -0
  160. data/_sass/common/components/_image.scss +19 -0
  161. data/_sass/common/components/_item.scss +100 -0
  162. data/_sass/common/components/_menu.scss +67 -0
  163. data/_sass/common/components/_modal.scss +39 -0
  164. data/_sass/common/components/_swiper.scss +48 -0
  165. data/_sass/common/components/_toc.scss +124 -0
  166. data/_sass/components/_article-content.scss +221 -0
  167. data/_sass/components/_article-footer.scss +17 -0
  168. data/_sass/components/_article-header.scss +50 -0
  169. data/_sass/components/_article-info.scss +25 -0
  170. data/_sass/components/_article-list.scss +18 -0
  171. data/_sass/components/_author-links.scss +43 -0
  172. data/_sass/components/_author-profile.scss +26 -0
  173. data/_sass/components/_extensions.scss +35 -0
  174. data/_sass/components/_footer.scss +33 -0
  175. data/_sass/components/_header.scss +123 -0
  176. data/_sass/components/_lightbox.scss +7 -0
  177. data/_sass/components/_main.scss +28 -0
  178. data/_sass/components/_search.scss +186 -0
  179. data/_sass/components/_tags.scss +24 -0
  180. data/_sass/custom.scss +3 -0
  181. data/_sass/layout/_404.scss +14 -0
  182. data/_sass/layout/_archive.scss +5 -0
  183. data/_sass/layout/_article.scss +29 -0
  184. data/_sass/layout/_articles.scss +17 -0
  185. data/_sass/layout/_base.scss +6 -0
  186. data/_sass/layout/_home.scss +15 -0
  187. data/_sass/layout/_landing.scss +23 -0
  188. data/_sass/layout/_page.scss +165 -0
  189. data/_sass/skins/_chocolate.scss +74 -0
  190. data/_sass/skins/_dark.scss +74 -0
  191. data/_sass/skins/_default.scss +74 -0
  192. data/_sass/skins/_forest.scss +74 -0
  193. data/_sass/skins/_ocean.scss +74 -0
  194. data/_sass/skins/_orange.scss +74 -0
  195. data/_sass/skins/highlight/_default.scss +0 -0
  196. data/_sass/skins/highlight/_tomorrow-night-blue.scss +2 -0
  197. data/_sass/skins/highlight/_tomorrow-night-bright.scss +2 -0
  198. data/_sass/skins/highlight/_tomorrow-night-eighties.scss +2 -0
  199. data/_sass/skins/highlight/_tomorrow-night.scss +2 -0
  200. data/_sass/skins/highlight/_tomorrow.scss +2 -0
  201. data/_sass/skins/highlight/tomorrow/_default.scss +10 -0
  202. data/_sass/skins/highlight/tomorrow/_highlight.scss +74 -0
  203. data/_sass/skins/highlight/tomorrow/_night-blue.scss +10 -0
  204. data/_sass/skins/highlight/tomorrow/_night-bright.scss +10 -0
  205. data/_sass/skins/highlight/tomorrow/_night-eighties.scss +10 -0
  206. data/_sass/skins/highlight/tomorrow/_night.scss +10 -0
  207. data/assets/android-chrome-192x192.png +0 -0
  208. data/assets/android-chrome-512x512.png +0 -0
  209. data/assets/apple-touch-icon.png +0 -0
  210. data/assets/browserconfig.xml +9 -0
  211. data/assets/css/main.scss +74 -0
  212. data/assets/favicon-16x16.png +0 -0
  213. data/assets/favicon-32x32.png +0 -0
  214. data/assets/favicon.ico +0 -0
  215. data/assets/images/logo/logo.svg +8 -0
  216. data/assets/mstile-144x144.png +0 -0
  217. data/assets/mstile-150x150.png +0 -0
  218. data/assets/mstile-310x150.png +0 -0
  219. data/assets/mstile-310x310.png +0 -0
  220. data/assets/mstile-70x70.png +0 -0
  221. data/assets/safari-pinned-tab.svg +38 -0
  222. data/assets/search.js +3 -0
  223. data/assets/site.webmanifest +19 -0
  224. metadata +371 -0
@@ -0,0 +1,124 @@
1
+ ul.toc {
2
+ display: block;
3
+ margin: 0;
4
+ color: $text-color;
5
+ list-style-type: none;
6
+ & > li {
7
+ margin: calc(map-get($spacers, 1) / 2) 0;
8
+ a {
9
+ display: inline-block;
10
+ margin: calc(map-get($spacers, 1) / 4) 0;
11
+ text-decoration: none !important;
12
+ }
13
+ }
14
+ .toc-h1,
15
+ .toc-h2,
16
+ .toc-h3,
17
+ .toc-h4,
18
+ .toc-h5,
19
+ .toc-h6 {
20
+ a {
21
+ @include link-colors($text-color, $main-color-1);
22
+ }
23
+ &.active {
24
+ a {
25
+ @include link-colors($main-color-1);
26
+ }
27
+ }
28
+ }
29
+
30
+ .toc-h2,
31
+ .toc-h3,
32
+ .toc-h4,
33
+ .toc-h5,
34
+ .toc-h6 {
35
+ &, a {
36
+ font-size: map-get($base, font-size-xs);
37
+ font-weight: map-get($base, font-weight);
38
+ line-height: map-get($base, line-height-xs);
39
+ }
40
+ }
41
+ .toc-h1 {
42
+ @include split-line(bottom);
43
+ padding: map-get($spacers, 2) 0 map-get($spacers, 1) 0;
44
+ margin-bottom: map-get($spacers, 2);
45
+ color: $text-color-d;
46
+ &, a {
47
+ font-size: map-get($base, font-size-sm);
48
+ font-weight: map-get($base, font-weight-bold);
49
+ line-height: map-get($base, line-height-sm);
50
+ }
51
+ a {
52
+ @include link-colors($text-color-d, $main-color-1);
53
+ }
54
+ }
55
+ .toc-h2 {
56
+ &, a {
57
+ font-weight: map-get($base, font-weight-bold);
58
+ }
59
+ }
60
+ .toc-h3 {
61
+ margin-left: map-get($spacers, 3);
62
+ }
63
+ .toc-h4 {
64
+ margin-left: map-get($spacers, 3) * 2;
65
+ }
66
+ .toc-h5,
67
+ .toc-h6 {
68
+ margin-left: map-get($spacers, 3) * 3;
69
+ }
70
+ .toc-h6 {
71
+ color: $text-color-l;
72
+ a {
73
+ @include link-colors($text-color-l, $main-color-1);
74
+ }
75
+ }
76
+ }
77
+
78
+ ul.toc--ellipsis {
79
+ & > li {
80
+ @include overflow(hidden);
81
+ text-overflow: ellipsis;
82
+ white-space: nowrap;
83
+ }
84
+ }
85
+
86
+ ul.toc--navigator {
87
+ & > li {
88
+ a {
89
+ padding-left: map-get($spacers, 2);
90
+ margin: map-get($spacers, 1) 0;
91
+ }
92
+ &.active {
93
+ a {
94
+ margin-left: -4px;
95
+ @include split-line(left, 4px, $main-color-1);
96
+ }
97
+ }
98
+ }
99
+ .toc-h2,
100
+ .toc-h3,
101
+ .toc-h4 {
102
+ color: $text-color-l;
103
+ a {
104
+ @include link-colors($text-color-l);
105
+ }
106
+ }
107
+ .toc-h1 {
108
+ &, a {
109
+ font-size: map-get($base, font-size);
110
+ line-height: map-get($base, line-height);
111
+ }
112
+ color: $text-color;
113
+ a {
114
+ @include link-colors($text-color-d);
115
+ }
116
+ }
117
+ .toc-h2 {
118
+ &, a {
119
+ font-size: map-get($base, font-size-sm);
120
+ font-weight: map-get($base, font-weight-bold);
121
+ line-height: map-get($base, line-height-sm);
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,221 @@
1
+ .article__content {
2
+ line-height: map-get($base, line-height-lg);
3
+ word-wrap: break-word;
4
+ @media print {
5
+ line-height: map-get($base, line-height);
6
+ }
7
+ @include block-elements() {
8
+ margin: map-get($spacers, 3) 0;
9
+ @media print {
10
+ margin: map-get($spacers, 2) 0;
11
+ }
12
+ }
13
+ @include heading-elements() {
14
+ position: relative;
15
+ margin-top: map-get($spacers, 4);
16
+ @media print {
17
+ margin-top: map-get($spacers, 3);
18
+ }
19
+ & > .anchor {
20
+ @include link-colors($border-color, $main-color-1);
21
+ margin-left: map-get($spacers, 1);
22
+ text-decoration: none;
23
+ visibility: hidden;
24
+ opacity: 0;
25
+ & > i {
26
+ font-size: map-get($base, font-size-sm);
27
+ }
28
+ }
29
+ @include hover() {
30
+ & > .anchor {
31
+ cursor: pointer;
32
+ visibility: visible;
33
+ opacity: 1;
34
+ }
35
+ }
36
+ }
37
+ h1,
38
+ h2 {
39
+ @include split-line(bottom);
40
+ }
41
+ hr {
42
+ border: none;
43
+ @include horizontal-rules();
44
+ }
45
+ blockquote {
46
+ padding-left: map-get($spacers, 3);
47
+ font-size: map-get($base, font-size-sm);
48
+ color: $text-color-l;
49
+ @include split-line(left, 4px, $border-color);
50
+ p {
51
+ margin: map-get($spacers, 2) 0;
52
+ }
53
+ & > :last-child {
54
+ margin-bottom: 0;
55
+ }
56
+ }
57
+ img:not(.emoji) {
58
+ max-width: 100%;
59
+ vertical-align: middle;
60
+ }
61
+ .emoji {
62
+ display: inline-block;
63
+ width: map-get($base, line-height-lg) * .7rem;
64
+ height: map-get($base, line-height-lg) * .7rem;
65
+ vertical-align: text-bottom;
66
+ }
67
+ .footnotes {
68
+ @include split-line();
69
+ margin-top: map-get($spacers, 5);
70
+ @media print {
71
+ margin-top: map-get($spacers, 2) * 2;
72
+ }
73
+ }
74
+ code {
75
+ padding: map-get($spacers, 1) map-get($spacers, 2);
76
+ background-color: $text-background-color;
77
+ border-radius: map-get($base, border-radius);
78
+ span {
79
+ padding: 0;
80
+ margin: 0;
81
+ }
82
+ }
83
+ pre {
84
+ @include overflow(auto);
85
+ & > code {
86
+ padding: 0;
87
+ word-wrap: normal;
88
+ background-color: transparent;
89
+ &.language-mermaid, &.language-chart {
90
+ svg {
91
+ width: 100%;
92
+ }
93
+ display: none;
94
+ &[data-processed] {
95
+ display: block;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ .highlighter-rouge > .highlight, figure.highlight {
101
+ & > pre {
102
+ padding: map-get($spacers, 3) 0 map-get($spacers, 3) map-get($spacers, 3);
103
+ margin: 0;
104
+ background-color: $text-background-color;
105
+ border-radius: map-get($base, border-radius);
106
+ & > code {
107
+ display: block;
108
+ }
109
+ }
110
+ }
111
+ figure.highlight {
112
+ &::before {
113
+ display: block;
114
+ padding: map-get($spacers, 2) map-get($spacers, 3) map-get($spacers, 2) 0;
115
+ font-weight: map-get($base, font-weight-bold);
116
+ color: $decorate-color;
117
+ text-align: right;
118
+ text-transform: uppercase;
119
+ content: attr(data-lang);
120
+ background-color: $text-background-color;
121
+ border-top-left-radius: map-get($base, border-radius);
122
+ border-top-right-radius: map-get($base, border-radius);
123
+ }
124
+ & > pre {
125
+ padding-top: 0;
126
+ border-top-left-radius: 0;
127
+ border-top-right-radius: 0;
128
+ & > code {
129
+ & > .rouge-table {
130
+ width: auto;
131
+ margin: 0 0 #{- map-get($spacers, 3)} #{- map-get($spacers, 3)};
132
+ tbody, tr, td {
133
+ padding-top: 0;
134
+ padding-bottom: 0;
135
+ border: none;
136
+ }
137
+ & > tbody {
138
+ @include flexbox;
139
+ & > tr {
140
+ width: 100%;
141
+ @include flexbox;
142
+ & > .code {
143
+ padding: 0 0 map-get($spacers, 3) map-get($spacers, 2);
144
+ @include overflow(auto);
145
+ }
146
+ }
147
+ }
148
+ tbody td {
149
+ &.gl {
150
+ padding-left: map-get($spacers, 3);
151
+ }
152
+ & > pre {
153
+ display: block;
154
+ margin: 0;
155
+ border-radius: 0;
156
+ @include overflow(auto);
157
+ &.lineno {
158
+ color: $text-color-l;
159
+ @include user-select(none);
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ ul, ol {
168
+ margin-left: map-get($spacers, 4);
169
+ ul, ol {
170
+ margin-top: 0;
171
+ margin-bottom: 0;
172
+ }
173
+ li {
174
+ p {
175
+ margin: map-get($spacers, 2);
176
+ @media print {
177
+ margin: map-get($spacers, 1);
178
+ }
179
+ }
180
+ }
181
+ }
182
+ dl {
183
+ dt, dd {
184
+ p {
185
+ margin: map-get($spacers, 2);
186
+ @media print {
187
+ margin: map-get($spacers, 1);
188
+ }
189
+ }
190
+ }
191
+ dt {
192
+ font-weight: map-get($base, font-weight-bold);
193
+ }
194
+ dd {
195
+ margin-left: 2rem;
196
+ }
197
+ }
198
+ ul.task-list {
199
+ margin-left: 0;
200
+ list-style-type: none;
201
+ ul, ol {
202
+ margin-left: map-get($spacers, 4);
203
+ }
204
+ }
205
+ table {
206
+ display: block;
207
+ width: 100%;
208
+ border-collapse: collapse;
209
+ @include overflow(auto);
210
+ thead, tfoot {
211
+ background-color: $text-background-color;
212
+ }
213
+ th, td {
214
+ padding: map-get($spacers, 2);
215
+ border: 1px solid $border-color-l;
216
+ }
217
+ th {
218
+ font-weight: map-get($base, font-weight-bold);
219
+ }
220
+ }
221
+ }
@@ -0,0 +1,17 @@
1
+ .article__footer {
2
+ margin: map-get($spacers, 4) 0;
3
+ font-size: map-get($base, font-size-sm);
4
+ }
5
+
6
+ .article__license, .article__subscribe {
7
+ a {
8
+ @include link-colors($text-color, $main-color-1);
9
+ }
10
+ }
11
+
12
+ .article__license {
13
+ color: $text-color-l;
14
+ img {
15
+ height: map-get($base, font-size) * 1.6;
16
+ }
17
+ }
@@ -0,0 +1,50 @@
1
+ .article__header {
2
+ margin-top: map-get($spacers, 5);
3
+ margin-bottom: map-get($spacers, 4);
4
+ @include media-breakpoint-down(md) {
5
+ margin-top: map-get($spacers, 4);
6
+ }
7
+ header, h1 {
8
+ display: inline;
9
+ }
10
+ h1 {
11
+ word-wrap: break-word;
12
+ }
13
+ .split-space {
14
+ @include user-select(none);
15
+ }
16
+ .edit-on-github {
17
+ text-decoration: none !important;
18
+ }
19
+ }
20
+
21
+ .article__header--overlay {
22
+ .overlay {
23
+ min-height: 36rem;
24
+ padding-top: map-get($spacers, 5) * 2;
25
+ padding-bottom: map-get($spacers, 5) * 2;
26
+ @include media-breakpoint-down(md) {
27
+ min-height: 29rem;
28
+ padding-top: map-get($spacers, 5);
29
+ padding-bottom: map-get($spacers, 5);
30
+ }
31
+ }
32
+ .overlay__excerpt {
33
+ font-size: map-get($base, font-size-h3-xl);
34
+ @include media-breakpoint-down(lg) {
35
+ font-size: map-get($base, font-size-h3-lg);
36
+ }
37
+ @include media-breakpoint-down(md) {
38
+ font-size: map-get($base, font-size-h3-sm);
39
+ }
40
+ font-weight: map-get($base, font-weight-bold);
41
+ }
42
+
43
+ .article__header {
44
+ margin-top: 0;
45
+ }
46
+ }
47
+
48
+ .article__header--cover {
49
+ width: 100%;
50
+ }
@@ -0,0 +1,25 @@
1
+ .article__info {
2
+ font-size: map-get($base, font-size-sm);
3
+ color: $text-color-l;
4
+ .left-col {
5
+ float: left;
6
+ @include media-breakpoint-down(md) {
7
+ float: none;
8
+ }
9
+ }
10
+ .right-col {
11
+ float: right;
12
+ margin-left: map-get($button, padding-x-sm);
13
+ @include media-breakpoint-down(md) {
14
+ float: none;
15
+ }
16
+ & > li {
17
+ &:not(:last-child) {
18
+ @include split-line(right, default, $text-color-l);
19
+ padding-right: map-get($spacers, 2);
20
+ margin-right: map-get($spacers, 2);
21
+ line-height: map-get($base, line-height-xs);
22
+ }
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,18 @@
1
+ .article-list {
2
+ .item__meta {
3
+ padding: 0 map-get($spacers, 3) 0 0;
4
+ font-family: map-get($base, font-family-code);
5
+ font-size: map-get($base, font-size-sm);
6
+ white-space: nowrap;
7
+ }
8
+ &.grid--sm {
9
+ .card__header {
10
+ overflow: hidden;
11
+ text-overflow: ellipsis;
12
+ white-space: nowrap;
13
+ }
14
+ }
15
+ }
16
+ .article-list__group-header {
17
+ margin-top: map-get($spacers, 3);
18
+ }
@@ -0,0 +1,43 @@
1
+ .author-links {
2
+ & > ul {
3
+ margin: 0;
4
+ & > li > {
5
+ .mail-button {
6
+ @include clickable($text-color-1, $mail-color);
7
+ }
8
+ .facebook-button {
9
+ @include clickable($text-color-1, $facebook-color);
10
+ }
11
+ .twitter-button {
12
+ @include clickable($text-color-1, $twitter-color);
13
+ }
14
+ .weibo-button {
15
+ @include clickable($text-color-1, $weibo-color);
16
+ }
17
+ .googlepluse-button {
18
+ @include clickable($text-color-1, $google-plus-color);
19
+ }
20
+ .telegram-button {
21
+ @include clickable($text-color-1, $telegram-color);
22
+ }
23
+ .medium-button {
24
+ @include clickable($text-color-1, $medium-color);
25
+ }
26
+ .zhihu-button {
27
+ @include clickable($text-color-1, $zhihu-color);
28
+ }
29
+ .douban-button {
30
+ @include clickable($text-color-1, $douban-color);
31
+ }
32
+ .linkedin-button {
33
+ @include clickable($text-color-1, $linkedin-color);
34
+ }
35
+ .github-button {
36
+ @include clickable($text-color-1, $github-color);
37
+ }
38
+ .npm-button {
39
+ @include clickable($text-color-1, $npm-color);
40
+ }
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,26 @@
1
+ .author-profile {
2
+ max-width: 25rem;
3
+ padding: map-get($spacers, 2) map-get($spacers, 3);
4
+ margin: map-get($spacers, 4) 0;
5
+ font-size: map-get($base, font-size-sm);
6
+ background-color: $text-background-color;
7
+ @include media-breakpoint-down(md) {
8
+ text-align: center;
9
+ }
10
+ }
11
+ .author-profile__avatar {
12
+ width: 5rem;
13
+ height: 5rem;
14
+ margin-top: map-get($spacers, 2);
15
+ border-radius: 50%;
16
+ }
17
+ .author-profile__name {
18
+ font-size: map-get($base, font-size-lg);
19
+ font-weight: map-get($base, font-weight-bold);
20
+ a {
21
+ @include link-colors($text-color, $main-color-1);
22
+ }
23
+ }
24
+ .author-profile__links {
25
+ @include overflow(auto);
26
+ }
@@ -0,0 +1,35 @@
1
+ .extensions {
2
+ margin: map-get($spacers, 3) 0;
3
+ @extend .d-print-none;
4
+ }
5
+
6
+ .extensions--video, .extensions--slide, .extensions--demo {
7
+ position: relative;
8
+ width: 100%;
9
+ padding: 0;
10
+ & > iframe {
11
+ position: absolute;
12
+ top: 0;
13
+ left: 0;
14
+ width: 100%;
15
+ height: 100%;
16
+ }
17
+ }
18
+
19
+ .extensions--video {
20
+ padding-top: percentage(calc(315 / 560));
21
+ }
22
+
23
+ .extensions--slide {
24
+ padding-top: percentage(calc(487 / 599));
25
+ }
26
+
27
+ .extensions--demo {
28
+ min-height: 340px;
29
+ padding-top: percentage(calc(315 / 560));
30
+ }
31
+
32
+ .extensions--audio {
33
+ display: block;
34
+ max-width: 100% !important;
35
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Site Info
3
+ */
4
+
5
+ .footer {
6
+ @include flexbox();
7
+ @include align-items(center);
8
+ color: $footer-text-color;
9
+ background: $footer-background;
10
+ a {
11
+ @include link-colors ($footer-text-color, $main-color-1);
12
+ }
13
+ .site-info {
14
+ font-size: map-get($base, font-size-xs);
15
+ text-align: center;
16
+ .menu {
17
+ line-height: map-get($base, line-height-xs);
18
+ & > * {
19
+ &:not(:last-child) {
20
+ @include split-line(right, default, $footer-text-color);
21
+ padding-right: map-get($spacers, 1);
22
+ margin-right: map-get($spacers, 1);
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
28
+ .footer__author-links {
29
+ @include overflow(auto);
30
+ .author-links {
31
+ text-align: center;
32
+ }
33
+ }
@@ -0,0 +1,123 @@
1
+ .header {
2
+ background: $header-background;
3
+ a {
4
+ font-weight: map-get($base, font-weight);
5
+ text-decoration: none !important;
6
+ @include link-colors($header-text-color, $main-color-1);
7
+ }
8
+ .main {
9
+ @include flexbox();
10
+ @include media-breakpoint-down(md) {
11
+ @include flex-direction(column);
12
+ }
13
+ }
14
+ }
15
+
16
+ .header--dark {
17
+ @extend .text--dark;
18
+ background: rgba(#000, .15);
19
+ .navigation__item--active {
20
+ &::after {
21
+ @include split-line(bottom, 4px, $text-color-theme-dark);
22
+ }
23
+ }
24
+ }
25
+
26
+ .header--light {
27
+ @extend .text--light;
28
+ background: rgba(#fff, .15);
29
+ .navigation__item--active {
30
+ &::after {
31
+ @include split-line(bottom, 4px, $text-color-theme-light);
32
+ }
33
+ }
34
+ }
35
+
36
+ .header__title {
37
+ @include menu(3, 0);
38
+ @include align-items(center);
39
+ @include flex-wrap(nowrap);
40
+ @include flex(1);
41
+ height: map-get($layout, header-height);
42
+ margin-right: map-get($spacers, 3);
43
+ white-space: nowrap;
44
+ @include media-breakpoint-down(md) {
45
+ height: auto;
46
+ margin-right: 0;
47
+ }
48
+ & > .header__brand {
49
+ @include flex(1);
50
+ @include media-breakpoint-down(md) {
51
+ height: map-get($layout, header-height-sm);
52
+ }
53
+ }
54
+ & > .search-button {
55
+ display: none;
56
+ margin-left: map-get($spacers, 2);
57
+ @include media-breakpoint-down(md) {
58
+ @include flexbox();
59
+ }
60
+ }
61
+ }
62
+
63
+ .header__brand {
64
+ @include flexbox();
65
+ @include align-items(center);
66
+ & > svg {
67
+ width: map-get($base, font-size-h4) * 1.6;
68
+ height: map-get($base, font-size-h4) * 1.6;
69
+ margin-right: map-get($spacers, 3);
70
+ vertical-align: middle;
71
+ @include media-breakpoint-down(md) {
72
+ width: map-get($base, font-size-h4) * 1.2;
73
+ height: map-get($base, font-size-h4) * 1.2;
74
+ }
75
+ }
76
+ & > a {
77
+ display: inline-block;
78
+ font-size: map-get($base, font-size-h4);
79
+ @include media-breakpoint-down(md) {
80
+ font-size: map-get($base, font-size-h4-small);
81
+ }
82
+ }
83
+ }
84
+
85
+ .navigation {
86
+ @include overflow(auto, "x");
87
+ & > ul {
88
+ height: map-get($layout, header-height);
89
+ padding-bottom: 0;
90
+ margin: 0;
91
+ @include media-breakpoint-down(md) {
92
+ padding-bottom: 4px;
93
+ margin: -4px 0 0 0;
94
+ }
95
+ @include menu(3, 2, nowrap);
96
+ @include align-items(center);
97
+ @include media-breakpoint-down(md) {
98
+ height: auto;
99
+ }
100
+ .search-button {
101
+ @include media-breakpoint-down(md) {
102
+ display: none;
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ .navigation__item {
109
+ &::after {
110
+ display: block;
111
+ margin-bottom: -4px;
112
+ content: "";
113
+ @include split-line(bottom, 4px, transparent);
114
+ }
115
+ }
116
+ .navigation__item--active {
117
+ a {
118
+ @include link-colors($main-color-1, $main-color-1);
119
+ }
120
+ &::after {
121
+ @include split-line(bottom, 4px, $main-color-1);
122
+ }
123
+ }