jekyll-text-theme 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/_data/locale.yml +12 -0
  4. data/_includes/analytics-providers/google.html +7 -9
  5. data/_includes/article-info.html +19 -35
  6. data/_includes/article-list.html +73 -0
  7. data/_includes/author-links.html +7 -0
  8. data/_includes/header.html +13 -9
  9. data/_includes/markdown-enhancements.html +3 -3
  10. data/_includes/paginator.html +73 -72
  11. data/_includes/scripts/archieve.js +57 -160
  12. data/_includes/scripts/aside/affix.js +2 -0
  13. data/_includes/scripts/lib/affix.js +8 -6
  14. data/_includes/scripts/lib/toc.js +3 -5
  15. data/_includes/scripts/search-data.js +14 -0
  16. data/_includes/scripts/search.js +177 -0
  17. data/_includes/scripts/utils.js +1 -1
  18. data/_includes/scripts/variables.html +6 -0
  19. data/_includes/search.html +24 -0
  20. data/_includes/snippets/is_collection.html +6 -0
  21. data/_includes/snippets/prepend-baseurl.html +4 -1
  22. data/_includes/snippets/prepend-path.html +1 -0
  23. data/_includes/svg/icon/social/npm.svg +9 -0
  24. data/_includes/tags.html +2 -2
  25. data/_layouts/archive.html +3 -9
  26. data/_layouts/base.html +1 -0
  27. data/_layouts/home.html +1 -28
  28. data/_layouts/landing.html +11 -4
  29. data/_layouts/page.html +18 -8
  30. data/_sass/common/_classes.scss +1 -0
  31. data/_sass/common/_function.scss +2 -2
  32. data/_sass/common/_reset.scss +5 -5
  33. data/_sass/common/_variables.scss +22 -14
  34. data/_sass/common/classes/_animation.scss +1 -1
  35. data/_sass/common/classes/_clearfix.scss +7 -3
  36. data/_sass/common/classes/_clickable.scss +13 -13
  37. data/_sass/common/classes/_display.scss +3 -0
  38. data/_sass/common/classes/_flex.scss +131 -131
  39. data/_sass/common/classes/_grid.scss +3 -3
  40. data/_sass/common/classes/_horizontal-rules.scss +3 -3
  41. data/_sass/common/classes/_overflow.scss +3 -3
  42. data/_sass/common/classes/_spacing.scss +24 -24
  43. data/_sass/common/classes/_transform.scss +1 -1
  44. data/_sass/common/classes/_transition.scss +1 -1
  45. data/_sass/common/classes/_user-select.scss +3 -3
  46. data/_sass/common/components/_button.scss +19 -9
  47. data/_sass/common/components/_card.scss +2 -2
  48. data/_sass/common/components/_item.scss +90 -0
  49. data/_sass/common/components/_menu.scss +8 -4
  50. data/_sass/common/components/_toc.scss +7 -2
  51. data/_sass/components/_article-content.scss +25 -18
  52. data/_sass/components/_article-info.scss +2 -2
  53. data/_sass/components/_article-list.scss +3 -0
  54. data/_sass/components/_author-links.scss +3 -0
  55. data/_sass/components/_author-profile.scss +5 -5
  56. data/_sass/components/_footer.scss +13 -5
  57. data/_sass/components/_header.scss +80 -46
  58. data/_sass/components/_main.scss +3 -3
  59. data/_sass/components/_search.scss +97 -0
  60. data/_sass/components/_tags.scss +3 -2
  61. data/_sass/layout/_archive.scss +5 -82
  62. data/_sass/layout/_article.scss +2 -2
  63. data/_sass/layout/_base.scss +1 -1
  64. data/_sass/layout/_home.scss +10 -68
  65. data/_sass/layout/_landing.scss +5 -6
  66. data/_sass/layout/_page.scss +34 -12
  67. data/_sass/skins/_chocolate.scss +2 -1
  68. data/_sass/skins/_dark.scss +3 -2
  69. data/_sass/skins/_default.scss +2 -1
  70. data/_sass/skins/_forest.scss +2 -1
  71. data/_sass/skins/_ocean.scss +2 -1
  72. data/_sass/skins/_orange.scss +2 -1
  73. data/_sass/skins/highlight/tomorrow/_highlight.scss +65 -65
  74. data/_sass/skins/highlight/tomorrow/_night-blue.scss +2 -2
  75. data/_sass/skins/highlight/tomorrow/_night-bright.scss +1 -1
  76. data/_sass/skins/highlight/tomorrow/_night-eighties.scss +7 -7
  77. data/_sass/skins/highlight/tomorrow/_night.scss +1 -1
  78. data/assets/css/main.scss +4 -1
  79. data/assets/search.js +3 -0
  80. metadata +14 -3
  81. data/_includes/scripts/article-list.html +0 -25
