jekyll-theme-yat 1.5.4 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2884b2ab53b29fb48aa6bf0574b925c936fec06f4de9d20383360e50a37cb56e
4
- data.tar.gz: c9fbc6547272f4ba8c1c4621d395b64809632f18bee235eca6a4ff2f239214e1
3
+ metadata.gz: 455c4ceab292869e983a85ced50d9537bf70c7d13b5fe334330f83df2e34720a
4
+ data.tar.gz: ffe0ae7cebfcbc65dc43b8d3bb7e484f158e310b398fb62c090433ea8e289eff
5
5
  SHA512:
6
- metadata.gz: 5047f96da41a9ec89f78728f6bb9ccf4a36292568d27018345694aa772b732e6bd73f2497039dee478a8b52f9da875f494b6413c89c05bca12f58903b9dbaa70
7
- data.tar.gz: 63c4497d597df2564ca33a0dbb590f15aa7f5662972a49e0546fb167378277271f14e6cf53ddae49bc7405b90ca6cd6915ab3d8e1add45c7266d6ba7fac353a8
6
+ metadata.gz: 294a7a2ce6f1ae93bd492d1dbe635837180103160fc185fb45a0af9eee1df9b3b14c81a86e433c489ab3cc7ddf22f14686294c3885bedd8d09807ca96b237e06
7
+ data.tar.gz: 5df389f70206297daf5b1d777a2936b078334825b3af5121c4ccf489a0cc91d2849626b1ee12df95ea2b9ed7acad6513ea7aad7ffde4cbf661b9153b425a717f
data/README.md CHANGED
@@ -18,8 +18,17 @@ Hey, nice to meet you, you found this Jekyll theme. Here the yet another theme i
18
18
 
19
19
  </p>
20
20
 
21
+ <h3 align="center">Night Mode</h3>
22
+
23
+ <p align="center">
24
+
25
+ <img src="https://user-images.githubusercontent.com/9413601/94983351-760f6e00-0574-11eb-9494-5303ad6228dc.gif" alt="demo-screenshot" width="780px"/>
26
+
27
+ </p>
28
+
21
29
  ## Features
22
30
 
31
+ - Support beautiful __Night Mode__.
23
32
  - Full layouts `home`, `post`, `tags`, `archive` and `about`.
24
33
  - Uses font awesome 5 for icons.
25
34
  - Beautiful Syntax Highlight using [hilight.js][hilight-js].
@@ -37,6 +46,14 @@ Also, visit the [Live Demo][yat-live-demo] site for the theme.
37
46
 
38
47
  ## Installation
39
48
 
