jekyll-theme-yat 1.5.3 → 1.6.2

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: 1d298e53ce0ab4f109de5d89f3da05a0a7b23e0e32e37b7e5a9ef0636c9ce3bb
4
- data.tar.gz: 72b2b04a663a236aa0b1e3016a9ecbf0530a12198efa29e8d75980e10d207ed7
3
+ metadata.gz: 9057ae0176d4e24ea2eed2b647404a4795e1f8fc498347c31c2ce24bae90671e
4
+ data.tar.gz: 69becf6c9cc0b736674b45855adf18b181a86828fa36dd5cd239946962e0a91f
5
5
  SHA512:
6
- metadata.gz: ad213b0337a5b5a3b60d4fd281a8234a78bde4204fe80fef6bc105ea3afbad38bda338688da2a7981c33ce699893a33c1dbd32df488adc1f84cdd772de2dcc9e
7
- data.tar.gz: 6bc8650cf7e58724f4fbf29116a04cfb348e032d9bc6ab23886ae6b7ce5fbc222a371b2e33bf754b263fa64dbd2dec66fe57cf3fe72a0536cb6f6e9aac643a54
6
+ metadata.gz: 2382bedcfaabc6011d2467a296b1b1f8778a42ad97f589c3ec777f78a826763dfb10fad9da22a9f5ca2626629c9ad5b4a19a96fba4b3e273f9ca90c0ec8bacc7
7
+ data.tar.gz: c2faab5c852bd6eaf33e42d9fe844edebbe8557589bafa4f4ab39b6dcd9cb4e0753aa8e17ecca3c2781f1e14f4dd037e70db11d5411fc5be356bbe7e5519ce95
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 }}';
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" -%}
@@ -6,7 +6,7 @@
6
6
  <div class="paginator">
7
7
  <span class="previous">
8
8
  {% if paginator.previous_page %}
9
- <a href="{{ paginator.previous_page_path }}">Prev</a>
9
+ <a href="{{ paginator.previous_page_path | relative_url }}">Prev</a>
10
10
  {% else %}
11
11
  <span>Prev</span>
12
12
  {% endif %}
@@ -16,7 +16,7 @@
16
16
 
17
17
  <span class="next">
18
18
  {% if paginator.next_page %}
19
- <a href="{{ paginator.next_page_path }}">Next</a>
19
+ <a href="{{ paginator.next_page_path | relative_url }}">Next</a>
20
20
  {% else %}
21
21
  <span>Next</span>
22
22
  {% endif %}
@@ -17,7 +17,7 @@
17
17
  {%- if page.tags.size > 0 -%}
18
18
  <div class="post-tags">
19
19
  {%- for tag in page.tags -%}
20
- <a class="post-tag" href="/tags.html#{{tag}}">#{{tag}}</a>
20
+ <a class="post-tag" href="{{ '/tags.html ' | relative_url }}#{{tag}}">#{{tag}}</a>
21
21
  {%- endfor -%}
22
22
  </div>
23
23
  {%- endif -%}
@@ -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: 102px;
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: 94px;
73
+ margin-right: 20px;
74
+
75
+ .names {
76
+ font-size: .85em;
77
+ }
78
+ }
79
+ }
@@ -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"
@@ -151,7 +151,8 @@ code {
151
151
  padding: 1px 5px;
152
152
  border-radius: 3px;
153
153
  color: #fff;
154
- background-color: #545454;
154
+ background-color: #787878;
155
+ margin: 0 5px;
155
156
  }
156
157
 
