jekyll-theme-horizon-flow 1.0.3 → 1.1.0

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: fd4a3025c5c7dee3341d1b781738590518af5ec7d17438132723a39a13758e9d
4
- data.tar.gz: 8606bb51af10a0e4e3fbd022b2ce394d9cf299e9e06ccceb52f06741af34c29d
3
+ metadata.gz: 9c647058ba28712037b2b276685ef637181cebaf265936fa6fe33851bfd33dbd
4
+ data.tar.gz: cecdc33724d7eb33c8f82f478b7350467521716b16928e03d178e3b586421794
5
5
  SHA512:
6
- metadata.gz: 6f296954fdad793ba6945194ce91b40e1fc71933df88d0e4b07442084fcc3a6c5beb62c0f0af2a0d9a4564c793a36e3bce0de2a9db94e7df849d7813e2412301
7
- data.tar.gz: 32617a1c81c5d929a9e6bf5c73d59f47e6d29bbec9f0dfc774e688e986eb5771bd7d8dac0ed07df6f2c030cbe8e3f1223cac2aefde9f58f187c4c13bd4efa024
6
+ metadata.gz: 135dfa6cfba4c0de80dff89de1e9d8c9faea873f01614290b43c61b5546d1f1889232de0f1c9933ac1ec8443c97efca37189b93904f5a6a135beadef6821548e
7
+ data.tar.gz: 2bf8d58ff86af1d06aa699f6242c9d3491063dc32cb927eeafa73b5a6637c9aeaa14f6d0309c5354732c576c0cef54741f60d4752b23e1e4f95345dfe249ebe5
data/README.md CHANGED
@@ -13,6 +13,7 @@
13
13
  - [Read Time](#read-time)
14
14
  - [default plugins](#default-plugins)
15
15
  - [Configurable Labels](#configurable-labels)
16
+ - [Comments](#comments)
16
17
  - [Front Matter](#front-matter)
17
18
  - [Layouts](#layouts-1)
18
19
  - [`layout: default`](#layout-default)
@@ -25,10 +26,10 @@
25
26
  - [whislist](#whislist)
26
27
 
27
28
 
28
-
29
29
  [![LICENSE](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat-square)](https://raw.githubusercontent.com/papierkorp/jekyll-theme-horizon-flow/main/LICENSE.txt)
30
30
  [![Jekyll](https://img.shields.io/badge/jekyll-%3E%3D%203.6-blue.svg?style=flat-square)](https://jekyllrb.com/)
31
- [![Ruby gem](https://img.shields.io/gem/v/jekyll-theme-so-simple.svg?style=flat-square)](https://rubygems.org/gems/jekyll-theme-horizon-flow)
31
+ [![Gem Version](https://badge.fury.io/rb/jekyll-theme-horizon-flow.svg)](https://badge.fury.io/rb/jekyll-theme-horizon-flow)
32
+
32
33
 
33
34
  This is my first ever theme or anything like this so I got a whole damn LOT of Inspiration and Ideas of the [So Simple](https://github.com/mmistakes/so-simple-theme/tree/master) theme from [mmistakes](https://github.com/mmistakes). Also i almost completly copied his readme pls forgive me <3.
34
35
 
@@ -36,15 +37,17 @@ This theme can offer:
36
37
 
37
38
  * Custom Navigation
38
39
  * Dynamically created Footer with Font Awesome Icons and Social Links
39
- * Flexible customizable Footer-Sidebar (above the Footer) where you can include up to 5 elements. You can choose between 4 premade ones and self created ones
40
+ * optional, flexible and customizable Footer-Sidebar (above the Footer)
41
+ * include up to 5 elements in the Footer-sidebar, choosen between 4 premade ones and self created ones
40
42
  * SEO best practices via [Jekyll SEO Tag](https://github.com/jekyll/jekyll-seo-tag)
41
- * Javascript free besides the optional search page
43
+ * Javascript free besides the optional search page and the optional comments
42
44
  * supports tags and categories
43
45
  * offers an archive
44
46
  * Carefully designed posts for almost all Markup elements
45
47
  * Activateable TOC and to the TOP Buttons for each post
46
48
  * Mobile Friendly
47
49
  * Highly Customizable
50
+ * optional server-free [Comments](https://www.aleksandrhovhannisyan.com/blog/jekyll-comment-system-github-issues/#how-to-add-comments-to-a-jekyll-blog) with Github Issues (hosted on Github)
48
51
 
49
52
  ![Horizon Flow Screenshots](https://papierkorp.github.io/jekyll-theme-horizon-flow/screenshot.png)
50
53
 
@@ -213,6 +216,7 @@ As for the possible Configurations this theme offers take note of the following:
213
216
  * [Read Time](#read-time)
214
217
  * [default plugins](#default-plugins)
215
218
  * [Configurable Labels](#configurable-labels)
219
+ * [Comments](#comments)
216
220
 
217
221
  ### Site URL
218
222
 
@@ -364,7 +368,7 @@ footer_links:
364
368
  ### Layouts
365
369
 
366
370
  In here you can define the amount of columns used to display all tags/categories/years via the `_config`.
367
- Available values are `1-5`.
371
+ Available values are `0-5`.
368
372
 
369
373
  ```yaml
370
374
  layouts:
@@ -380,7 +384,7 @@ layouts:
380
384
  ### Footer Sidebar
381
385
 
382
386
  The footer Sidebar is the content directly above the footer.
383
- Per default there are 4 elements available:
387
+ Per default there are 6 elements available:
384
388
 
385
389
  **description:** Uses the `description:` of `_config` to display all the data from there. For the best experience you should use an <h1></h1> on the top.
386
390
  **categories:** Shows random categories according to the count.
@@ -403,6 +407,8 @@ description: >- # this means to ignore newlines until
403
407
  </p>
404
408
 
405
409
  footer_sidebar:
410
+ enabled: true
411
+ auto: false # false = all elements will have the same width, true = each element takes what it needs
406
412
  arrangement: # you can rearrange the positions of the elements
407
413
  - description # will be the first one to be displayed
408
414
  - tags # second in the row ...
@@ -410,32 +416,32 @@ footer_sidebar:
410
416
  - recentposts # will be displayed last
411
417
  description:
412
418
  enabled: true # default: true
413
- coluns: 2 # default: 2 - if you include a list
419
+ columns: 2 # default: 0 - if you include a list
414
420
  categories:
415
421
  enabled: true # default: false
416
422
  count: 100 # default: 100
417
- columns: 5 # default: 5
423
+ columns: 5 # default: 0
418
424
  tags:
419
425
  enabled: true # default: false
420
426
  count: 100 # default: 100
421
- columns: 5 # default: 5
427
+ columns: 5 # default: 0
422
428
  recentposts:
423
429
  enabled: true # default: true
424
- count: 10 # default: 10
425
- columsn: 2 # default: 2
430
+ count: 10 # default: 5
431
+ columns: 2 # default: 0
426
432
  custom_content:
427
433
  enabled: true
428
434
  data: >-
429
435
  <h3>EXTRACONTENT</h3>
430
436
  <p>not really content though...</p>
431
- columns: 2 # default: 2 - if you include a list
437
+ columns: 2 # default: 0 - if you include a list
432
438
  custom_content2:
433
439
  enabled: false
434
440
  data: "<h3>mhm</h3>"
435
- columns: 2 # default: 2 - if you include a list
441
+ columns: 2 # default: 0 - if you include a list
436
442
  ```
437
443
 
438
-
444
+ The default of `0` stands for automatic alignment.
439
445
 
440
446
 
441
447
  ### Table of Contents
@@ -522,6 +528,21 @@ categories_nothing_found: "No categories available."
522
528
  ```
523
529
 
524
530
 
531
+ ### Comments
532
+
533
+ This theme enables the use of Comments per Github Issues API (taken from [here](https://www.aleksandrhovhannisyan.com/blog/jekyll-comment-system-github-issues/#how-to-add-comments-to-a-jekyll-blog)).
534
+ To enable comments you will need the following Config:
535
+
536
+ ```yaml
537
+ issues_repo: YourUsername/RepoName # e.g.: issues_repo: papierkorp/blog
538
+ ```
539
+
540
+ In addition you will have to open up a Issue for each blog post manually and copy the ID of this Issue.
541
+ Afterwards add this Front Matter to your Post:
542
+
543
+ ```yaml
544
+ comments_id: 1
545
+ ```
525
546
 
526
547
  ---
527
548
 
@@ -535,6 +556,7 @@ This theme offers the following Front-Matter:
535
556
  |--------|------------------|-----------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
536
557
  | `post` | subtitle | Adds a subtitle to the post (optional) | ---<br>subtitle: "You're going to love this." <br>--- |
537
558
  | `post` | display_toc | true or false, shows the toc button on the bottom right (default: true) | ---<br>display_toc: false <br>--- |
559
+ | `post` | display_toc2 | true or false, shows another toc on the right side permanently (default: false) | ---<br>display_toc2: true <br>--- |
538
560
  | `post` | last_modified_at | Add extra meta-data when the post was last modified. It takes the date as you write it like a string. | ---<br>last_modified_at: 10.09.2023 <br>--- |
539
561
  | `post` | search_keywords | Add extra data to the [search.json](#layout-:-search) file | ---<br>search_keywords: "words i didnt use in the tags" <br>--- |
540
562
  | `post` | toTop | true or false, shows the "To the Top" button on the bottom left (default: true) | ---<br>toTop: false <br>--- |
@@ -542,6 +564,7 @@ This theme offers the following Front-Matter:
542
564
  | `post` | noheader | Disable the whole header and only show the Content. (default: false) | ---<br>noheader: true <br>--- |
543
565
  | `post` | searchable | The post wont be included in the search. | ---<br>searchable: false <br>--- |
544
566
  | `post` | show_supplements | The supplements (date, readtime, tags...) wont be shown. | ---<br>show_supplements: false<br><br>--- |
567
+ | `post` | comments_id | If you want to enable comments (hosted on Github - needs the neccessary config set) | ---<br>comments_id: 1<br><br>--- |
545
568
  | `home` | noheader | Disable the whole header and only show the Content. (default: false) | ---<br>noheader: true <br>--- |
546
569
 
547
570
  ---
data/_config.yml CHANGED
@@ -54,37 +54,71 @@ plugins:
54
54
  # - vendor/gems/
55
55
  # - vendor/ruby/
56
56
 
57
+ #------------------------------------AddOns------------------------------------
58
+
59
+ issues_repo: papierkorp/blog
60
+
57
61
  #------------------------------------Horizon Flow specific------------------------------------
58
62
 
59
63
  navigation:
60
64
  - title: Home
61
65
  url: /index.html
66
+ - title: Categories
67
+ url: /categories.html
68
+ - title: Tags
69
+ url: /tags.html
70
+ - title: Archive
71
+ url: /archive.html
72
+ - title: Search
73
+ url: /search.html
62
74
 
63
75
  footer_sidebar:
76
+ enabled: true
77
+ auto: true
64
78
  arrangement:
65
79
  - description
80
+ - tags
81
+ - categories
66
82
  - recentposts
67
83
  description:
68
84
  enabled: true
85
+ categories:
86
+ enabled: true
87
+ tags:
88
+ enabled: true
69
89
  recentposts:
70
90
  enabled: true
71
- count: 10
72
- columns: 2
73
91
 
74
92
  footer_links:
75
93
  - title: Feed
76
94
  url: /feed.xml
77
95
  icon: fa fa-rss
96
+ - title: GitHub
97
+ url: https://github.com/papierkorp
98
+ icon: fa fa-github
99
+ - title: Email
100
+ url: mailto:xxx@test.de
101
+ icon: fa fa-envelope
102
+ - title: Twitter
103
+ url: https://twitter.com
104
+ icon: fa fa-twitter
105
+ - title: Facebook
106
+ url: https://facebook.com
107
+ icon: fa fa-facebook
108
+ - title: Instagram
109
+ url: https://instagram.com
110
+ icon: fa fa-instagram
111
+ - title: Impressum
112
+ url: /impressum.html
78
113
 
79
114
  defaults:
80
115
  -
81
116
  scope:
82
117
  path: "_posts"
83
118
  values:
84
- toc: yes
85
119
  display_toc: true
86
120
 
87
- paginate: 5
121
+ paginate: 3
88
122
  paginate_path: "/:num/"
89
123
 
90
124
  read_time_after: "min read"
@@ -0,0 +1,127 @@
1
+ {% assign issues_repo = site.issues_repo %}
2
+ {% assign issue_id = include.issue_id %}
3
+
4
+ <section id="comments">
5
+ <div class="comment-actions">
6
+ <h2><span id="comments-count"></span> Comments</h2>
7
+ <a
8
+ class="comment_button"
9
+ href="https://github.com/{{ issues_repo }}/issues/{{ issue_id }}"
10
+ target="_blank"
11
+ >
12
+ Comment on Github
13
+ <i class="fa fa-external-link" aria-hidden="true">
14
+
15
+ </i>
16
+ </a>
17
+ </div>
18
+ <div id="comments-wrapper">
19
+ Loading...
20
+ </div>
21
+ </section>
22
+
23
+
24
+
25
+ <script>
26
+ const commentsSection = document.getElementById('comments');
27
+ const commentsWrapper = commentsSection.querySelector('#comments-wrapper');
28
+ const commentsCount = commentsSection.querySelector('#comments-count');
29
+
30
+ const commentsObserver = new IntersectionObserver((entries, self) => {
31
+ entries.forEach((entry) => {
32
+ if (entry.isIntersecting) {
33
+ fetchComments(); // this is the important part
34
+ self.unobserve(entry.target);
35
+ }
36
+ });
37
+ }, { rootMargin: '200px 0px 0px 0px' });
38
+
39
+ commentsObserver.observe(commentsSection);
40
+
41
+ const fetchComments = async () => {
42
+ try {
43
+ const comments = await (await fetch(
44
+ 'https://api.github.com/repos/{{ issues_repo }}/issues/{{ issue_id }}/comments'
45
+ )).json();
46
+ initRenderComments(comments);
47
+ } catch (e) {
48
+ commentsWrapper.innerHTML = `<p>Unable to retrieve the comments for this post.</p>`;
49
+ }
50
+ }
51
+
52
+ const loadScript = (src) => {
53
+ const scriptElement = document.createElement('script');
54
+ document.body.appendChild(scriptElement);
55
+
56
+ return new Promise((resolve) => {
57
+ scriptElement.onload = resolve;
58
+
59
+ // Important to register onload before setting src
60
+ scriptElement.src = src;
61
+ });
62
+ }
63
+
64
+ const commentScripts = [
65
+ 'https://unpkg.com/marked@0.3.6/marked.min.js',
66
+ 'https://unpkg.com/dompurify@1.0.8/dist/purify.min.js',
67
+ 'https://unpkg.com/dayjs@1.8.21/dayjs.min.js',
68
+ 'https://unpkg.com/dayjs@1.7.8/plugin/relativeTime.js',
69
+ ];
70
+
71
+ // Reminder: this gets called when the viewport intersects with the comments section
72
+ const initRenderComments = async (comments) => {
73
+ if (!comments.length) {
74
+ commentsWrapper.innerHTML = `<p>No comments yet 👀 Be the first to post!</p>`;
75
+ return;
76
+ }
77
+
78
+ // Load all comment script dependencies async
79
+ await Promise.all(commentScripts.map((script) => loadScript(script)));
80
+ renderComments(comments);
81
+ }
82
+
83
+ const renderComments = (comments) => {
84
+ // load the relativeTime plugin for dayjs so we can express dates relative to now
85
+ dayjs.extend(dayjs_plugin_relativeTime);
86
+
87
+ commentsCount.innerText = `${comments.length}`;
88
+
89
+ const commentsList = document.createElement('ol');
90
+ commentsList.className = 'comments-list';
91
+ commentsList.setAttribute('aria-label', 'Comments on this blog post');
92
+
93
+ commentsList.innerHTML = comments
94
+ .sort((comment1, comment2) => {
95
+ return comment1.created_at < comment2.created_at ? 1 : -1;
96
+ })
97
+ .map(comment => {
98
+ const datePosted = dayjs(comment.created_at).fromNow();
99
+ const user = comment.user;
100
+ const body = DOMPurify.sanitize(marked(comment.body));
101
+ const postedByAuthor = comment.author_association === 'OWNER';
102
+ const edited = comment.created_at !== comment.updated_at;
103
+
104
+ return `<li class="comment">
105
+ <div class="commenter">
106
+ <img src="${user.avatar_url}" alt="" aria-hidden="true" class="avatar" />
107
+ <a
108
+ href="https://github.com/${user.login}"
109
+ class="username"
110
+ target="_blank"
111
+ >${user.login}</a
112
+ >
113
+ <div class="date-posted">commented <time datetime="${comment.created_at}">${datePosted}</time></div>
114
+ ${postedByAuthor ? '<span class="tag author-badge">Author</span>' : ''}
115
+ ${edited ? `<span class="comment-edited">Edited</span>` : ''}
116
+ </div>
117
+ <div class="comment-body">${body}</div>
118
+ </li>`;
119
+ })
120
+ .join('');
121
+
122
+ commentsWrapper.innerHTML = '';
123
+ commentsWrapper.appendChild(commentsList);
124
+ }
125
+
126
+
127
+ </script>
@@ -9,77 +9,79 @@
9
9
  <footer>
10
10
 
11
11
 
12
- {% if site.footer_sidebar.arrangement %}
13
- <aside class="footer_sidebar">
14
- {% for section in site.footer_sidebar.arrangement %}
15
- {% if section == 'description' and site.footer_sidebar.description.enabled %}
16
- <section class="footer_sitedescription footer_sitedescription{% if site.footer_sidebar.description.columns and site.footer_sidebar.description.columns >= 1 and site.footer_sidebar.description.columns <= 5 %}{{site.footer_sidebar.description.columns}}{% else %}2{% endif %}">
17
- {{ site.description }}
18
- </section>
19
- {% elsif section == 'customcontent' and site.footer_sidebar.customcontent.enabled %}
20
- <section class="footer_customcontent footer_customcontent{% if site.footer_sidebar.customcontent.columns and site.footer_sidebar.customcontent.columns >= 1 and site.footer_sidebar.customcontent.columns <= 5 %}{{site.footer_sidebar.customcontent.columns}}{% else %}2{% endif %}">
21
- {{ site.footer_sidebar.customcontent.data }}
22
- </section>
23
- {% elsif section == 'customcontent2' and site.footer_sidebar.customcontent2.enabled %}
24
- <section class="footer_customcontent2 footer_customcontent2{% if site.footer_sidebar.customcontent2.columns and site.footer_sidebar.customcontent2.columns >= 1 and site.footer_sidebar.customcontent2.columns <= 5 %}{{site.footer_sidebar.customcontent2.columns}}{% else %}2{% endif %}">
25
- {{ site.footer_sidebar.customcontent2.data }}
26
- </section>
27
- {% elsif section == 'categories' and site.footer_sidebar.categories.enabled %}
28
- <section class="footer_categories footer_categories{% if site.footer_sidebar.categories.columns and site.footer_sidebar.categories.columns >= 1 and site.footer_sidebar.categories.columns <= 5 %}{{site.footer_sidebar.categories.columns}}{% else %}5{% endif %}">
29
- <h3>Categories</h3>
30
- <ul>
31
- {% assign all_categories = "" %}
32
- {% for post in site.posts %}
33
- {% assign post_categories = post.categories %}
34
- {% for category in post_categories %}
35
- {% assign all_categories = all_categories | append: category | append: "," %}
12
+ {% if site.footer_sidebar.enabled %}
13
+ {% if site.footer_sidebar.arrangement %}
14
+ <aside class="footer_sidebar footer_aside{% if site.footer_sidebar.auto %}_auto{% endif %}">
15
+ {% for section in site.footer_sidebar.arrangement %}
16
+ {% if section == 'description' and site.footer_sidebar.description.enabled %}
17
+ <section class="footer_sitedescription footer_sitedescription{% if site.footer_sidebar.description.columns and site.footer_sidebar.description.columns >= 0 and site.footer_sidebar.description.columns <= 5 %}{{site.footer_sidebar.description.columns}}{% else %}0{% endif %}">
18
+ {{ site.description }}
19
+ </section>
20
+ {% elsif section == 'customcontent' and site.footer_sidebar.customcontent.enabled %}
21
+ <section class="footer_customcontent footer_customcontent{% if site.footer_sidebar.customcontent.columns and site.footer_sidebar.customcontent.columns >= 0 and site.footer_sidebar.customcontent.columns <= 5 %}{{site.footer_sidebar.customcontent.columns}}{% else %}0{% endif %}">
22
+ {{ site.footer_sidebar.customcontent.data }}
23
+ </section>
24
+ {% elsif section == 'customcontent2' and site.footer_sidebar.customcontent2.enabled %}
25
+ <section class="footer_customcontent2 footer_customcontent2{% if site.footer_sidebar.customcontent2.columns and site.footer_sidebar.customcontent2.columns >= 0 and site.footer_sidebar.customcontent2.columns <= 5 %}{{site.footer_sidebar.customcontent2.columns}}{% else %}0{% endif %}">
26
+ {{ site.footer_sidebar.customcontent2.data }}
27
+ </section>
28
+ {% elsif section == 'categories' and site.footer_sidebar.categories.enabled %}
29
+ <section class="footer_categories footer_categories{% if site.footer_sidebar.categories.columns and site.footer_sidebar.categories.columns >= 0 and site.footer_sidebar.categories.columns <= 5 %}{{site.footer_sidebar.categories.columns}}{% else %}0{% endif %}">
30
+ <h3>Categories</h3>
31
+ <ul>
32
+ {% assign all_categories = "" %}
33
+ {% for post in site.posts %}
34
+ {% assign post_categories = post.categories %}
35
+ {% for category in post_categories %}
36
+ {% assign all_categories = all_categories | append: category | append: "," %}
37
+ {% endfor %}
36
38
  {% endfor %}
37
- {% endfor %}
38
- {% assign unique_categories = all_categories | split: "," | uniq %}
39
-
40
- {% assign categories_count = site.footer_sidebar.categories.count | default: 100 %}
41
- {% assign categories_to_display = unique_categories | slice: 0, categories_count %}
42
-
43
- {% for category in categories_to_display %}
44
- <li><a href="{{ site.baseurl }}/categories.html#{{ category }}">{{ category }}</a></li>
45
- {% endfor %}
46
- </ul>
47
- </section>
48
- {% elsif section == 'tags' and site.footer_sidebar.tags.enabled %}
49
- <section class="footer_tags footer_tags{% if site.footer_sidebar.tags.columns and site.footer_sidebar.tags.columns >= 1 and site.footer_sidebar.tags.columns <= 5 %}{{site.footer_sidebar.tags.columns}}{% else %}5{% endif %}">
50
- <h3>Tags</h3>
51
- <ul>
52
- {% assign all_tags = "" %}
53
- {% for post in site.posts %}
54
- {% assign post_tags = post.tags %}
55
- {% for tag in post_tags %}
56
- {% assign all_tags = all_tags | append: tag | append: "," %}
39
+ {% assign unique_categories = all_categories | split: "," | uniq %}
40
+
41
+ {% assign categories_count = site.footer_sidebar.categories.count | default: 100 %}
42
+ {% assign categories_to_display = unique_categories | slice: 0, categories_count %}
43
+
44
+ {% for category in categories_to_display %}
45
+ <li><a href="{{ site.baseurl }}/categories.html#{{ category }}">{{ category }}</a></li>
57
46
  {% endfor %}
58
- {% endfor %}
59
- {% assign unique_tags = all_tags | split: "," | uniq %}
60
-
61
- {% assign tags_count = site.footer_sidebar.tags.count | default: 100 %}
62
- {% assign tags_to_display = unique_tags | slice: 0, tags_count %}
63
-
64
- {% for tag in tags_to_display %}
65
- <li><a href="{{ site.baseurl }}/tags#{{ tag }}">{{ tag }}</a></li>
66
- {% endfor %}
67
- </ul>
68
- </section>
69
- {% elsif section == 'recentposts' and site.footer_sidebar.recentposts.enabled %}
70
- <section class="footer_recentposts footer_recentposts{% if site.footer_sidebar.recentposts.columns and site.footer_sidebar.recentposts.columns >= 1 and site.footer_sidebar.recentposts.columns <= 5 %}{{site.footer_sidebar.recentposts.columns}}{% else %}2{% endif %}">
71
- <h3>Recent Posts</h3>
72
- <ul>
73
- {% assign recentposts_count = site.footer_sidebar.recentposts.count | default: 10 %}
74
- {% assign recent_posts = site.posts | reverse | limit: recentposts_count %}
75
- {% for post in recent_posts %}
76
- <li><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li>
77
- {% endfor %}
78
- </ul>
79
- </section>
80
- {% endif %}
81
- {% endfor %}
82
- </aside>
47
+ </ul>
48
+ </section>
49
+ {% elsif section == 'tags' and site.footer_sidebar.tags.enabled %}
50
+ <section class="footer_tags footer_tags{% if site.footer_sidebar.tags.columns and site.footer_sidebar.tags.columns >= 0 and site.footer_sidebar.tags.columns <= 5 %}{{site.footer_sidebar.tags.columns}}{% else %}0{% endif %}">
51
+ <h3>Tags</h3>
52
+ <ul>
53
+ {% assign all_tags = "" %}
54
+ {% for post in site.posts %}
55
+ {% assign post_tags = post.tags %}
56
+ {% for tag in post_tags %}
57
+ {% assign all_tags = all_tags | append: tag | append: "," %}
58
+ {% endfor %}
59
+ {% endfor %}
60
+ {% assign unique_tags = all_tags | split: "," | uniq %}
61
+
62
+ {% assign tags_count = site.footer_sidebar.tags.count | default: 100 %}
63
+ {% assign tags_to_display = unique_tags | slice: 0, tags_count %}
64
+
65
+ {% for tag in tags_to_display %}
66
+ <li><a href="{{ site.baseurl }}/tags#{{ tag }}">{{ tag }}</a></li>
67
+ {% endfor %}
68
+ </ul>
69
+ </section>
70
+ {% elsif section == 'recentposts' and site.footer_sidebar.recentposts.enabled %}
71
+ <section class="footer_recentposts footer_recentposts{% if site.footer_sidebar.recentposts.columns and site.footer_sidebar.recentposts.columns >= 0 and site.footer_sidebar.recentposts.columns <= 5 %}{{site.footer_sidebar.recentposts.columns}}{% else %}0{% endif %}">
72
+ <h3>Recent Posts</h3>
73
+ <ul>
74
+ {% assign recentposts_count = site.footer_sidebar.recentposts.count | default: 5 %}
75
+ {% assign recent_posts = site.posts | reverse %}
76
+ {% for post in recent_posts limit:recentposts_count %}
77
+ <li><a href="{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li>
78
+ {% endfor %}
79
+ </ul>
80
+ </section>
81
+ {% endif %}
82
+ {% endfor %}
83
+ </aside>
84
+ {% endif %}
83
85
  {% endif %}
84
86
 
85
87
 
@@ -90,9 +92,9 @@
90
92
  <div class="social-icons item3">
91
93
  {% for link in site.footer_links %}
92
94
  {% if link.icon %}
93
- <a href="{{ site.baseurl }}{{ link.url }}" class="{{ link.icon }}" target="_blank"></a>
95
+ <a href="{{ link.url }}" class="{{ link.icon }}" target="_blank"></a>
94
96
  {% else %}
95
- <a href="{{ site.baseurl }}{{ link.url }}">{{ link.title }}</a>
97
+ <a href="{{ link.url }}">{{ link.title }}</a>
96
98
  {% endif %}
97
99
  {% unless forloop.last %}
98
100
  <span class="divider"></span>
@@ -101,4 +103,4 @@
101
103
  </div>
102
104
  {% endif %}
103
105
 
104
- </footer>
106
+ </footer>
data/_layouts/post.html CHANGED
@@ -4,6 +4,7 @@ layout: default
4
4
 
5
5
  <main id="post">
6
6
  <article>
7
+
7
8
  {% if page.display_toc %}
8
9
  <div class="toc">
9
10
  <input type="checkbox" id="tocMenuButton">
@@ -16,58 +17,72 @@ layout: default
16
17
  </div>
17
18
  </div>
18
19
  {% endif %}
19
- {% if page.no_header != true %}
20
- <div class="post_header">
21
- <h1>{{page.title}}</h1>
22
- <h3>{{page.subtitle}}</h3>
23
-
20
+
21
+ <div class="grid">
24
22
 
25
- {% if page.show_supplements != false %}
26
- <p class="supplements">
27
- <span>
28
- <i class="fa fa-calendar"></i> {{ page.date | date: "%B %d, %Y" }}
29
- </span>
30
- <span class="supplements-sep"></span>
31
- <span class="reading-time" title="Estimated read time">
32
- {% include read_time.html %}
33
- </span>
34
- {% if page.categories != nil and page.categories.size > 0 %}
35
- <span class="supplements-sep"></span>
36
- <span class="supplements-category">
37
- <i class="fa fa-bars"></i>
38
- {% for category in page.categories %}
39
- <a href="{{ site.baseurl }}/categories#{{ category | slugify }}">{{ category }}</a>{% if forloop.last == false %},{% endif %}
40
- {% endfor %}
41
- </span>
42
- {% endif %}
43
- {% if page.tags != nil and page.tags.size > 0 %}
44
- <span class="supplements-sep"></span>
45
- <span>
46
- <i class="fa fa-tags"></i>
47
- {% for tag in page.tags %}
48
- <a href="{{ site.baseurl }}/tags#{{ tag | slugify }}">{{ tag }}</a>{% if forloop.last == false %},{% endif %}
49
- {% endfor %}
50
- </span>
51
- {% endif %}
52
- {%- if page.last_modified_at -%}
53
- <br /> <br />
54
- <span class="last_modified_at">{% if site.data.configurable_lables.last_modified_at %}{{site.data.configurable_lables.last_modified_at}}{% else %}Last Modified at:{% endif %} {{ page.last_modified_at }}</span>
55
- {% endif %}
56
- </p>
23
+
24
+ {% if page.no_header != true %}
25
+ <div class="post_header">
26
+ <h1>{{page.title}}</h1>
27
+ <h3>{{page.subtitle}}</h3>
28
+
29
+
30
+ {% if page.show_supplements != false %}
31
+ <p class="supplements">
32
+ <span>
33
+ <i class="fa fa-calendar"></i> {{ page.date | date: "%B %d, %Y" }}
34
+ </span>
35
+ <span class="supplements-sep"></span>
36
+ <span class="reading-time" title="Estimated read time">
37
+ {% include read_time.html %}
38
+ </span>
39
+ {% if page.categories != nil and page.categories.size > 0 %}
40
+ <span class="supplements-sep"></span>
41
+ <span class="supplements-category">
42
+ <i class="fa fa-bars"></i>
43
+ {% for category in page.categories %}
44
+ <a href="{{ site.baseurl }}/categories#{{ category | slugify }}">{{ category }}</a>{% if forloop.last == false %},{% endif %}
45
+ {% endfor %}
46
+ </span>
47
+ {% endif %}
48
+ {% if page.tags != nil and page.tags.size > 0 %}
49
+ <span class="supplements-sep"></span>
50
+ <span>
51
+ <i class="fa fa-tags"></i>
52
+ {% for tag in page.tags %}
53
+ <a href="{{ site.baseurl }}/tags#{{ tag | slugify }}">{{ tag }}</a>{% if forloop.last == false %},{% endif %}
54
+ {% endfor %}
55
+ </span>
56
+ {% endif %}
57
+ {%- if page.last_modified_at -%}
58
+ <br /> <br />
59
+ <span class="last_modified_at">{% if site.data.configurable_lables.last_modified_at %}{{site.data.configurable_lables.last_modified_at}}{% else %}Last Modified at:{% endif %} {{ page.last_modified_at }}</span>
60
+ {% endif %}
61
+ </p>
62
+ {% endif %}
63
+ </div>
57
64
  {% endif %}
58
65
 
66
+ <div class ="post_content">
67
+ {{content}}
68
+ {% if page.toTop != false %}
69
+ <a href="#" id="toTopButton">
70
+ <i class="fa fa-arrow-circle-o-up"></i>
71
+ </a>
72
+ {% endif %}
73
+ </div>
59
74
 
60
- </div>
61
- {% endif %}
62
- <div class ="post_content">
63
- {{content}}
64
- {% if page.toTop != false %}
65
- <a href="#" id="toTopButton">
66
- <i class="fa fa-arrow-circle-o-up"></i>
67
- </a>
75
+ {% if page.display_toc2 %}
76
+ <div id="toc2">
77
+ {% include toc.html html=content %}
78
+ </div>
68
79
  {% endif %}
80
+
81
+
69
82
  </div>
70
-
71
83
 
72
84
  </article>
85
+ {% if page.comments_id %}
86
+ {% include comments.html issue_id=page.comments_id %}
87
+ {% endif %}
73
88
  </main>
@@ -4,6 +4,7 @@ title: "Markdown Test Page"
4
4
  date: 2021-01-01
5
5
  tags: markdown test
6
6
  subtitle: "copied from https://github.com/fullpipe/markdown-test-page/tree/master"
7
+ comments_id: 1
7
8
  ---
8
9
  # **bold title**
9
10
 
@@ -6,6 +6,9 @@ tags: champion test
6
6
  subtitle: "You're going to love this."
7
7
  categories: rest
8
8
  last_modified_at: 10.09.202
9
+ display_toc2: true
10
+ display_toc: false
11
+ toTop: false
9
12
  ---
10
13
  # Code Block tests
11
14
 
@@ -18,6 +18,7 @@ body {
18
18
  display: flex;
19
19
  flex-direction: column;
20
20
  word-break: break-word;
21
+ color: $primary-color;
21
22
  }
22
23
 
23
24
  header {
@@ -57,50 +57,72 @@ footer aside {
57
57
  max-height: max-content;
58
58
  }
59
59
 
60
+ footer .footer_aside_auto section {
61
+ padding: 0 0 0 1em;
62
+ flex-grow: 1;
63
+ max-width: fit-content;
64
+ }
60
65
 
61
66
  /* one item */
62
- footer aside section:first-child:nth-last-child(1) {
67
+ footer .footer_aside section:first-child:nth-last-child(1) {
63
68
  padding: 0 0 0 1em;
64
69
  flex-grow: 1;
65
70
  max-width: 100%;
66
71
  }
67
72
 
68
73
  /* two items */
69
- footer aside section:first-child:nth-last-child(2),
70
- footer aside section:first-child:nth-last-child(2) ~ section {
74
+ footer .footer_aside section:first-child:nth-last-child(2),
75
+ footer .footer_aside section:first-child:nth-last-child(2) ~ section {
71
76
  padding: 0 0 0 1em;
72
77
  flex-grow: 1;
73
78
  max-width: 50%;
74
79
  }
75
80
 
76
81
  /* three items */
77
- footer aside section:first-child:nth-last-child(3),
78
- footer aside section:first-child:nth-last-child(3) ~ section {
82
+ footer .footer_aside section:first-child:nth-last-child(3),
83
+ footer .footer_aside section:first-child:nth-last-child(3) ~ section {
79
84
  padding: 0 0 0 1em;
80
85
  flex-grow: 1;
81
86
  max-width: 33%;
82
87
  }
83
88
 
84
89
  /* four items */
85
- footer aside section:first-child:nth-last-child(4),
86
- footer aside section:first-child:nth-last-child(4) ~ section {
90
+ footer .footer_aside section:first-child:nth-last-child(4),
91
+ footer .footer_aside section:first-child:nth-last-child(4) ~ section {
87
92
  padding: 0 0 0 1em;
88
93
  flex-grow: 1;
89
94
  max-width: 25%;
90
95
  }
91
96
 
92
97
  /* five items */
93
- footer aside section:first-child:nth-last-child(5),
94
- footer aside section:first-child:nth-last-child(5) ~ section {
98
+ footer .footer_aside section:first-child:nth-last-child(5),
99
+ footer .footer_aside section:first-child:nth-last-child(5) ~ section {
95
100
  padding: 0 0 0 1em;
96
101
  flex-grow: 1;
97
102
  max-width: 20%;
98
103
  }
99
104
 
100
- footer aside section:first-child {
105
+ /* six items */
106
+ footer .footer_aside section:first-child:nth-last-child(6),
107
+ footer .footer_aside section:first-child:nth-last-child(6) ~ section {
108
+ padding: 0 0 0 1em;
109
+ flex-grow: 1;
110
+ max-width: 16%;
111
+ }
112
+
113
+ footer .footer_aside section:first-child {
101
114
  padding: 0;
102
115
  }
103
116
 
117
+ .footer_sitedescription0,
118
+ .footer_customcontent0,
119
+ .footer_customcontent20,
120
+ .footer_recentposts0,
121
+ .footer_categories0,
122
+ .footer_tags0 {
123
+ @include footer_elements_auto();
124
+ }
125
+
104
126
  .footer_sitedescription1,
105
127
  .footer_customcontent1,
106
128
  .footer_customcontent21,
@@ -146,7 +168,29 @@ footer aside section:first-child {
146
168
  @include footer_elements(5);
147
169
  }
148
170
 
171
+ .footer_recentposts,
172
+ .footer_recentposts0,
173
+ .footer_recentposts1,
174
+ .footer_recentposts2,
175
+ .footer_recentposts3,
176
+ .footer_recentposts4,
177
+ .footer_recentposts5 {
178
+ ul li a {
179
+ text-transform: none;
180
+ border: none;
181
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
182
+ }
183
+ }
149
184
 
185
+ .footer_recentposts0, .footer_recentposts1 {
186
+ ul li {
187
+ flex-basis: 100%;
188
+ }
189
+ ul li a {
190
+ border: none;
191
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
192
+ }
193
+ }
150
194
 
151
195
  @media (width >= $small) and (max-width: $large) {
152
196
  footer {
@@ -0,0 +1,106 @@
1
+ /*
2
+ <main id="post">
3
+ <section id="comments">
4
+ <div class="comment-actions">
5
+ <h2>
6
+ <a>
7
+ <i>
8
+ </div>
9
+ <div id="comments-wrapper">
10
+ <ol>
11
+ <li class="comment">
12
+ <div class="commenter">
13
+ <img>
14
+ <a>
15
+ <div class="date-posted">
16
+ <span class="author-badge">
17
+ <div class="comment-body">
18
+ <p>
19
+ <li class="comment">
20
+ </div>
21
+ </section>
22
+ </main>
23
+
24
+ $primary-color:#032539;
25
+ $secondary-color: #1c768f;
26
+ $background-color: #fbf3f2;
27
+ $accent-color: #fa991c;
28
+ */
29
+
30
+
31
+ #comments {
32
+ word-break: keep-all;
33
+ }
34
+
35
+ .comment-actions {
36
+ display: flex;
37
+ align-items: center;
38
+
39
+
40
+ a {
41
+ background-color: $primary-color;
42
+ color: $background-color;
43
+ padding: 12px;
44
+ margin-left: auto;
45
+ border-radius: 4px;
46
+ text-decoration: none;
47
+ }
48
+ }
49
+
50
+ #comments-wrapper {
51
+
52
+ ol {
53
+ list-style-type: none;
54
+ padding: 0;
55
+ }
56
+
57
+ .commenter {
58
+
59
+ display: flex;
60
+ align-items: center;
61
+
62
+ img {
63
+ border-radius: 50%;
64
+ width: 50px;
65
+ margin-right: 10px;
66
+ vertical-align: middle;
67
+ }
68
+
69
+ a {
70
+ font-weight: bold;
71
+ color: $primary-color;
72
+ margin-right: 10px;
73
+ }
74
+
75
+ .date-posted {
76
+ font-style: italic;
77
+ }
78
+
79
+ .author-badge {
80
+ margin-left: auto;
81
+ padding: 8px;
82
+ background-color: $secondary-color;
83
+ border-radius: 24px;
84
+ font-weight: bold;
85
+ }
86
+ }
87
+
88
+ .comment-body {
89
+ margin-left: 70px; //50px width of image + 10px margin +10px???
90
+ }
91
+
92
+ }
93
+
94
+
95
+ @media screen and (max-width: $large) {
96
+ .comment-actions, #comments-wrapper .commenter, #comments-wrapper .commenter .date-posted {
97
+ display: block;
98
+ font-size: 0.9em;
99
+ }
100
+
101
+ #comments-wrapper .commenter .date-posted {
102
+ margin-bottom: 16px;
103
+ margin-top: 8px;
104
+ }
105
+
106
+ }
@@ -98,7 +98,6 @@
98
98
  flex-direction: column;
99
99
  align-items: center;
100
100
  // gap: -5px;
101
- margin: auto;
102
101
  min-width: 6em;
103
102
 
104
103
  @media screen and (max-width: $large) {
@@ -271,6 +270,46 @@
271
270
  }
272
271
  }
273
272
 
273
+ .archive_linktitle {
274
+ flex: 1;
275
+ }
276
+ }
277
+ }
278
+ }
279
+
280
+ @mixin footer_elements_auto() {
281
+ ul {
282
+ list-style: none;
283
+ padding: 0;
284
+ margin: 0;
285
+ display: flex;
286
+ flex-wrap: wrap;
287
+ row-gap: 0;
288
+ column-gap: 0;
289
+ width: fit-content;
290
+
291
+ li {
292
+ display: flex;
293
+ justify-content: space-between;
294
+ align-items: left;
295
+ cursor: pointer;
296
+ overflow-wrap: break-word;
297
+ a {
298
+ text-decoration: none;
299
+ color: $background-color;
300
+ text-transform: lowercase;
301
+ letter-spacing: -1px;
302
+ width: 100%;
303
+ display: flex;
304
+ justify-content: space-between;
305
+ padding: 0.5em;
306
+ text-align: left;
307
+
308
+ &:hover {
309
+ @include hover();
310
+ }
311
+ }
312
+
274
313
  .archive_linktitle {
275
314
  flex: 1;
276
315
  }
@@ -20,4 +20,11 @@ $darkblue: #032539;
20
20
  $primary-color:#032539;
21
21
  $secondary-color: #1c768f;
22
22
  $background-color: #fbf3f2;
23
- $accent-color: #fa991c;
23
+ $accent-color: #fa991c;
24
+
25
+ @media (prefers-color-scheme: dark) {
26
+ $primary-color: #fbf3f2;
27
+ $secondary-color: #1c768f;
28
+ $background-color: #032539;
29
+ $accent-color: #fa991c;
30
+ }
@@ -1,9 +1,10 @@
1
- @import "external/_normalize.scss";
2
- @import "external/_highlighter_rougify_base16dark.scss";
3
-
4
1
  @import "functions/_mixins.scss";
5
2
  @import "functions/_values.scss";
6
3
 
4
+ @import "external/_normalize.scss";
5
+ @import "external/_highlighter_rougify_base16dark.scss";
6
+ @import "external/_comments.scss";
7
+
7
8
  @import "layouts/_archive.scss";
8
9
  @import "layouts/_categories.scss";
9
10
  @import "layouts/_home.scss";
@@ -31,7 +31,7 @@
31
31
  }
32
32
 
33
33
  a {
34
- color: #022539;
34
+ color: $secondary-color;
35
35
  text-decoration: none;
36
36
 
37
37
  &:hover {
@@ -73,6 +73,12 @@
73
73
  color: $primary-color;
74
74
  }
75
75
 
76
+ span {
77
+ &:hover {
78
+ @include hover();
79
+ }
80
+ }
81
+
76
82
 
77
83
  .page_count {
78
84
  margin: 0 auto;
@@ -5,6 +5,30 @@
5
5
 
6
6
 
7
7
 
8
+ /* ---------------------------------------------------- */
9
+ /* ---------------------------------------------------- */
10
+ /* grid */
11
+ /* ---------------------------------------------------- */
12
+ /* ---------------------------------------------------- */
13
+
14
+ .grid {
15
+ display: grid;
16
+ grid-template-columns: repeat(12,minmax(0,1fr));
17
+ }
18
+
19
+
20
+ .post_header {
21
+ grid-column: span 12/span 12;
22
+ }
23
+
24
+ .post_content {
25
+ grid-column: span 10/span 10;
26
+ }
27
+
28
+ #toc2 {
29
+ grid-column: span 2/span 2;
30
+ }
31
+
8
32
  /* ---------------------------------------------------- */
9
33
  /* ---------------------------------------------------- */
10
34
  /* content layout */
@@ -29,6 +53,9 @@
29
53
  overflow-wrap: break-word;
30
54
  }
31
55
 
56
+ h1:first-child{
57
+ margin-top: 0;
58
+ }
32
59
 
33
60
  h2 {
34
61
  @include default_header(0);
@@ -63,7 +90,7 @@
63
90
  padding: 16px;
64
91
 
65
92
  i {
66
- color: $accent-color;
93
+ color: $primary-color;
67
94
  font-size: 1.8em;
68
95
  }
69
96
  }
@@ -148,20 +175,12 @@
148
175
  code.highlighter-rouge {
149
176
  font-style: italic;
150
177
  color: $primary-color;
151
- background-color: $background-color;
178
+ background-color: rgba(0, 0, 0, 33%);
152
179
  padding: 0 5px;
153
180
  }
154
181
  }
155
182
 
156
183
 
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
184
  /* ---------------------------------------------------- */
166
185
  /* ---------------------------------------------------- */
167
186
  /* TOC */
@@ -188,11 +207,11 @@ article {
188
207
 
189
208
  #tocMenuButtonLabel {
190
209
  font-size: 2em;
191
- color: $accent-color;
210
+ color: $primary-color;
192
211
  position: fixed;
193
212
  bottom: 0;
194
213
  right: 0;
195
- padding: 1rem; /* Adjust padding as needed */
214
+ padding: 1rem;
196
215
  z-index: 1;
197
216
  }
198
217
 
@@ -200,28 +219,31 @@ article {
200
219
  display: block;
201
220
  border: 1px solid $primary-color;
202
221
  position: fixed;
203
- top: 3vw; /* Adjust top, right, bottom, and left as needed */
204
- right: 3vw;
222
+ top: 4vw;
223
+ right: 4vw;
205
224
  min-width: 10vw;
206
225
  max-width: 40vw;
207
226
  background-color: $background-color;
208
- z-index: 1;
227
+ z-index: 2;
209
228
  overflow-x: hidden;
210
229
  min-height: 10vh;
211
230
  max-height: 80vh;
212
231
 
213
232
  h1 {
214
- text-shadow: 0px 0.1em 0.2em rgba(100, 100, 100, 0.5); /* Adjust text-shadow as needed */
233
+ text-shadow: 0px 0.1em 0.2em rgba(100, 100, 100, 0.5);
215
234
  color: $primary-color;
216
235
  font-size: 2em;
217
236
  font-weight: bold;
218
- letter-spacing: 1rem; /* Adjust letter-spacing as needed */
237
+ letter-spacing: 1rem;
219
238
  text-align: center;
220
239
  }
221
240
 
222
241
  ul {
223
242
  list-style: none;
224
- padding-left: 24px; /* Remove default list padding */
243
+ padding-inline-start: 0;
244
+ ul {
245
+ padding-left: 1em;
246
+ }
225
247
  }
226
248
 
227
249
  li a {
@@ -229,7 +251,7 @@ article {
229
251
  opacity: 0.8;
230
252
  width: 80%;
231
253
  display: block;
232
- margin: 1rem auto; /* Adjust margin as needed */
254
+ margin: 1rem auto;
233
255
  }
234
256
 
235
257
  a {
@@ -274,7 +296,59 @@ article {
274
296
  }
275
297
 
276
298
 
299
+ #toc2 {
300
+ font-size: 0.75em;
301
+ position: sticky;
302
+ top: 2vw;
303
+ z-index: 1;
304
+ transform: translate(2.5em);
305
+ color: $secondary-color;
306
+ align-self: start;
307
+ letter-spacing: -1px;
277
308
 
309
+ ul {
310
+ padding: 0;
311
+ }
312
+
313
+ ul ul {
314
+ padding-left: 0.8em;
315
+ }
316
+
317
+
318
+
319
+ li::marker {
320
+ content: ' > ';
321
+ font-size: 0.8em;
322
+ font-weight: bold;
323
+ font-family: "Georgia";
324
+ vertical-align: middle;
325
+ position: relative;
326
+ top: -3px;
327
+ }
328
+
329
+ li a {
330
+ text-decoration: none;
331
+ color: $primary-color;
332
+ line-height: 1.5em;
333
+ }
334
+
335
+ li a:hover {
336
+ @include hover();
337
+ //font-size: 1.2em;
338
+ }
339
+ }
340
+
341
+ @media screen and (max-width: $xlarge) {
342
+ #toc2 {
343
+ font-size: 0.5em;
344
+ }
345
+ }
346
+
347
+ @media screen and (max-width: $large) {
348
+ #toc2 {
349
+ display: none;
350
+ }
351
+ }
278
352
 
279
353
 
280
354
  /* ---------------------------------------------------- */
@@ -331,18 +405,12 @@ article {
331
405
  }
332
406
 
333
407
  .supplements a {
334
- /* Set links to display as block-level elements so capitalize works*/
335
- display: inline-block;
336
408
  word-break: break-all;
337
409
  &:hover {
338
410
  @include hover();
339
411
  }
340
412
  }
341
413
 
342
- .supplements a::first-letter {
343
- text-transform: capitalize;
344
- }
345
-
346
414
  .supplements-sep::before {
347
415
  content: "\2022";
348
416
  padding-left: 0.5em;
@@ -353,4 +421,4 @@ article {
353
421
  .post_header_content_parting_line {
354
422
  margin: 2em 0;
355
423
  }
356
- }
424
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-horizon-flow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schiller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-14 00:00:00.000000000 Z
11
+ date: 2024-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -118,6 +118,7 @@ files:
118
118
  - README.md
119
119
  - _config.yml
120
120
  - _includes/404.html
121
+ - _includes/comments.html
121
122
  - _includes/footer.html
122
123
  - _includes/header.html
123
124
  - _includes/read_time.html
@@ -140,6 +141,7 @@ files:
140
141
  - _sass/default/_base.scss
141
142
  - _sass/default/_footer.scss
142
143
  - _sass/default/_header.scss
144
+ - _sass/external/_comments.scss
143
145
  - _sass/external/_highlighter_rougify_base16dark.scss
144
146
  - _sass/external/_normalize.scss
145
147
  - _sass/functions/_mixins.scss