49
+ There are three ways to install:
50
+
51
+ - As a [gem-based theme](https://jekyllrb.com/docs/themes/#understanding-gem-based-themes).
52
+ - As a [remote theme](https://blog.github.com/2017-11-29-use-any-theme-with-github-pages/) (GitHub Pages compatible).
53
+ - Forking/directly copying all of the theme files into your project.
54
+
55
+ ### Gem-based Theme Method
56
+
40
57
  Add this line to your Jekyll site's `Gemfile`:
41
58
 
42
59
  ```ruby
@@ -51,20 +68,53 @@ theme: jekyll-theme-yat
51
68
 
52
69
  And then execute:
53
70
 
54
- $ bundle
71
+ ```bash
72
+ $ bundle
73
+ ```
55
74
 
56
75
  Or install it yourself as:
57
76
 
58
- $ gem install jekyll-theme-yat
77
+ ```bash
78
+ $ gem install jekyll-theme-yat
79
+ ```
59
80
 
60
- ## Usage
81
+ ### Remote Theme Method with GitHub Pages
61
82
 
62
- Add or update your available layouts, includes, sass and/or assets.
83
+ Remote themes are similar to Gem-based themes, but do not require `Gemfile` changes or whitelisting making them ideal for sites hosted with GitHub Pages.
84
+
85
+ To install:
86
+
87
+ Add this line to your Jekyll site's `Gemfile`:
88
+
89
+ ```ruby
90
+ gem "github-pages", group: :jekyll_plugins
91
+ ```
92
+
93
+ And add this line to your Jekyll site's `_config.yml`:
94
+
95
+ ```yaml
96
+ # theme: owner/name --> Don't forget to remove/comment the gem-based theme option
97
+ remote_theme: "jeffreytse/jekyll-theme-yat"
98
+ ```
99
+
100
+ And then execute:
101
+
102
+ ```bash
103
+ $ bundle
104
+ ```
105
+
106
+ ## GitHub Pages without limitation
107
+
108
+ GitHub Pages runs in `safe` mode and only allows [a set of whitelisted plugins/themes](https://pages.github.com/versions/). __In other words, the third-party gems will not work normally__.
63
109
 
64
- GitHub Pages runs in `safe` mode and only allows [a set of whitelisted plugins](https://pages.github.com/versions/).
65
110
  To use the third-party gem in GitHub Pages without limitation:
66
111
 
67
- * Here is a GitHub Action named [jekyll-deploy-action](https://github.com/jeffreytse/jekyll-deploy-action) for Jekyll site deployment conveniently. 👍
112
+ Here is a GitHub Action named [jekyll-deploy-action](https://github.com/jeffreytse/jekyll-deploy-action) for Jekyll site deployment conveniently. 👍
113
+
114
+
115
+ ## Usage
116
+
117
+ Add or update your available layouts, includes, sass and/or assets.
68
118
 
69
119
  ## Development
70
120
 
@@ -8,8 +8,7 @@
8
8
  (function() {
9
9
  var d = document, s = d.createElement('script');
10
10
 
11
- // s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
12
- s.src = 'https://jeffreytse.disqus.com/embed.js';
11
+ s.src = 'https://{{ site.disqus.shortname }}.disqus.com/embed.js';
13
12
 
14
13
  s.setAttribute('data-timestamp', +new Date());
15
14
  (d.head || d.body).appendChild(s);
@@ -36,7 +36,7 @@
36
36
 
37
37
  // The first event occurred
38
38
  window.addEventListener('click', function(event) {
39
- if (event.target.matches('a')) {
39
+ if (event.target.tagName.toLowerCase() == 'a') {
40
40
  hashLocate(event.target.getAttribute('href'));
41
41
  }
42
42
  });
@@ -0,0 +1,103 @@
1
+ <div class="theme-toggle">
2
+ <input type="checkbox" id="theme-switch">
3
+ <label for="theme-switch">
4
+ <div class="toggle"></div>
5
+ <div class="names">
6
+ <p class="light">Light</p>
7
+ <p class="dark">Dark</p>
8
+ </div>
9
+ </label>
10
+ </div>
11
+
12
+ {%- assign name = 'night_mode' -%}
13
+ {%- include functions.html func='get_value' default='auto' -%}
14
+ {%- assign night_mode = return -%}
15
+
16
+ <script>
17
+ (function() {
18
+ var sw = document.getElementById('theme-switch');
19
+ var html = document.getElementsByTagName('html')[0];
20
+ var themeData = loadThemeData();
21
+
22
+ function saveThemeData(data) {
23
+ localStorage.setItem('theme', JSON.stringify(data));
24
+ }
25
+
26
+ function loadThemeData() {
27
+ var data = localStorage.getItem('theme');
28
+ try {
29
+ data = JSON.parse(data ? data : '');
30
+ } catch(e) {
31
+ data = { nightShift: false, autoToggleAt: 0 };
32
+ saveThemeData(data);
33
+ }
34
+ return data;
35
+ }
36
+
37
+ function handleThemeToggle(nightShift) {
38
+ themeData.nightShift = nightShift;
39
+ saveThemeData(themeData);
40
+ html.dataset.theme = nightShift ? 'dark' : 'light';
41
+ setTimeout(function() {
42
+ sw.checked = nightShift ? true : false;
43
+ }, 50);
44
+ }
45
+
46
+ function autoThemeToggle() {
47
+ // Next time point of theme toggle
48
+ var now = new Date();
49
+ var toggleAt = new Date();
50
+ var hours = now.getHours();
51
+ var nightShift = hours >= 19 || hours <=7;
52
+
53
+ if (nightShift) {
54
+ if (hours > 7) {
55
+ toggleAt.setDate(toggleAt.getDate() + 1);
56
+ }
57
+ toggleAt.setHours(7);
58
+ } else {
59
+ toggleAt.setHours(19);
60
+ }
61
+
62
+ toggleAt.setMinutes(0);
63
+ toggleAt.setSeconds(0);
64
+ toggleAt.setMilliseconds(0)
65
+
66
+ var delay = toggleAt.getTime() - now.getTime();
67
+
68
+ // auto toggle theme mode
69
+ setTimeout(function() {
70
+ handleThemeToggle(!nightShift);
71
+ }, delay);
72
+
73
+ return {
74
+ nightShift: nightShift,
75
+ toggleAt: toggleAt.getTime()
76
+ };
77
+ }
78
+
79
+ // Listen the theme toggle event
80
+ sw.addEventListener('change', function(event) {
81
+ handleThemeToggle(event.target.checked);
82
+ });
83
+
84
+ var nightModeOption = '{{ night_mode }}' || 'auto';
85
+ nightModeOption = nightModeOption.toLowerCase();
86
+
87
+ if (nightModeOption == 'auto') {
88
+ var data = autoThemeToggle();
89
+
90
+ // Toggle theme by local setting
91
+ if (data.toggleAt > themeData.autoToggleAt) {
92
+ themeData.autoToggleAt = data.toggleAt;
93
+ handleThemeToggle(data.nightShift);
94
+ } else {
95
+ handleThemeToggle(themeData.nightShift);
96
+ }
97
+ } else if (nightModeOption == 'manual') {
98
+ handleThemeToggle(themeData.nightShift);
99
+ } else {
100
+ handleThemeToggle(nightModeOption == 'on');
101
+ }
102
+ })();
103
+ </script>
@@ -1,5 +1,6 @@
1
- {%- if include.func -%}
2
- {%- assign func = include.func -%}
1
+ {%- assign params = include -%}
2
+ {%- if params.func -%}
3
+ {%- assign func = params.func -%}
3
4
  {%- endif -%}
4
5
 
5
6
  {%- assign include_path = func -%}
@@ -12,7 +13,7 @@
12
13
  {%- include functions/log.html level=include.level msg=include.msg -%}
13
14
  {%- else -%}
14
15
  {%- assign include_path = 'functions/' | append: include_path -%}
15
- {%- include {{ include_path }} -%}
16
+ {%- include {{ include_path }} params=params-%}
16
17
  {%- endif -%}
17
18
 
18
19
  {%- if func != 'log' -%}
@@ -1,5 +1,5 @@
1
- {% if include.filter %}
2
- {% assign filter = include.filter %}
1
+ {% if include.params.filter %}
2
+ {% assign filter = include.params.filter %}
3
3
  {% endif %}
4
4
 
5
5
  {% assign split_mark = '<|>' %}
@@ -1,9 +1,9 @@
1
- {% if include.article %}
2
- {% assign article = include.article %}
1
+ {% if include.params.article %}
2
+ {% assign article = include.params.article %}
3
3
  {% endif %}
4
4
 
5
- {% if include.speed %}
6
- {% assign speed = include.speed %}
5
+ {% if include.params.speed %}
6
+ {% assign speed = include.params.speed %}
7
7
  {% else %}
8
8
  {% assign speed = 160 %}
9
9
  {% endif %}
@@ -1,19 +1,19 @@
1
- {%- if include.name -%}
2
- {%- assign name = include.name -%}
1
+ {%- if include.params.name -%}
2
+ {%- assign name = include.params.name -%}
3
3
  {%- endif -%}
4
4
 
5
- {%- assign return = include.return -%}
6
-
7
- {%- if page[name] -%}
5
+ {%- if page[name] != nil -%}
8
6
  {%- assign return = page[name] -%}
9
- {%- elsif site[name] -%}
7
+ {%- elsif site[name] != nil -%}
10
8
  {%- assign return = site[name] -%}
11
- {%- elsif site.data[name] -%}
9
+ {%- elsif site.data[name] != nil -%}
12
10
  {%- assign return = site.data[name] -%}
13
- {%- elsif site.defaults[page.layout][name] -%}
11
+ {%- elsif site.defaults[page.layout][name] != nil -%}
14
12
  {%- assign return = site.defaults[page.layout][name] -%}
15
- {%- elsif site.data.defaults[page.layout][name] -%}
13
+ {%- elsif site.data.defaults[page.layout][name] != nil -%}
16
14
  {%- assign return = site.data.defaults[page.layout][name] -%}
17
- {%- elsif layout[name] -%}
15
+ {%- elsif layout[name] != nil -%}
18
16
  {%- assign return = layout[name] -%}
17
+ {%- else -%}
18
+ {%- assign return = include.params.default -%}
19
19
  {%- endif -%}
@@ -1,9 +1,9 @@
1
- {% if include.level %}
2
- {% assign level = include.level %}
1
+ {% if include.params.level %}
2
+ {% assign level = include.params.level %}
3
3
  {% endif %}
4
4
 
5
- {% if include.msg %}
6
- {% assign msg = include.msg %}
5
+ {% if include.params.msg %}
6
+ {% assign msg = include.params.msg %}
7
7
  {% endif %}
8
8
 
9
9
  {% if site.debug == true %}
@@ -36,9 +36,13 @@
36
36
  // The header element
37
37
  var header = document.querySelector('header.site-header');
38
38
 
39
- function doMenuCollapse(index, over_items=20) {
39
+ function doMenuCollapse(index, over_items) {
40
40
  var items = menuContent.firstChild.children;
41
41
 
42
+ if (over_items == undefined) {
43
+ over_items = 20;
44
+ }
45
+
42
46
  if (items.length < over_items) {
43
47
  return;
44
48
  }
@@ -1,13 +1,13 @@
1
1
 
2
2
  {%- include functions.html func='log' level='debug' msg='Get banner value' -%}
3
- {% assign name = 'banner' %}
3
+ {%- assign name = 'banner' -%}
4
4
  {%- include functions.html func='get_value' -%}
5
5
  {% assign banner = return %}
6
6
 
7
7
  {%- include functions.html func='log' level='debug' msg='Get header_transparent value' -%}
8
- {% assign name = 'header_transparent' %}
9
- {%- include functions.html func='get_value' -%}
10
- {% assign header_transparent = return | default: true %}
8
+ {%- assign name = 'header_transparent' -%}
9
+ {%- include functions.html func='get_value' default=true -%}
10
+ {%- assign header_transparent = return -%}
11
11
 
12
12
  {%- if banner and header_transparent -%}
13
13
  {%- assign header_transparent_class = "site-header-transparent" -%}
@@ -7,7 +7,6 @@ layout: default
7
7
  margin: 10px auto;
8
8
  max-width: 600px;
9
9
  text-align: center;
10
- color: #3c3c3c;
11
10
  }
12
11
  h1 {
13
12
  margin: 30px 0;
@@ -11,6 +11,8 @@
11
11
 
12
12
  {%- include extensions/hashlocate.html -%}
13
13
 
14
+ {%- include extensions/theme-toggle.html -%}
15
+
14
16
  <main class="page-content" aria-label="Content">
15
17
  <div class="wrapper">
16
18
  {{ content }}
@@ -27,7 +27,7 @@
27
27
  transition: background 0.2s;
28
28
 
29
29
  &:hover {
30
- background: mix($theme-color, #eaeaea, 20%);
30
+ background-color: mix($theme-color, #eaeaea, 20%);
31
31
  }
32
32
  }
33
33
 
@@ -113,7 +113,7 @@ body {
113
113
  // Main look
114
114
 
115
115
  .ct-language-selected {
116
- background: darken($theme-color, 5%) !important;
116
+ background-color: darken($theme-color, 5%) !important;
117
117
  }
118
118
 
119
119
  .ct-language-dropdown {
@@ -0,0 +1,79 @@
1
+ .theme-toggle {
2
+ position: relative;
3
+ width: $base-font-size * 7.65;
4
+ margin-top: 10px;
5
+ margin-right: 60px;
6
+ margin-left: auto;
7
+ transition: 0.1s all ease-in-out;
8
+
9
+ label, .toggle {
10
+ border-radius: 100px;
11
+ }
12
+
13
+ label {
14
+ display: block;
15
+ background-color: rgba(120,120,120,.15);
16
+ cursor: pointer;
17
+ }
18
+
19
+ .toggle {
20
+ position: absolute;
21
+ width: 50%;
22
+ height: 100%;
23
+ background-color: #fff;
24
+ box-shadow: 0 2px 15px rgba(0,0,0,.15);
25
+ transition: transform .2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
26
+ }
27
+
28
+ .names {
29
+ font-size: 1em;
30
+ font-weight: bolder;
31
+ width: 76%;
32
+ margin-left: 12%;
33
+ position: relative;
34
+ display: flex;
35
+ justify-content: space-between;
36
+ user-select: none;
37
+ }
38
+
39
+ .dark {
40
+ opacity: .5;
41
+ }
42
+
43
+ p {
44
+ color: #acacac;
45
+ margin-bottom: 0;
46
+ line-height: 24px;
47
+ }
48
+
49
+ [type="checkbox"] {
50
+ display: none;
51
+ }
52
+
53
+ /* Toggle */
54
+ [type="checkbox"]:checked ~ label .toggle {
55
+ transform: translateX(100%);
56
+ background-color: #34323D;
57
+ }
58
+
59
+ [type="checkbox"]:checked ~ label .dark{
60
+ opacity: 1;
61
+ }
62
+
63
+ [type="checkbox"]:checked ~ label .light{
64
+ opacity: .5;
65
+ }
66
+
67
+ @include media-query(1024px) {
68
+ margin-right: 35px;
69
+ }
70
+
71
+ @include media-query($on-palm) {
72
+ width: $base-font-size * 6.65;
73
+ margin-right: 20px;
74
+
75
+ .names {
76
+ font-size: .85em;
77
+ }
78
+ }
79
+ }
@@ -10,7 +10,7 @@ $base-line-height: 1.6 !default;
10
10
 
11
11
  $spacing-unit: 30px !default;
12
12
 
13
- $text-color: #313b3f !default;
13
+ $text-color: #454545 !default;
14
14
  $background-color: #fff !default;
15
15
  $brand-color: #ff5100 !default;
16
16
 
@@ -61,7 +61,8 @@ $on-laptop: 800px !default;
61
61
  @import
62
62
  "yat/base",
63
63
  "yat/layout",
64
- // "yat/syntax-highlighting",
64
+ "yat/dark",
65
+ "misc/theme-toggle",
65
66
  "misc/article-menu",
66
67
  "misc/common-list",
67
68
  "misc/google-translate"
@@ -148,10 +148,10 @@ code {
148
148
  }
149
149
 
150
150
  *:not(pre) > code {
151
- padding: 1px 5px;
151
+ padding: 3px 6px;
152
152
  border-radius: 3px;
153
- color: #fff;
154
- background-color: #545454;
153
+ background-color: #eee;
154
+ margin: 0 5px;
155
155
  }
156
156
 
157
157
  pre {
@@ -0,0 +1,186 @@
1
+ $dark-background-color: #0e0e0e !default;
2
+ $dark-text-color: #bbb !default;
3
+
4
+ html[data-theme="dark"] {
5
+
6
+ &[data-scroll-status='top'] {
7
+ .site-footer-inner {
8
+ border-top: solid 1px #2f2f2f !important;
9
+ transition: 0s;
10
+ }
11
+ }
12
+
13
+ body {
14
+ color: $dark-text-color;
15
+ background-color: $dark-background-color;
16
+ }
17
+
18
+ *:not(pre) > code {
19
+ color: $dark-text-color;
20
+ background-color: #454545;
21
+ }
22
+
23
+ table {
24
+ color: #9d9d9d;
25
+
26
+ th {
27
+ background-color: #050505;
28
+ }
29
+
30
+ tr:nth-child(even) {
31
+ background-color: #080808;
32
+ }
33
+ }
34
+
35
+ .site-header {
36
+ background-color: #090909;
37
+
38
+ .site-brand {
39
+ .site-brand-inner {
40
+ &, &:visited {
41
+ color: #f8f8f8;
42
+ }
43
+ }
44
+ }
45
+
46
+ .site-nav .page-link {
47
+ color: #f8f8f8;
48
+ }
49
+
50
+ .ct-language-dropdown {
51
+ color: #f8f8f8;
52
+ background-color: $dark-background-color;
53
+ }
54
+
55
+ .ct-language-selected, .ct-language-dropdown li:hover {
56
+ background-color: #222 !important;
57
+ }
58
+ }
59
+
60
+ .site-footer {
61
+ color: #fff;
62
+ background-color: #000;
63
+ }
64
+
65
+ .left-vsplit:before {
66
+ background-color: #9a9a9a;
67
+ }
68
+
69
+ .page-banner {
70
+ .page-banner-img {
71
+ & > *:first-child {
72
+ opacity: 0.8;
73
+ }
74
+ }
75
+ }
76
+
77
+ .pagination {
78
+ .post-link {
79
+ color: $dark-text-color;
80
+ }
81
+
82
+ .post-title {
83
+ a:visited:after {
84
+ background-color: $dark-background-color;
85
+ }
86
+
87
+ a:after {
88
+ color: $dark-background-color;
89
+ }
90
+ }
91
+
92
+ .post-list {
93
+ & > li:not(:last-child) {
94
+ border-bottom: 1px solid #545454;
95
+ }
96
+ }
97
+
98
+ .post-tags .post-tag:hover {
99
+ color: #d7d7d7;
100
+ }
101
+ }
102
+
103
+ .page-segments {
104
+ li {
105
+ a {
106
+ color: #ddd;
107
+ }
108
+
109
+ a:visited:after {
110
+ background-color: $dark-background-color;
111
+ }
112
+
113
+ a:after {
114
+ color: $dark-background-color;
115
+ }
116
+ }
117
+ }
118
+
119
+ .post .post-content {
120
+ img:not([raw]) {
121
+ background-color: #ffffff33;
122
+ }
123
+ }
124
+
125
+ .post-related {
126
+ & > *:first-child {
127
+ color: #d7d7d7;
128
+ }
129
+
130
+ a:visited:after {
131
+ background-color: $dark-background-color;
132
+ }
133
+
134
+ a:after {
135
+ color: $dark-background-color;
136
+ }
137
+
138
+ a:hover {
139
+ color: #aaa;
140
+ }
141
+ }
142
+
143
+ .common-list {
144
+ li {
145
+ border-bottom: solid 1px #40404088;
146
+
147
+ a {
148
+ color: #aaa;
149
+ }
150
+
151
+ a:hover {
152
+ background-color: #272727;
153
+ }
154
+
155
+ span {
156
+ background-color: #333;
157
+ }
158
+ }
159
+ }
160
+
161
+ .post-menu {
162
+ .post-menu-title {
163
+ color: #ddd;
164
+ }
165
+
166
+ .post-menu-content {
167
+ ul {
168
+ border-left: 1px solid #787878;
169
+
170
+ .active {
171
+ background-color: #2d2d2d;
172
+ border-left: 2px solid #aaa;
173
+ }
174
+
175
+ a {
176
+ color: $dark-text-color;
177
+ }
178
+
179
+ a:hover {
180
+ color: #fff !important;
181
+ }
182
+ }
183
+ }
184
+ }
185
+ }
186
+
@@ -11,7 +11,7 @@ html {
11
11
  &[data-scroll-status='top'] {
12
12
  header.site-header-transparent {
13
13
  height: 0;
14
- margin-top: 20px;
14
+ margin-top: 12px;
15
15
  background-color: transparent;
16
16
  transition: 0.1s height,background-color,box-shadow;
17
17
 
@@ -244,6 +244,7 @@ html {
244
244
  @extend %flex-1; /* <-- Keep footer on the bottom */
245
245
  -ms-flex: none; /* <-- Fix IE footer issue */
246
246
  padding: $spacing-unit * 2 0;
247
+ padding-top: 72px;
247
248
  }
248
249
 
249
250
  .page-heading {
@@ -326,7 +327,7 @@ html {
326
327
  }
327
328
 
328
329
  &:hover {
329
- color: #777;
330
+ color: #787878;
330
331
  }
331
332
  }
332
333
 
@@ -359,10 +360,6 @@ html {
359
360
  color: #b3b3b3;
360
361
  }
361
362
 
362
- a:hover {
363
- color: #000;
364
- }
365
-
366
363
  .indicator {
367
364
  padding: 0 15px;
368
365
  }
@@ -392,9 +389,9 @@ html {
392
389
 
393
390
  .post-content {
394
391
  margin-bottom: $spacing-unit;
395
- overflow-wrap: break-word;
396
- word-wrap: break-word;
397
- word-break: break-word;
392
+ overflow-wrap: normal;
393
+ word-wrap: normal;
394
+ word-break: normal;
398
395
 
399
396
  h2 {
400
397
  @include relative-font-size(2);
@@ -500,6 +497,7 @@ html {
500
497
  @include relative-font-size(1.125);
501
498
  line-height: 15px;
502
499
  color: #666;
500
+ max-width: 50%;
503
501
  }
504
502
 
505
503
  .previous:before {
@@ -560,7 +558,6 @@ html {
560
558
  height: $banner-height;
561
559
  background-color: $banner-background;
562
560
  transition: height 0.2s;
563
- margin-bottom: 32px;
564
561
 
565
562
  .page-banner-img {
566
563
  position: absolute;
@@ -570,6 +567,7 @@ html {
570
567
 
571
568
  & > *:first-child {
572
569
  @include center-image;
570
+ transition: 0.1s all ease-in-out;
573
571
  }
574
572
  }
575
573
 
@@ -58,10 +58,12 @@ function smoothScrollTo(y, time) {
58
58
 
59
59
  // Init highlight js
60
60
  document.addEventListener('DOMContentLoaded', function(event) {
61
- document.querySelectorAll('pre code').forEach((block) => {
61
+ var els = document.querySelectorAll('pre code')
62
+ function handle(block) {
62
63
  var outer = block.parentElement.parentElement.parentElement;
63
64
  var lang = block.getAttribute('data-lang');
64
- for (var cls of outer.classList) {
65
+ for (var i = 0; i < outer.classList.length; i++) {
66
+ var cls = outer.classList[i];
65
67
  if (cls.startsWith('language-')) {
66
68
  lang = cls;
67
69
  break;
@@ -77,5 +79,9 @@ document.addEventListener('DOMContentLoaded', function(event) {
77
79
  block.setAttribute('class', 'hljs ' + lang);
78
80
  block.parentNode.setAttribute('data-lang', lang);
79
81
  hljs.highlightBlock(block);
80
- });
82
+ }
83
+ for (var i = 0; i < els.length; i++) {
84
+ var el = els[i];
85
+ handle(el);
86
+ }
81
87
  });
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-yat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.4
4
+ version: 1.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jeffreytse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-22 00:00:00.000000000 Z
11
+ date: 2020-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -158,6 +158,7 @@ files:
158
158
  - _includes/extensions/google-translate.html
159
159
  - _includes/extensions/hashlocate.html
160
160
  - _includes/extensions/mathjax.html
161
+ - _includes/extensions/theme-toggle.html
161
162
  - _includes/extensions/trianglify.html
162
163
  - _includes/functions.html
163
164
  - _includes/functions/get_categories.html
@@ -196,8 +197,10 @@ files:
196
197
  - _sass/misc/article-menu.scss
197
198
  - _sass/misc/common-list.scss
198
199
  - _sass/misc/google-translate.scss
200
+ - _sass/misc/theme-toggle.scss
199
201
  - _sass/yat.scss
200
202
  - _sass/yat/_base.scss
203
+ - _sass/yat/_dark.scss
201
204
  - _sass/yat/_layout.scss
202
205
  - assets/css/main.scss
203
206
  - assets/images/banners/home.jpeg
@@ -222,8 +225,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
225
  - !ruby/object:Gem::Version
223
226
  version: '0'
224
227
  requirements: []
225
- rubygems_version: 3.1.4
228
+ rubygems_version: 3.0.8
226
229
  signing_key:
227
230
  specification_version: 4
228
- summary: Yet another theme for elegant writers with modern flat style.
231
+ summary: Yet another theme for elegant writers with modern flat style and beautiful
232
+ night/dark mode.
229
233
  test_files: []