157
158
  pre {
@@ -0,0 +1,184 @@
1
+ $dark-background-color: #0e0e0e !default;
2
+
3
+ html[data-theme="dark"] {
4
+
5
+ &[data-scroll-status='top'] {
6
+ .site-footer-inner {
7
+ border-top: solid 1px #2f2f2f !important;
8
+ transition: 0s;
9
+ }
10
+ }
11
+
12
+ body {
13
+ color: #bbb;
14
+ background-color: $dark-background-color;
15
+ }
16
+
17
+ *:not(pre) > code {
18
+ background-color: #545454;
19
+ }
20
+
21
+ table {
22
+ color: #9d9d9d;
23
+
24
+ th {
25
+ background-color: #000;
26
+ }
27
+
28
+ tr:nth-child(even) {
29
+ background-color: #111;
30
+ }
31
+ }
32
+
33
+ .site-header {
34
+ background-color: #090909;
35
+
36
+ .site-brand {
37
+ .site-brand-inner {
38
+ &, &:visited {
39
+ color: #f8f8f8;
40
+ }
41
+ }
42
+ }
43
+
44
+ .site-nav .page-link {
45
+ color: #f8f8f8;
46
+ }
47
+
48
+ .ct-language-dropdown {
49
+ color: #f8f8f8;
50
+ background-color: $dark-background-color;
51
+ }
52
+
53
+ .ct-language-selected, .ct-language-dropdown li:hover {
54
+ background-color: #222 !important;
55
+ }
56
+ }
57
+
58
+ .site-footer {
59
+ color: #fff;
60
+ background-color: #000;
61
+ }
62
+
63
+ .left-vsplit:before {
64
+ background-color: #9a9a9a;
65
+ }
66
+
67
+ .page-banner {
68
+ .page-banner-img {
69
+ & > *:first-child {
70
+ opacity: 0.8;
71
+ }
72
+ }
73
+ }
74
+
75
+ .pagination {
76
+ .post-link {
77
+ color: #bbb;
78
+ }
79
+
80
+ .post-title {
81
+ a:visited:after {
82
+ background-color: $dark-background-color;
83
+ }
84
+
85
+ a:after {
86
+ color: $dark-background-color;
87
+ }
88
+ }
89
+
90
+ .post-list {
91
+ & > li:not(:last-child) {
92
+ border-bottom: 1px solid #545454;
93
+ }
94
+ }
95
+
96
+ .post-tags .post-tag:hover {
97
+ color: #d7d7d7;
98
+ }
99
+ }
100
+
101
+ .page-segments {
102
+ li {
103
+ a {
104
+ color: #ddd;
105
+ }
106
+
107
+ a:visited:after {
108
+ background-color: $dark-background-color;
109
+ }
110
+
111
+ a:after {
112
+ color: $dark-background-color;
113
+ }
114
+ }
115
+ }
116
+
117
+ .post .post-content {
118
+ img:not([raw]) {
119
+ background-color: #ffffff33;
120
+ }
121
+ }
122
+
123
+ .post-related {
124
+ & > *:first-child {
125
+ color: #d7d7d7;
126
+ }
127
+
128
+ a:visited:after {
129
+ background-color: $dark-background-color;
130
+ }
131
+
132
+ a:after {
133
+ color: $dark-background-color;
134
+ }
135
+
136
+ a:hover {
137
+ color: #aaa;
138
+ }
139
+ }
140
+
141
+ .common-list {
142
+ li {
143
+ border-bottom: solid 1px #40404088;
144
+
145
+ a {
146
+ color: #aaa;
147
+ }
148
+
149
+ a:hover {
150
+ background-color: #272727;
151
+ }
152
+
153
+ span {
154
+ background-color: #333;
155
+ }
156
+ }
157
+ }
158
+
159
+ .post-menu {
160
+ .post-menu-title {
161
+ color: #ddd;
162
+ }
163
+
164
+ .post-menu-content {
165
+ ul {
166
+ border-left: 1px solid #787878;
167
+
168
+ .active {
169
+ background-color: #2d2d2d;
170
+ border-left: 2px solid #aaa;
171
+ }
172
+
173
+ a {
174
+ color: #bbb;
175
+ }
176
+
177
+ a:hover {
178
+ color: #fff !important;
179
+ }
180
+ }
181
+ }
182
+ }
183
+ }
184
+
@@ -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-all;
392
+ overflow-wrap: normal;
393
+ word-wrap: normal;
394
+ word-break: normal;
398
395
 
399
396
  h2 {
400
397
  @include relative-font-size(2);
@@ -560,7 +557,6 @@ html {
560
557
  height: $banner-height;
561
558
  background-color: $banner-background;
562
559
  transition: height 0.2s;
563
- margin-bottom: 32px;
564
560
 
565
561
  .page-banner-img {
566
562
  position: absolute;
@@ -570,6 +566,7 @@ html {
570
566
 
571
567
  & > *:first-child {
572
568
  @include center-image;
569
+ transition: 0.1s all ease-in-out;
573
570
  }
574
571
  }
575
572
 
@@ -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.3
4
+ version: 1.6.2
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-17 00:00:00.000000000 Z
11
+ date: 2020-10-13 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
@@ -225,5 +228,6 @@ requirements: []
225
228
  rubygems_version: 3.1.4
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: []