jekyll-text-theme 2.0.2 → 2.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 (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
  }