jekyll-theme-yat 1.5.4 → 1.6.3

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.
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: []