jekyll-theme-yat 1.5.5 → 1.6.4

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: e23cabb5b85f960c0149610259b2b257e7ce06077a54e8834c4f70e689988e07
4
- data.tar.gz: 5f41d7b6faad0be804c262daedce63a020794acd16aa106a9ea1690aa4185db1
3
+ metadata.gz: d16f89597b967a3dbf863b569304d660769634299e54c3b6d03b7e7501bcae0f
4
+ data.tar.gz: 2ea148e50b2f6a3df84ebbf0245aa7ce8d6cedc6e4d7fae6997bad6fb4d9539b
5
5
  SHA512:
6
- metadata.gz: 5fea0fdae1d42740ce4d633cdc399bceeba79620257ed282d9ddd5d24b6e3c7c927a28baab5707e5f76f0a6a5d91a98cf5513929901aa5171a8c8d032c26d4f6
7
- data.tar.gz: 0dd397bdaf68249b75f6c206e48b1fd4a12e1ebbe47f674ca1cc9bf9b0c68cf28f632ba340315a124ee07c04b495fb85583764dcfad57bcb6a2558438635a38c
6
+ metadata.gz: e0133198787f1044e4334a89f6aa9f140f5d319a77f528533aa65798ecfd5744c494b267787cf641f9ff9ba5550c8be2e1c440f35a241f539867de0a0d40bfef
7
+ data.tar.gz: 1da4f0b6247b01e666457e114cca771cebfe0a65fedd9b191e2f9c6ec11b2de2dbf9a509318b9077f47216b3d10425e9b9624e425e1b174a0561e2c16676135b
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
 
@@ -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>
@@ -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
  }
@@ -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 {
@@ -160,7 +160,7 @@ pre {
160
160
  background-color: #f0f0f0;
161
161
 
162
162
  // code language badge
163
- &:before {
163
+ &::before {
164
164
  content: attr(data-lang);
165
165
  color: #fff;
166
166
  background-color: #ff4e00;
@@ -174,6 +174,11 @@ pre {
174
174
  right: 0;
175
175
  }
176
176
 
177
+ // fix wrong badge display for firefox browser
178
+ code > table pre::before {
179
+ display: none;
180
+ }
181
+
177
182
  > code {
178
183
  display: inline-block;
179
184
  padding: 20px!important;
@@ -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
 
@@ -228,10 +228,10 @@ html {
228
228
  }
229
229
 
230
230
  .post-tags {
231
- display: inline-block;
232
231
  padding-right: 150px;
233
232
 
234
233
  .post-tag {
234
+ display: inline-block;
235
235
  margin: 0 12px 0 0;
236
236
  }
237
237
  }
@@ -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,6 +389,7 @@ html {
392
389
 
393
390
  .post-content {
394
391
  margin-bottom: $spacing-unit;
392
+ overflow-x: auto;
395
393
  overflow-wrap: normal;
396
394
  word-wrap: normal;
397
395
  word-break: normal;
@@ -500,6 +498,7 @@ html {
500
498
  @include relative-font-size(1.125);
501
499
  line-height: 15px;
502
500
  color: #666;
501
+ max-width: 50%;
503
502
  }
504
503
 
505
504
  .previous:before {
@@ -560,7 +559,6 @@ html {
560
559
  height: $banner-height;
561
560
  background-color: $banner-background;
562
561
  transition: height 0.2s;
563
- margin-bottom: 32px;
564
562
 
565
563
  .page-banner-img {
566
564
  position: absolute;
@@ -570,6 +568,7 @@ html {
570
568
 
571
569
  & > *:first-child {
572
570
  @include center-image;
571
+ transition: 0.1s all ease-in-out;
573
572
  }
574
573
  }
575
574
 
@@ -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.5
4
+ version: 1.6.4
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-29 00:00:00.000000000 Z
11
+ date: 2020-12-06 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: []