jekyll-theme-yat 1.4.0 → 1.5.1

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: 98ac82995fa7fe0f023cfdbbb2aa005413c8839adfaf3db2cf1a44b6b28b952d
4
- data.tar.gz: 2e955f528fe54844e7ffbf5605a2f93b3eaf0f5bfa9a9465a1b4dbd518cb80bd
3
+ metadata.gz: 2e681401f81b122a16cf17612a96244c85e60faa2724033d450558dc5ea0da91
4
+ data.tar.gz: b1f56bf69dd3a56dbe768f40f0d0bfd672129531d6e11e70ed35576a701fa5b0
5
5
  SHA512:
6
- metadata.gz: 4c860e189b2e200c9723262207f8d5d8e69840c710faa4375b84ef99ac542a11fd30dfb19a09dafbc7bdf95fd38c86b4ad54c26e36b1fd3f8fa0e7147457db56
7
- data.tar.gz: 63e1b8843f8ae8be5234623a914f32cbc7411f9322c5b9b083cedafe2dee51255c41b93dddc378e8046cf0dae57b286b4a886a4d5118037e52d758c41885b672
6
+ metadata.gz: 9481a2e209c78103584a927c7ddc4c1709bdc0c450eaa9ca9bdd001cd3d86bf3937934c36e91a18afae36695958e3e4d53c2851633f2e3a9c910641a31eda02e
7
+ data.tar.gz: fc79d0d8ef27aa8ee594147a11940e77ab16857a53402f403175f8b8a244030978a5e00cd5651a52a1d3a1d737bfa45e57936e2d23f9881e95d17e00cc0d9cf5
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # jekyll-theme-yat
2
+ [![Github Pages](https://github.com/jeffreytse/jekyll-theme-yat/workflows/Github%20Pages/badge.svg)](https://jeffreytse.github.io/jekyll-theme-yat)
2
3
  [![Gem Version](https://badge.fury.io/rb/jekyll-theme-yat.svg)](http://badge.fury.io/rb/jekyll-theme-yat)
3
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)
4
5
  [![Donate (Liberapay)](http://img.shields.io/liberapay/goal/jeffreytse.svg?logo=liberapay)](https://liberapay.com/jeffreytse)
@@ -13,10 +14,27 @@ Hey, nice to meet you, you found this Jekyll theme. Here the yet another theme i
13
14
 
14
15
  <p align="center">
15
16
 
16
- <img src="https://user-images.githubusercontent.com/9413601/87244819-c34ada80-c472-11ea-9c67-5827dd55d3c7.png" alt="demo-screenshot" width="720px" style="box-shadow: 0px 0px 18px 5px #f2f2f2" />
17
+ <img src="https://user-images.githubusercontent.com/9413601/91842897-6a840b00-ec87-11ea-95ca-52abcc1ac063.png" alt="demo-screenshot" width="780px"/>
17
18
 
18
19
  </p>
19
20
 
21
+ ## Features
22
+
23
+ - Full layouts `home`, `post`, `tags`, `archive` and `about`.
24
+ - Uses font awesome 5 for icons.
25
+ - Beautiful Syntax Highlight using [hilight.js][hilight-js].
26
+ - RSS support using [Jekyll Feed][jekyll-feed] gem.
27
+ - Optimized for search engines using [Jekyll Seo Tag][jekyll-seo-tag] gem.
28
+ - Sitemap support using [Jekyll Sitemap][jekyll-sitemap] gem.
29
+ - Complex and flexible table support using [Jekyll Spaceship][jekyll-spaceship] gem.
30
+ - MathJAX and LaTeX optional support using [Jekyll Spaceship][jekyll-spaceship] gem.
31
+ - Media (Youtube, Spotify, etc.) support using [Jekyll Spaceship][jekyll-spaceship] gem.
32
+ - Diagram (PlantUML, Mermaid) support using [Jekyll Spaceship][jekyll-spaceship] gem.
33
+ - Google Translation support.
34
+ - New post tag support.
35
+
36
+ Also, visit the live [demo][yat-live-demo] site for the theme.
37
+
20
38
  ## Installation
21
39
 
22
40
  Add this line to your Jekyll site's `Gemfile`:
@@ -41,7 +59,12 @@ Or install it yourself as:
41
59
 
42
60
  ## Usage
43
61
 
44
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
62
+ Add or update your available layouts, includes, sass and/or assets.
63
+
64
+ GitHub Pages runs in `safe` mode and only allows [a set of whitelisted plugins](https://pages.github.com/versions/).
65
+ To use the third-party gem in GitHub Pages without limitation:
66
+
67
+ * Here is a GitHub Action named [jekyll-deploy-action](https://github.com/jeffreytse/jekyll-deploy-action) for Jekyll site deployment conveniently. 👍
45
68
 
46
69
  ## Development
47
70
 
@@ -61,3 +84,13 @@ You can start by [opening an issue](https://github.com/jeffreytse/jekyll-theme-y
61
84
  ## License
62
85
 
63
86
  This theme is licensed under the [MIT license](https://opensource.org/licenses/mit-license.php) © JeffreyTse.
87
+
88
+ <!-- External links -->
89
+ [jekyll]: https://jekyllrb.com/
90
+ [yat-git-repo]: https://github.com/jeffreytse/jekyll-theme-yat/
91
+ [yat-live-demo]: https://jeffreytse.github.io/jekyll-theme-yat/
92
+ [jekyll-spaceship]: https://github.com/jeffreytse/jekyll-spaceship
93
+ [jekyll-seo-tag]: https://github.com/jekyll/jekyll-seo-tag
94
+ [jekyll-sitemap]: https://github.com/jekyll/jekyll-sitemap
95
+ [jekyll-feed]: https://github.com/jekyll/jekyll-feed
96
+ [hilight-js]: https://github.com/highlightjs/highlight.js
@@ -36,10 +36,54 @@
36
36
  // The header element
37
37
  var header = document.querySelector('header.site-header');
38
38
 
39
+ function doMenuCollapse(index, over_items=20) {
40
+ var items = menuContent.firstChild.children;
41
+
42
+ if (items.length < over_items) {
43
+ return;
44
+ }
45
+
46
+ var activeItem = items[index];
47
+ var beginItem = activeItem
48
+ var endItem = activeItem
49
+ var beginIndex = index;
50
+ var endIndex = index + 1;
51
+ while (beginIndex >= 0
52
+ && !items[beginIndex].classList.contains('h-h2')) {
53
+ beginIndex -= 1;
54
+ }
55
+ while (endIndex < items.length
56
+ && !items[endIndex].classList.contains('h-h2')) {
57
+ endIndex += 1;
58
+ }
59
+ for (var i = 0; i < beginIndex; i++) {
60
+ item = items[i]
61
+ if (!item.classList.contains('h-h2')) {
62
+ item.style.display = 'none';
63
+ }
64
+ }
65
+ for (var i = beginIndex + 1; i < endIndex; i++) {
66
+ item = items[i]
67
+ // if (!item.classList.contains('h-h2')) {
68
+ item.style.display = '';
69
+ // }
70
+ }
71
+ for (var i = endIndex; i < items.length; i++) {
72
+ item = items[i]
73
+ if (!item.classList.contains('h-h2')) {
74
+ item.style.display = 'none';
75
+ }
76
+ }
77
+ }
78
+
79
+ // Init menu collapsed
80
+ doMenuCollapse(-1);
81
+
39
82
  // Active the menu item
40
83
  window.addEventListener('scroll', function (event) {
41
84
  var lastActive = menuContent.querySelector('.active');
42
85
  var changed = true;
86
+ var activeIndex = -1;
43
87
  for (var i = headings.length - 1; i >= 0; i--) {
44
88
  var h = headings[i];
45
89
  var headingRect = h.getBoundingClientRect();
@@ -53,6 +97,7 @@
53
97
  var curActive = a.parentNode;
54
98
  if (curActive) {
55
99
  curActive.classList.add('active');
100
+ activeIndex = i;
56
101
  }
57
102
  if (lastActive == curActive) {
58
103
  changed = false;
@@ -60,8 +105,11 @@
60
105
  break;
61
106
  }
62
107
  }
63
- if (lastActive && changed) {
64
- lastActive.classList.remove('active');
108
+ if (changed) {
109
+ if (lastActive) {
110
+ lastActive.classList.remove('active');
111
+ }
112
+ doMenuCollapse(activeIndex);
65
113
  }
66
114
  event.preventDefault();
67
115
  });
@@ -21,7 +21,7 @@
21
21
  {% if banner %}
22
22
  <section class="page-banner">
23
23
  <div class="page-banner-img">
24
- <div style="background-image: url({{ banner }})"></div>
24
+ <div style="background-image: url({{ banner | relative_url }})"></div>
25
25
  </div>
26
26
  <div class="wrapper">
27
27
  <div class="page-banner-inner">
@@ -0,0 +1,9 @@
1
+ ---
2
+ layout: post
3
+ hidden:
4
+ - header
5
+ - navigator
6
+ - related_posts
7
+ ---
8
+
9
+ {{ content }}
@@ -2,6 +2,7 @@
2
2
  layout: framework
3
3
  banner:
4
4
  banner_html: post-header.html
5
+ hidden: []
5
6
  sidebar:
6
7
  - article-menu
7
8
  ---
@@ -13,47 +14,63 @@ sidebar:
13
14
  {%- include functions.html func='get_value' -%}
14
15
  {%- assign banner = return -%}
15
16
 
16
- {%- if banner == nil -%}
17
+ {%- assign name = 'hidden' -%}
18
+ {%- include functions.html func='get_value' -%}
19
+ {%- assign hidden = return -%}
20
+
21
+ {%- assign result = hidden | where_exp: "item", "item == 'header'" -%}
22
+ {%- if banner == nil and result.size == 0 -%}
17
23
  {%- include views/post-header.html -%}
18
24
  {%- endif -%}
19
25
 
20
26
  {%- include views/article.html -%}
21
27
 
28
+ {%- assign result = hidden | where_exp: "item", "item == 'navigator'" -%}
29
+ {%- if result.size == 0 -%}
22
30
  <div class="post-nav">
23
31
  {%- if page.previous -%}
24
- <a class="previous" href="{{ page.previous.url }}" title="{{
32
+ <a class="previous" href="{{ page.previous.url | relative_url }}" title="{{
25
33
  page.previous.title | escape }}">{{ page.previous.title | escape | truncatewords: 6 }}</a>
26
34
  {%- else -%}
27
35
  <span></span>
28
36
  {%- endif -%}
29
37
 
30
38
  {%- if page.next -%}
31
- <a class="next" href="{{ page.next.url }}" title="{{ page.next.title | escape }}">{{ page.next.title | escape | truncatewords: 6 }}</a>
39
+ <a class="next" href="{{ page.next.url | relative_url }}" title="{{ page.next.title | escape }}">{{ page.next.title | escape | truncatewords: 6 }}</a>
32
40
  {%- else -%}
33
41
  <span></span>
34
42
  {%- endif -%}
35
43
  </div>
44
+ {%- endif -%}
36
45
 
46
+ {%- assign result = hidden | where_exp: "item", "item == 'related_posts'" -%}
47
+ {%- if result.size == 0 -%}
37
48
  <div class="post-related">
38
49
  <div>Related Articles</div>
39
50
  <ul>
40
51
  {% assign posts = site[page.collection] | sample:4 %}
41
52
  {%- for post in posts -%}
42
- <li><a class="post-link" href="{{post.url}}" title="{{ page.next.title | escape }}">{{ post.title | escape | truncatewords: 12 }}</a></li>
53
+ <li><a class="post-link" href="{{post.url | relative_url}}" title="{{ page.next.title | escape }}">{{ post.title | escape | truncatewords: 12 }}</a></li>
43
54
  {%- endfor -%}
44
55
  </ul>
45
56
  </div>
57
+ {%- endif -%}
46
58
 
47
- {%- if page.comments != false -%}
59
+ {%- assign result = hidden | where_exp: "item", "item == 'comments'" -%}
60
+ {%- if result.size == 0 -%}
61
+ <div class="post-comments">
62
+ {%- if page.comments != false -%}
48
63
 
49
- {%- if site.disqus.shortname -%}
50
- {%- include extensions/comments/disqus.html -%}
51
- {%- endif -%}
64
+ {%- if site.disqus.shortname -%}
65
+ {%- include extensions/comments/disqus.html -%}
66
+ {%- endif -%}
52
67
 
53
- {%- if site.gitment.username -%}
54
- {%- include extensions/comments/gitment.html -%}
55
- {%- endif -%}
68
+ {%- if site.gitment.username -%}
69
+ {%- include extensions/comments/gitment.html -%}
70
+ {%- endif -%}
56
71
 
72
+ {%- endif -%}
73
+ </div>
57
74
  {%- endif -%}
58
75
 
59
76
  </section>
@@ -3,8 +3,9 @@
3
3
  */
4
4
 
5
5
  .post-menu {
6
- padding: 0 20px;
7
- max-width: 250px;
6
+ padding-left: 20px;
7
+ min-width: 200px;
8
+ max-width: 230px;
8
9
 
9
10
  .post-menu-title {
10
11
  font-size: $base-font-size * 1.5;
@@ -100,8 +100,6 @@ h1, h2, h3, h4, h5, h6 {
100
100
  font-weight: $base-font-weight * 1.5;
101
101
  }
102
102
 
103
-
104
-
105
103
  /**
106
104
  * Links
107
105
  */
@@ -109,12 +107,7 @@ a {
109
107
  color: $brand-color;
110
108
  text-decoration: none;
111
109
 
112
- &:visited {
113
- color: #606060;
114
- }
115
-
116
110
  &:hover {
117
- color: $text-color;
118
111
  text-decoration: underline;
119
112
  }
120
113
 
@@ -127,7 +120,6 @@ a {
127
120
  }
128
121
  }
129
122
 
130
-
131
123
  /**
132
124
  * Blockquotes
133
125
  */
@@ -159,7 +151,7 @@ code {
159
151
  padding: 1px 5px;
160
152
  border-radius: 3px;
161
153
  color: #fff;
162
- background-color: $brand-color;
154
+ background-color: #545454;
163
155
  }
164
156
 
165
157
  pre {
@@ -319,10 +319,15 @@ html {
319
319
  border: 1px solid;
320
320
  padding: 2px 4px;
321
321
  border-radius: 2px;
322
+ transition: color 0.2s;
322
323
 
323
324
  &:not(:first-child) {
324
325
  margin-left: 8px;
325
326
  }
327
+
328
+ &:hover {
329
+ color: #777;
330
+ }
326
331
  }
327
332
 
328
333
  .paginator {
@@ -474,6 +479,10 @@ html {
474
479
  }
475
480
  }
476
481
 
482
+ .post-comments {
483
+ padding-top: 25px;
484
+ }
485
+
477
486
 
478
487
  /**
479
488
  * Posts misc
@@ -59,13 +59,23 @@ function smoothScrollTo(y, time) {
59
59
  // Init highlight js
60
60
  document.addEventListener('DOMContentLoaded', function(event) {
61
61
  document.querySelectorAll('pre code').forEach((block) => {
62
- hljs.highlightBlock(block);
62
+ var outer = block.parentElement.parentElement.parentElement;
63
63
  var lang = block.getAttribute('data-lang');
64
+ for (var cls of outer.classList) {
65
+ if (cls.startsWith('language-')) {
66
+ lang = cls;
67
+ break;
68
+ }
69
+ }
64
70
  if (!lang) {
65
- lang = block
66
- .getAttribute('class')
67
- .replace('hljs ', '');
71
+ cls = block.getAttribute('class');
72
+ lang = cls ? cls.replace('hljs ', '') : '';
68
73
  }
74
+ if (lang.startsWith('language-')) {
75
+ lang = lang.substr(9);
76
+ }
77
+ block.setAttribute('class', 'hljs ' + lang);
69
78
  block.parentNode.setAttribute('data-lang', lang);
79
+ hljs.highlightBlock(block);
70
80
  });
71
81
  });
metadata CHANGED
@@ -1,57 +1,75 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-yat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - jeffreytse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-16 00:00:00.000000000 Z
11
+ date: 2020-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '1.16'
22
+ version: '3.0'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '1.16'
29
+ version: '1.6'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rake
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
39
  version: '12.0'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '13.0'
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
38
- - - "~>"
47
+ - - ">="
39
48
  - !ruby/object:Gem::Version
40
49
  version: '12.0'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '13.0'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: jekyll
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - "~>"
57
+ - - ">"
46
58
  - !ruby/object:Gem::Version
47
- version: '3.8'
59
+ version: '3.5'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '5.0'
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
- - - "~>"
67
+ - - ">"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.5'
70
+ - - "<"
53
71
  - !ruby/object:Gem::Version
54
- version: '3.8'
72
+ version: '5.0'
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: jekyll-feed
57
75
  requirement: !ruby/object:Gem::Requirement
@@ -166,6 +184,7 @@ files:
166
184
  - _includes/views/segments.html
167
185
  - _includes/views/site-brand.html
168
186
  - _layouts/404.html
187
+ - _layouts/about.html
169
188
  - _layouts/archives.html
170
189
  - _layouts/articles.html
171
190
  - _layouts/categories.html
@@ -181,6 +200,7 @@ files:
181
200
  - _sass/yat/_base.scss
182
201
  - _sass/yat/_layout.scss
183
202
  - assets/css/main.scss
203
+ - assets/images/banners/home.jpeg
184
204
  - assets/js/main.js
185
205
  homepage: https://github.com/jeffreytse/jekyll-theme-yat
186
206
  licenses:
@@ -202,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
222
  - !ruby/object:Gem::Version
203
223
  version: '0'
204
224
  requirements: []
205
- rubygems_version: 3.0.6
225
+ rubygems_version: 3.1.4
206
226
  signing_key:
207
227
  specification_version: 4
208
228
  summary: Yet another theme for elegant writers with modern flat style.