@@ -1,4 +1,4 @@
1
1
  @mixin transform($value) {
2
2
  -webkit-transform: $value;
3
- transform: $value;
3
+ transform: $value;
4
4
  }
@@ -1,4 +1,4 @@
1
1
  @mixin transition($value) {
2
2
  -webkit-transition: $value;
3
- transition: $value;
3
+ transition: $value;
4
4
  }
@@ -1,6 +1,6 @@
1
1
  @mixin user-select($value) {
2
2
  -webkit-user-select: $value;
3
- -moz-user-select: $value;
4
- -ms-user-select: $value;
5
- user-select: $value;
3
+ -moz-user-select: $value;
4
+ -ms-user-select: $value;
5
+ user-select: $value;
6
6
  }
@@ -1,10 +1,11 @@
1
1
  @mixin button() {
2
- font-weight: map-get($button, font-weight);
3
- line-height: map-get($base, line-height);
4
- outline: none;
5
2
  display: inline-block;
6
- cursor: pointer;
3
+ font-weight: map-get($button, font-weight);
4
+ line-height: 1 !important;
5
+
7
6
  text-decoration: none !important;
7
+ cursor: pointer;
8
+ outline: none;
8
9
  @include user-select(none);
9
10
  @include transition(map-get($button, transition));
10
11
  svg {
@@ -16,8 +17,8 @@
16
17
  }
17
18
  &.disabled,
18
19
  &:disabled {
19
- cursor: not-allowed;
20
20
  color: rgba($text-color-3, .2) !important;
21
+ cursor: not-allowed;
21
22
  background-color: $main-color-3 !important;
22
23
  svg path {
23
24
  fill: rgba($text-color-3, .2) !important;
@@ -100,7 +101,7 @@
100
101
  }
101
102
 
102
103
  .button--circle {
103
- @include flexbox();
104
+ @include inline-flex();
104
105
  @include justify-content(center);
105
106
  @include align-items(center);
106
107
  border-radius: 50%;
@@ -108,17 +109,26 @@
108
109
  }
109
110
 
110
111
  .button--md {
111
- font-size: map-get($base, font-size);
112
112
  padding: map-get($button, padding-y) map-get($button, padding-x);
113
+ font-size: map-get($base, font-size);
113
114
  &.button--circle {
114
115
  width: map-get($button, circle-diameter);
115
116
  height: map-get($button, circle-diameter);
116
117
  }
117
118
  }
118
119
 
120
+ .button--xs {
121
+ padding: map-get($button, padding-y-xs) map-get($button, padding-x-xs);
122
+ font-size: map-get($base, font-size-xs);
123
+ &.button--circle {
124
+ width: map-get($button, circle-diameter-xs);
125
+ height: map-get($button, circle-diameter-xs);
126
+ }
127
+ }
128
+
119
129
  .button--sm {
120
- font-size: map-get($base, font-size-sm);
121
130
  padding: map-get($button, padding-y-sm) map-get($button, padding-x-sm);
131
+ font-size: map-get($base, font-size-sm);
122
132
  &.button--circle {
123
133
  width: map-get($button, circle-diameter-sm);
124
134
  height: map-get($button, circle-diameter-sm);
@@ -126,8 +136,8 @@
126
136
  }
127
137
 
128
138
  .button--lg {
129
- font-size: map-get($base, font-size-lg);
130
139
  padding: map-get($button, padding-y-lg) map-get($button, padding-x-lg);
140
+ font-size: map-get($base, font-size-lg);
131
141
  &.button--circle {
132
142
  width: map-get($button, circle-diameter-lg);
133
143
  height: map-get($button, circle-diameter-lg);
@@ -1,9 +1,9 @@
1
1
  @mixin card($has-shadow: default) {
2
2
  @if $has-shadow == default {
3
- $has-shadow: true
3
+ $has-shadow: true;
4
4
  }
5
- border-radius: map-get($base, border-radius);
6
5
  padding: .5rem 1rem;
6
+ border-radius: map-get($base, border-radius);
7
7
  @if $has-shadow {
8
8
  @include box-shadow();
9
9
  }
@@ -0,0 +1,90 @@
1
+ .item {
2
+ @include flexbox();
3
+ @include media-breakpoint-down(md) {
4
+ @include flex-direction(row);
5
+ }
6
+ &:not(:last-child) {
7
+ margin-bottom: map-get($base, vertical-space);
8
+ }
9
+ list-style-type: none;
10
+ }
11
+
12
+ .item__image {
13
+ margin-right: map-get($spacers, 3);
14
+ @include media-breakpoint-down(md) {
15
+ margin-right: 0;
16
+ }
17
+ }
18
+
19
+ .item__content {
20
+ @include flex(1);
21
+ max-width: 100%;
22
+ }
23
+
24
+ .item__header {
25
+ margin: 0 0 map-get($base, vertical-space) * 1.6 0;
26
+ & > a {
27
+ @include link-colors($text-color-d, $main-color-1);
28
+ }
29
+ }
30
+ a.item__header {
31
+ @include link-colors($text-color-d, $main-color-1);
32
+ }
33
+
34
+ .item__meta {
35
+ color: $text-color-l;
36
+ }
37
+
38
+ .item__description {
39
+ &, .article__content {
40
+ font-size: map-get($base, font-size-sm);
41
+ line-height: map-get($base, line-height);
42
+ @include block-elements() {
43
+ margin-top: map-get($base, vertical-space);
44
+ margin-bottom: map-get($base, vertical-space);
45
+ }
46
+ @include heading-elements() {
47
+ margin-top: map-get($base, vertical-space) * 1.5;
48
+ }
49
+ h1, h2, h3 {
50
+ color: $text-color;
51
+ }
52
+ h1, h2 {
53
+ padding: 0;
54
+ border: none;
55
+ }
56
+ h1 {
57
+ font-size: map-get($base, font-size-h1-xs);
58
+ }
59
+ h2 {
60
+ font-size: map-get($base, font-size-h2-xs);
61
+ }
62
+ h3 {
63
+ font-size: map-get($base, font-size-h3-xs);
64
+ }
65
+ h4 {
66
+ font-size: map-get($base, font-size-h4-xs);
67
+ }
68
+ h5 {
69
+ font-size: map-get($base, font-size-h5-xs);
70
+ }
71
+ h6 {
72
+ font-size: map-get($base, font-size-h6-xs);
73
+ }
74
+ img {
75
+ max-height: 12rem;
76
+ }
77
+ }
78
+ }
79
+
80
+ .items--divided {
81
+ .item {
82
+ &:not(:first-child) {
83
+ padding-top: map-get($spacers, 4);
84
+ }
85
+ &:not(:last-child) {
86
+ padding-bottom: map-get($spacers, 4);
87
+ @include split-line(bottom);
88
+ }
89
+ }
90
+ }
@@ -1,8 +1,8 @@
1
1
  @mixin menu-direction($direction: default) {
2
2
  @if $direction == default {
3
- $direction: 'horizontal';
3
+ $direction: "horizontal";
4
4
  }
5
- @if $direction == 'vertical' {
5
+ @if $direction == "vertical" {
6
6
  @include flex-direction(column);
7
7
  } @else {
8
8
  @include flex-direction(row);
@@ -28,8 +28,8 @@
28
28
  margin-top: map-get($spacers, $horizontal-item-vertical-spacer);
29
29
  margin-bottom: map-get($spacers, $horizontal-item-vertical-spacer);
30
30
  }
31
- list-style-type: none;
32
31
  margin-right: map-get($spacers, $horizontal-spacer);
32
+ list-style-type: none;
33
33
  &:last-child {
34
34
  margin-right: 0;
35
35
  }
@@ -43,13 +43,17 @@
43
43
  }
44
44
 
45
45
  .menu--vertical {
46
- @include menu-direction('vertical');
46
+ @include menu-direction("vertical");
47
47
  @include align-items(normal);
48
48
  & > li {
49
49
  margin-right: 0;
50
50
  }
51
51
  }
52
52
 
53
+ .menu--inline {
54
+ @include inline-flex();
55
+ }
56
+
53
57
  .menu--center {
54
58
  @include justify-content(center);
55
59
  }
@@ -16,8 +16,8 @@ ul.toc {
16
16
  a {
17
17
  display: inline-block;
18
18
  padding: .2rem .8rem .2rem .8rem;
19
- border-radius: map-get($base, border-radius);
20
19
  text-decoration: none !important;
20
+ border-radius: map-get($base, border-radius);
21
21
  @include clickable($text-color, null, $text-color-3, $main-color-3);
22
22
  }
23
23
 
@@ -84,13 +84,18 @@ ul.toc {
84
84
 
85
85
  ul.toc--navigator {
86
86
  & > li {
87
+ @include active() {
88
+ a {
89
+ background-color: transparent;
90
+ }
91
+ }
87
92
  &.active {
88
93
  a {
94
+ margin-left: -4px;
89
95
  background-color: transparent;
90
96
  box-shadow: none;
91
97
  @include link-colors($main-color-1);
92
98
  @include split-line(left, 4px, $main-color-1);
93
- margin-left: -4px;
94
99
  }
95
100
  }
96
101
  }
@@ -1,6 +1,6 @@
1
1
  .article__content {
2
- word-wrap: break-word;
3
2
  line-height: map-get($base, line-height-lg);
3
+ word-wrap: break-word;
4
4
  @include block-elements() {
5
5
  margin: map-get($base, vertical-space-lg) 0;
6
6
  }
@@ -10,8 +10,8 @@
10
10
  & > .anchor {
11
11
  @include link-colors($border-color, $main-color-1);
12
12
  margin-left: .2rem;
13
- visibility: hidden;
14
13
  text-decoration: none;
14
+ visibility: hidden;
15
15
  opacity: 0;
16
16
  & > i {
17
17
  font-size: map-get($base, font-size-sm);
@@ -19,9 +19,9 @@
19
19
  }
20
20
  @include hover() {
21
21
  & > .anchor {
22
+ cursor: pointer;
22
23
  visibility: visible;
23
24
  opacity: 1;
24
- cursor: pointer;
25
25
  }
26
26
  }
27
27
  }
@@ -35,9 +35,9 @@
35
35
  }
36
36
  blockquote {
37
37
  padding-left: 1rem;
38
- @include split-line(left, 4px, $border-color);
39
38
  font-size: map-get($base, font-size-sm);
40
39
  color: $text-color-l;
40
+ @include split-line(left, 4px, $border-color);
41
41
  p {
42
42
  margin: map-get($base, vertical-space) 0;
43
43
  }
@@ -51,18 +51,18 @@
51
51
  }
52
52
  .emoji {
53
53
  display: inline-block;
54
- vertical-align: text-bottom;
55
54
  width: map-get($base, line-height-lg) * .7rem;
56
55
  height: map-get($base, line-height-lg) * .7rem;
56
+ vertical-align: text-bottom;
57
57
  }
58
58
  .footnotes {
59
59
  @include split-line();
60
60
  margin-top: map-get($base, vertical-space-lg) * 2;
61
61
  }
62
62
  code {
63
- border-radius: map-get($base, border-radius);
64
63
  padding: .2rem .5rem;
65
64
  background-color: $text-background-color;
65
+ border-radius: map-get($base, border-radius);
66
66
  span {
67
67
  padding: 0;
68
68
  margin: 0;
@@ -72,8 +72,8 @@
72
72
  @include overflow(auto);
73
73
  & > code {
74
74
  padding: 0;
75
- background-color: transparent;
76
75
  word-wrap: normal;
76
+ background-color: transparent;
77
77
  &.language-mermaid, &.language-chart {
78
78
  svg {
79
79
  width: 100%;
@@ -87,27 +87,27 @@
87
87
  }
88
88
  .highlighter-rouge > .highlight, figure.highlight {
89
89
  & > pre {
90
- border-radius: map-get($base, border-radius);
91
90
  padding: 1rem 0 1rem 1rem;
92
91
  margin: 0;
93
92
  background-color: $text-background-color;
93
+ border-radius: map-get($base, border-radius);
94
94
  & > code {
95
95
  display: block;
96
96
  }
97
97
  }
98
98
  }
99
99
  figure.highlight {
100
- &:before {
101
- content: attr(data-lang);
100
+ &::before {
102
101
  display: block;
103
- border-top-left-radius: map-get($base, border-radius);
104
- border-top-right-radius: map-get($base, border-radius);
105
102
  padding: .5rem 1rem .5rem 0;
106
- color: $decorate-color;
107
- background-color: $text-background-color;
108
103
  font-weight: map-get($base, font-weight-bold);
104
+ color: $decorate-color;
109
105
  text-align: right;
110
106
  text-transform: uppercase;
107
+ content: attr(data-lang);
108
+ background-color: $text-background-color;
109
+ border-top-left-radius: map-get($base, border-radius);
110
+ border-top-right-radius: map-get($base, border-radius);
111
111
  }
112
112
  & > pre {
113
113
  padding-top: 0;
@@ -118,9 +118,9 @@
118
118
  width: auto;
119
119
  margin: 0 0 -1rem -1rem;
120
120
  tbody, tr, td {
121
- border: none;
122
121
  padding-top: 0;
123
122
  padding-bottom: 0;
123
+ border: none;
124
124
  }
125
125
  & > tbody {
126
126
  @include flexbox;
@@ -138,10 +138,10 @@
138
138
  padding-left: 1rem;
139
139
  }
140
140
  & > pre {
141
- border-radius: 0;
142
141
  display: block;
143
- @include overflow(auto);
144
142
  margin: 0;
143
+ border-radius: 0;
144
+ @include overflow(auto);
145
145
  &.lineno {
146
146
  color: $text-color-l;
147
147
  @include user-select(none);
@@ -177,6 +177,13 @@
177
177
  margin-left: 2rem;
178
178
  }
179
179
  }
180
+ ul.task-list {
181
+ margin-left: 0;
182
+ list-style-type: none;
183
+ ul, ol {
184
+ margin-left: 1.5rem;
185
+ }
186
+ }
180
187
  table {
181
188
  display: block;
182
189
  width: 100%;
@@ -186,8 +193,8 @@
186
193
  background-color: $text-background-color;
187
194
  }
188
195
  th, td {
189
- border: 1px solid $border-color-l;
190
196
  padding: .5rem;
197
+ border: 1px solid $border-color-l;
191
198
  }
192
199
  th {
193
200
  font-weight: map-get($base, font-weight-bold);
@@ -8,17 +8,17 @@
8
8
  }
9
9
  .right-col {
10
10
  float: right;
11
- color: $text-color-l;
12
11
  margin-left: map-get($button, padding-x-sm);
12
+ color: $text-color-l;
13
13
  @include media-breakpoint-down(md) {
14
14
  float: none;
15
15
  }
16
16
  & > li {
17
17
  &:not(:last-child) {
18
18
  @include split-line(right, default, $text-color-l);
19
- line-height: map-get($base, line-height-xs);
20
19
  padding-right: .7rem;
21
20
  margin-right: .7rem;
21
+ line-height: map-get($base, line-height-xs);
22
22
  }
23
23
  }
24
24
  }
@@ -0,0 +1,3 @@
1
+ .article-list__group-header {
2
+ margin-top: map-get($base, vertical-space) * 2;
3
+ }
@@ -25,6 +25,9 @@
25
25
  }
26
26
  .douban-button {
27
27
  @include clickable($text-color-1, $douban-color);
28
+ }
29
+ .npm-button {
30
+ @include clickable($text-color-1, $npm-color);
28
31
  }
29
32
  }
30
33
  }