jekyll-theme-yat 1.4.1 → 1.5.2

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: b240330b198155ad46585d5205c0d08f794cdd5267edb1d3d9d07ed8e228f1cd
4
- data.tar.gz: cbf130a4d7beb75c8d68c44b7621ba0c140b6ea839e4521f1ce7e4a8e57a0484
3
+ metadata.gz: e7798cd9d88a662d31fa6307d3e6023f1855e45a4354f4416ce2151fe3eb9cc9
4
+ data.tar.gz: ab43762bac580d9a597590120dc13b381349889343c4c3c45e76da9a6f3b1365
5
5
  SHA512:
6
- metadata.gz: 7e7475aa560905263a4e4448b4ba7d4e4eafe36ceb93a851637ae8d4983b6ca499b270fc729ac27ce3d3b14d5108eb48c3841bbe5b2d69191b97b78334bca975
7
- data.tar.gz: 67f7984dd1c2620267a8b0808b48ce7b6ee8ad45330739b1f69c393aef99f3ee995ccd016f33d01b77e40197da630aec5fc8cc1604f9d2fb618d7616b36c3845
6
+ metadata.gz: c84f727863bb487ede96c9f98503ddfff7475f7703095940425134a11d42298e8850cfa8e019e0e51f085618373a5312ab6578a7254e0101b77465b03ad014e3
7
+ data.tar.gz: 8f6fe2eebc563c1d83ab715c4cb1083cb870a34d0518f5dfe00bb14dc8b24d37c31cd5888a0b0e239f7c14c4dad9a2915df75800581a14c413d78d7535e645c6
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
@@ -6,5 +6,5 @@
6
6
 
7
7
  {% assign keys = datetimes %}
8
8
  {% assign field = 'date' %}
9
- {% assign url = '/archives.html' %}
9
+ {% assign url = '/archives.html' | relative_url %}
10
10
  {% include sidebar/common-list.html %}
@@ -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
  });
@@ -5,5 +5,5 @@
5
5
 
6
6
  {% assign keys = categories %}
7
7
  {% assign field = 'categories' %}
8
- {% assign url = '/categories.html' %}
8
+ {% assign url = '/categories.html' | relative_url %}
9
9
  {% include sidebar/common-list.html %}
@@ -9,7 +9,7 @@
9
9
  <div class="common-list">
10
10
  <ul>
11
11
  <li>
12
- <a href="/index.html">
12
+ <a href="{{ '/index.html' | relative_url }}">
13
13
  All<span>{{ site.posts.size }}</span>
14
14
  </a>
15
15
  </li>
@@ -5,5 +5,5 @@
5
5
 
6
6
  {% assign keys = tags %}
7
7
  {% assign field = 'tags' %}
8
- {% assign url = '/tags.html' %}
8
+ {% assign url = '/tags.html' | relative_url %}
9
9
  {%- include sidebar/common-list.html -%}
@@ -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
  */
@@ -110,7 +108,6 @@ a {
110
108
  text-decoration: none;
111
109
 
112
110
  &:hover {
113
- color: $text-color;
114
111
  text-decoration: underline;
115
112
  }
116
113
 
@@ -123,7 +120,6 @@ a {
123
120
  }
124
121
  }
125
122
 
126
-
127
123
  /**
128
124
  * Blockquotes
129
125
  */
@@ -155,7 +151,7 @@ code {
155
151
  padding: 1px 5px;
156
152
  border-radius: 3px;
157
153
  color: #fff;
158
- background-color: $brand-color;
154
+ background-color: #545454;
159
155
  }
160
156
 
161
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
@@ -67,16 +67,14 @@ document.addEventListener('DOMContentLoaded', function(event) {
67
67
  break;
68
68
  }
69
69
  }
70
- if (lang) {
71
- block.setAttribute('class', 'hljs ' + lang);
72
- } else {
73
- lang = block
74
- .getAttribute('class')
75
- .replace('hljs ', '');
70
+ if (!lang) {
71
+ cls = block.getAttribute('class');
72
+ lang = cls ? cls.replace('hljs ', '') : '';
76
73
  }
77
74
  if (lang.startsWith('language-')) {
78
75
  lang = lang.substr(9);
79
76
  }
77
+ block.setAttribute('class', 'hljs ' + lang);
80
78
  block.parentNode.setAttribute('data-lang', lang);
81
79
  hljs.highlightBlock(block);
82
80
  });
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.1
4
+ version: 1.5.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-08-18 00:00:00.000000000 Z
11
+ date: 2020-09-11 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.