domain-jekyll 1.3.0 → 1.5.0

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: e4cbc2a56c167c10a0b1c9c6b6282729845fd5a525eef1d9530931fcdafb1cfe
4
- data.tar.gz: 5edf25004405c83602f0b249feff653fbb2f155bd9a58d0fd51eccfdd2bd3cac
3
+ metadata.gz: 95557ad49d54a59a5e034afcc54144db8317728b7ec10afb362ea663f56bcec6
4
+ data.tar.gz: a8b289c9d3d3077370e5ee20dacb2c2acbb22dc11a172a6fa807d604c77d10b5
5
5
  SHA512:
6
- metadata.gz: ec0a214a90f2762deca283e35914a4f04a7c66a8962c8096d4e416ab8a83b80a859a7fac5e51a97c996b6477341065fe7534bc76f5a2abce48c12a910bf8f80d
7
- data.tar.gz: 8d706bdd34b072ec5c5365cde3e6c88003177f309159d25f6b7ff7c07ac28254536f56ac39d6e601fcf3f0740d1513ab688d91feac7f6c253102fe03ee97e89a
6
+ metadata.gz: 91381810e3bc62595470fd4e60beab14bf2905402168790d1b9aec39f2402066d47700afb8352035c407f12c15e062abbe311c9f390a2b63e48839a55a6e3249
7
+ data.tar.gz: 8ef33580868e50dd8cd686af97b47d032e9fd10b434b3f183d972ad1579f384682a7712bf74d0748df48bf4d3715a6eeeb42454ddc8fb6411350a9ed99bd4214
data/CHANGELOG.md CHANGED
@@ -1,9 +1,33 @@
1
+ ## [1.5.0](https://github.com/lumunix/domain/releases/tag/1.5.0)
2
+ - Added PostPreviews for Tags and Posts
3
+ - Icon Updates
4
+ ## [1.4.0](https://github.com/lumunix/domain/releases/tag/1.4.0)
5
+ - Added card based sections for the tags and posts pages
6
+ - Fixed margins on small screen sizes
7
+ - Corrected css for sidebar
1
8
  ## [1.3.0](https://github.com/lumunix/domain/releases/tag/1.3.0)
9
+ - Added Tutorials Collection
10
+ - Fixed tables to be full content width
11
+ - Added navigation forward and back for tutorials
12
+ - Fixed Links for context menu not resolving post path
2
13
  ## [1.2.1](https://github.com/lumunix/domain/releases/tag/1.2.1)
14
+ - Updated embedded links for YouTube and Twitch
3
15
  ## [1.2.0](https://github.com/lumunix/domain/releases/tag/1.2.0)
16
+ - Added Highlighter.js
17
+ - Added Code section lines numbers
18
+ - Removed old syntax highlighting
4
19
  ## [1.1.0](https://github.com/lumunix/domain/releases/tag/1.1.0)
20
+ - Added LinkLibrary #44
21
+ - Added Jekyll Admin #48
22
+ - Fixed Context Menu #49
5
23
  ## [1.0.4](https://github.com/lumunix/domain/releases/tag/1.0.4)
24
+ - Updates to Docker Compose file.
25
+ - Added Dev config profile.
6
26
  ## [1.0.3](https://github.com/lumunix/domain/releases/tag/1.0.3)
27
+ - Documentation updates
7
28
  ## [1.0.2](https://github.com/lumunix/domain/releases/tag/1.0.2)
29
+ - Bug fixes for image paths that were incorrect.
8
30
  ## [1.0.1](https://github.com/lumunix/domain/releases/tag/1.0.1)
31
+ - Updates to configuration and plugins
9
32
  ## [1.0.0](https://github.com/lumunix/domain/releases/tag/1.0.0)
33
+ - Initial Release
data/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
 
2
2
  [![License](https://img.shields.io/github/license/Lumunix/domain?style=plastic)](https://github.com/Lumunix/Domain/blob/main/LICENSE)
3
3
  [![Jekyll](https://img.shields.io/badge/jekyll-%3E%3D%203.7-blue.svg)](https://jekyllrb.com/)
4
- [![RubyGem](https://img.shields.io/gem/v/domain-jekyll?style=plastic)](https://rubygems.org/gems/minimal-mistakes-jekyll)
4
+ [![RubyGem](https://img.shields.io/gem/v/domain-jekyll?style=plastic)](https://rubygems.org/gems/domain-jekyll)
5
5
  [![Tip Me via PayPal](https://img.shields.io/badge/PayPal-tip%20me-green.svg?logo=paypal)](https://www.paypal.me/Lumunix)
6
6
 
7
7
 
8
8
  # [Domain](https://lumunix.github.io/Domain/)
9
9
  Jekyll Knowledge Base / Blog Theme that provides wiki style linking, full text search and automatically generated post organization pages.
10
10
 
11
- ![Project-Banner](/readme/project-banner.png)
11
+ ![Project-Banner](./readme/project-banner.png)
12
12
 
13
- ![Showcase](/readme/showcase.png)
13
+ ![Showcase](./readme/showcase.png)
14
14
 
15
15
 
16
16
  ## Installation
@@ -42,7 +42,7 @@ This allows for easier installation and updating as you don't have to manage any
42
42
  3. Set the `theme` in your project's Jekyll `_config.yml` file:
43
43
 
44
44
  ```yaml
45
- theme: domain-jekll
45
+ theme: domain-jekyll
46
46
  ```
47
47
 
48
48
  To update the theme run `bundle update`.
data/_includes/Head.html CHANGED
@@ -1,10 +1,11 @@
1
1
 
2
2
  <head>
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
3
5
  <link rel="shortcut icon" href="{{site.baseurl}}/assets/img/favicon/favicon.ico" type="image/x-icon">
4
- <link rel="shortcut icon" href="{{ "/assets/img/favicon/favicon.ico" | prepend: site.baseurl }}" type="image/x-icon">
5
- <link rel="apple-touch-icon" href="{{ "/assets/img/favicon/apple-touch-icon.png" | prepend: site.baseurl }}">
6
- <link rel="apple-touch-icon" sizes="72x72" href="{{ "/assets/img/favicon/apple-touch-icon-72x72.png" | prepend: site.baseurl }}">
7
- <link rel="apple-touch-icon" sizes="144x144" href="{{ "/assets/img/favicon/apple-touch-icon-144x144.png" | prepend: site.baseurl }}">
6
+ <link rel="apple-touch-icon" href="{{site.baseurl}}/assets/img/favicon/apple-touch-icon.png">
7
+ <link rel="apple-touch-icon" sizes="72x72" href="{{site.baseurl}}/assets/img/favicon/apple-touch-icon-72x72.png">
8
+ <link rel="apple-touch-icon" sizes="144x144" href="{{site.baseurl}}/assets/img/favicon/apple-touch-icon-144x144.png">
8
9
  <!-- Chrome, Firefox OS and Opera -->
9
10
  <meta name="theme-color" content="#263959">
10
11
  <!-- Windows Phone -->
@@ -1,62 +1,72 @@
1
1
  <header>
2
- <div class="main-site-subheader menu disable-select">
3
- <a class="menu-item" href="{{site.baseurl}}/">
4
- <svg class="menu-item-icon" xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 25 25" fill="none" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
5
- <path d="M20 9v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9"/>
6
- <path d="M9 22V12h6v10M2 10.6L12 2l10 8.6"/>
7
- </svg>
2
+ <div class="main-site-subheader menu disable-select">
3
+ <a class="menu-item" href="{{site.baseurl}}/">
4
+ <svg class="menu-item-icon" xmlns="http://www.w3.org/2000/svg" width="18" height="20" viewBox="0 0 25 25"
5
+ fill="none" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
6
+ <path d="M20 9v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9"/>
7
+ <path d="M9 22V12h6v10M2 10.6L12 2l10 8.6"/>
8
+ </svg>
8
9
  <p class="menu-item-text">Home</p>
9
- </a>
10
- <a class="menu-item" href="{{site.baseurl}}/about">
11
- <svg class="menu-item-icon" width="18" height="19" viewBox="0 0 25 25" fill="none"
12
- xmlns="http://www.w3.org/2000/svg">
13
- <path
14
- d="M20.9777 21.6138V19.6138C20.9777 18.553 20.5563 17.5356 19.8061 16.7854C19.056 16.0353 18.0386 15.6138 16.9777 15.6138H8.97768C7.91682 15.6138 6.8994 16.0353 6.14926 16.7854C5.39911 17.5356 4.97768 18.553 4.97768 19.6138V21.6138"
15
- stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
16
- <path
17
- d="M12.9777 11.6138C15.1868 11.6138 16.9777 9.82298 16.9777 7.61385C16.9777 5.40471 15.1868 3.61385 12.9777 3.61385C10.7685 3.61385 8.97768 5.40471 8.97768 7.61385C8.97768 9.82298 10.7685 11.6138 12.9777 11.6138Z"
18
- stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
19
- </svg>
20
- <p class="menu-item-text">About</p>
21
- </a>
22
- <a class="menu-item" href="{{site.baseurl}}/posts">
23
- <svg class="menu-item-icon" xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 24 25" fill="none"
24
- stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
25
- <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
26
- <line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line>
27
- <line x1="3" y1="10" x2="21" y2="10"></line>
10
+ </a>
11
+ <a class="menu-item" href="{{site.baseurl}}/about">
12
+ <svg class="menu-item-icon" width="18" height="20" viewBox="0 0 25 25" fill="none"
13
+ xmlns="http://www.w3.org/2000/svg">
14
+ <path
15
+ d="M20.9777 21.6138V19.6138C20.9777 18.553 20.5563 17.5356 19.8061 16.7854C19.056 16.0353 18.0386 15.6138 16.9777 15.6138H8.97768C7.91682 15.6138 6.8994 16.0353 6.14926 16.7854C5.39911 17.5356 4.97768 18.553 4.97768 19.6138V21.6138"
16
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
17
+ <path
18
+ d="M12.9777 11.6138C15.1868 11.6138 16.9777 9.82298 16.9777 7.61385C16.9777 5.40471 15.1868 3.61385 12.9777 3.61385C10.7685 3.61385 8.97768 5.40471 8.97768 7.61385C8.97768 9.82298 10.7685 11.6138 12.9777 11.6138Z"
19
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
20
+ </svg>
21
+ <p class="menu-item-text">About</p>
22
+ </a>
23
+ <a class="menu-item" href="{{site.baseurl}}/posts">
24
+ <svg class="menu-item-icon" xmlns="http://www.w3.org/2000/svg" width="18" height="20" viewBox="0 0 25 25"
25
+ fill="none"
26
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
27
+ <rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
28
+ <line x1="16" y1="2" x2="16" y2="6"></line>
29
+ <line x1="8" y1="2" x2="8" y2="6"></line>
30
+ <line x1="3" y1="10" x2="21" y2="10"></line>
28
31
  </svg>
29
32
  <p class="menu-item-text">Posts</p>
30
- </a>
31
- <a class="menu-item" href="{{site.baseurl}}/tutorials">
32
- <svg class="menu-item-icon" xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 24 24">
33
- <path d="M4 17.162l-2 .838v-12.972l12-5.028v2.507l-10 4.19v10.465zm16-8.156v8.635l-8 3.352v-8.635l8-3.352zm2-3.006l-12 5.028v12.972l12-5.028v-12.972zm-14 3.697l10-4.19v-2.507l-12 5.028v12.972l2-.838v-10.465z"
34
- stroke-width="0" stroke-linecap="round" stroke-linejoin="round"/>
33
+ </a>
34
+ <a class="menu-item" href="{{site.baseurl}}/tutorials">
35
+
36
+ <svg class="menu-item-icon" width="18" height="20" viewBox="0 0 25 25" fill="none"
37
+ xmlns="http://www.w3.org/2000/svg">
38
+ <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
39
+ <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
40
+ <g id="SVGRepo_iconCarrier">
41
+ <path d="M12 10.4V20M12 10.4C12 8.15979 12 7.03969 11.564 6.18404C11.1805 5.43139 10.5686 4.81947 9.81596 4.43597C8.96031 4 7.84021 4 5.6 4H4.6C4.03995 4 3.75992 4 3.54601 4.10899C3.35785 4.20487 3.20487 4.35785 3.10899 4.54601C3 4.75992 3 5.03995 3 5.6V16.4C3 16.9601 3 17.2401 3.10899 17.454C3.20487 17.6422 3.35785 17.7951 3.54601 17.891C3.75992 18 4.03995 18 4.6 18H7.54668C8.08687 18 8.35696 18 8.61814 18.0466C8.84995 18.0879 9.0761 18.1563 9.29191 18.2506C9.53504 18.3567 9.75977 18.5065 10.2092 18.8062L12 20M12 10.4C12 8.15979 12 7.03969 12.436 6.18404C12.8195 5.43139 13.4314 4.81947 14.184 4.43597C15.0397 4 16.1598 4 18.4 4H19.4C19.9601 4 20.2401 4 20.454 4.10899C20.6422 4.20487 20.7951 4.35785 20.891 4.54601C21 4.75992 21 5.03995 21 5.6V16.4C21 16.9601 21 17.2401 20.891 17.454C20.7951 17.6422 20.6422 17.7951 20.454 17.891C20.2401 18 19.9601 18 19.4 18H16.4533C15.9131 18 15.643 18 15.3819 18.0466C15.15 18.0879 14.9239 18.1563 14.7081 18.2506C14.465 18.3567 14.2402 18.5065 13.7908 18.8062L12 20"
42
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path>
43
+ </g>
35
44
  </svg>
36
45
  <p class="menu-item-text">Tutorials</p>
37
- </a>
38
- <a class="menu-item" href="{{site.baseurl}}/tags">
39
- <svg class="menu-item-icon" width="18" height="19" viewBox="0 0 24 25" fill="none"
40
- xmlns="http://www.w3.org/2000/svg">
41
- <path d="M4 9.5H20" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
42
- <path d="M4 15.5H20" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
43
- <path d="M10 3.5L8 21.5" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
44
- <path d="M16 3.5L14 21.5" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" />
45
- </svg>
46
- <p class="menu-item-text">Tags</p>
47
- </a>
48
- <a class="menu-item" href="{{site.baseurl}}/feed.xml">
49
- <svg class="menu-item-icon" width="18" height="19" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
50
- <path d="M4 11.5C6.38695 11.5 8.67613 12.4482 10.364 14.136C12.0518 15.8239 13 18.1131 13 20.5"
51
- stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
52
- <path d="M4 4.5C8.24346 4.5 12.3131 6.18571 15.3137 9.18629C18.3143 12.1869 20 16.2565 20 20.5"
53
- stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
54
- <path
55
- d="M5 20.5C5.55228 20.5 6 20.0523 6 19.5C6 18.9477 5.55228 18.5 5 18.5C4.44772 18.5 4 18.9477 4 19.5C4 20.0523 4.44772 20.5 5 20.5Z"
56
- stroke-width="3" stroke-linecap="round" stroke-linejoin="round" />
57
- </svg>
58
- <p class="menu-item-text">RSS</p>
59
- </a>
46
+ </a>
47
+ <a class="menu-item" href="{{site.baseurl}}/tags">
48
+ <svg class="menu-item-icon" width="18" height="20" viewBox="0 0 25 25" fill="none"
49
+ xmlns="http://www.w3.org/2000/svg">
50
+ <path d="M4 9.5H20" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
51
+ <path d="M4 15.5H20" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
52
+ <path d="M10 3.5L8 21.5" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
53
+ <path d="M16 3.5L14 21.5" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
54
+ </svg>
55
+ <p class="menu-item-text">Tags</p>
56
+ </a>
57
+ <a class="menu-item" href="{{site.baseurl}}/feed.xml">
58
+ <svg class="menu-item-icon" width="18" height="20" viewBox="0 0 25 25" fill="none"
59
+ xmlns="http://www.w3.org/2000/svg">
60
+ <path d="M4 11.5C6.38695 11.5 8.67613 12.4482 10.364 14.136C12.0518 15.8239 13 18.1131 13 20.5"
61
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
62
+ <path d="M4 4.5C8.24346 4.5 12.3131 6.18571 15.3137 9.18629C18.3143 12.1869 20 16.2565 20 20.5"
63
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
64
+ <path
65
+ d="M5 20.5C5.55228 20.5 6 20.0523 6 19.5C6 18.9477 5.55228 18.5 5 18.5C4.44772 18.5 4 18.9477 4 19.5C4 20.0523 4.44772 20.5 5 20.5Z"
66
+ stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
67
+ </svg>
68
+ <p class="menu-item-text">RSS</p>
69
+ </a>
60
70
  <!-- TODO figure out a way to introuce dark and light mode toggle
61
71
  <a class="menu-item" href="{{page.url}}" onclick="modeSwitcher()" style="cursor: pointer;">
62
72
 
@@ -72,18 +82,21 @@
72
82
  </a>
73
83
  <script src="/assets/js/Light-Dark.js"></script>
74
84
  -->
75
- </div>
76
- {%- if site.preferences.search.enabled -%}
85
+ </div>
86
+ {%- if site.preferences.search.enabled -%}
77
87
  <div class="searchbar search-container">
78
- <svg class="search-icon" width="19" height="19" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
79
- <path d="M11.5 19.5C15.9183 19.5 19.5 15.9183 19.5 11.5C19.5 7.08172 15.9183 3.5 11.5 3.5C7.08172 3.5 3.5 7.08172 3.5 11.5C3.5 15.9183 7.08172 19.5 11.5 19.5Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
80
- <path d="M21.5 21.5L17.15 17.15" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
88
+ <svg class="search-icon" width="20" height="20" viewBox="0 0 25 25" fill="none"
89
+ xmlns="http://www.w3.org/2000/svg">
90
+ <path d="M11.5 19.5C15.9183 19.5 19.5 15.9183 19.5 11.5C19.5 7.08172 15.9183 3.5 11.5 3.5C7.08172 3.5 3.5 7.08172 3.5 11.5C3.5 15.9183 7.08172 19.5 11.5 19.5Z"
91
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
92
+ <path d="M21.5 21.5L17.15 17.15" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
81
93
  </svg>
82
94
  <label for="search-input"></label>
83
- <input type="text" id="search-input" jsondata="{{site.baseurl}}/assets/js/SearchData.json" autocomplete="off" placeholder="Search {{site.heading}}..."/>
95
+ <input type="text" id="search-input" jsondata="{{site.baseurl}}/assets/js/SearchData.json" autocomplete="off"
96
+ placeholder="Search {{site.heading}}..."/>
84
97
  <div id="search-results" class="search-results"></div>
85
98
  </div>
86
99
  <script type="text/javascript" src="{{site.baseurl}}/assets/vendor/lunr/lunr.min.js"></script>
87
100
  <script src="{{site.baseurl}}/assets/js/Search.js"></script>
88
- {%- endif -%}
101
+ {%- endif -%}
89
102
  </header>
@@ -0,0 +1,19 @@
1
+ <article class="post feed-title-excerpt-block disable-select" data-url="{{site.baseurl}}{{post.url}}">
2
+ {% if post.thumbnail %}
3
+ <a class="post-thumbnail" style="background-image: url({{"" | prepend: site.baseurl | append :
4
+ post.thumbnail}})" href="{{post.url | prepend: site.baseurl}}"></a>
5
+ {% else %}
6
+ {% endif %}
7
+ <div class="post-content">
8
+ <h2 class="post-title"><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></h2>
9
+ {% case site.preferences.postpreview.text %}
10
+ {% when "content" %}
11
+ <p>{{ post.content | strip_html | truncatewords: 60 }}</p>
12
+ {% else %}
13
+ <p>{{ post.description | strip_html | truncatewords: 60 }}</p>
14
+ {% endcase %}
15
+ <span class="post-date">{{post.date | date: '%Y, %b %d'}}&nbsp;&nbsp;&nbsp;—&nbsp;</span>
16
+ <span class="post-words">{% capture words %}{{ post.content | number_of_words }}{% endcapture %}{% unless words contains "-" %}{{ words | plus: 250 | divided_by: 250 | append: " minute read" }}{% endunless %}</span>
17
+
18
+ </div>
19
+ </article>
data/_layouts/About.html CHANGED
@@ -4,25 +4,29 @@ layout: Page
4
4
 
5
5
  <style/>
6
6
  .columns {
7
- Width: 100%;
7
+ width: 100%;
8
8
  }
9
9
  .column-1, .column-2 {
10
10
  width:100%;
11
+ padding: 20px
11
12
  }
12
- @media (min-width: 48em) {
13
+ @media (min-width: 60em) {
13
14
  .column-1 {
14
15
  width: 30%;
15
16
  float:left;
17
+ padding: 20px
16
18
  }
17
19
  .column-2 {
18
20
  width: 70%;
19
21
  float:left;
22
+ padding: 20px
20
23
  }
21
24
 
22
25
  .columns {
23
26
  content:"";
24
27
  display: table;
25
28
  clear: both;
29
+
26
30
  }
27
31
  }
28
32
 
data/_layouts/Home.html CHANGED
@@ -2,28 +2,16 @@
2
2
  layout: Page
3
3
  ---
4
4
  <div id="post-wrapper">
5
- {% for post in paginator.posts %}
6
- <article class="post feed-title-excerpt-block disable-select" data-url="{{site.url}}{{site.baseurl}}{{post.url}}">
7
- {% if post.thumbnail %}
8
- <a class="post-thumbnail" style="background-image: url({{"" | prepend: site.baseurl | append : post.thumbnail}})" href="{{post.url | prepend: site.baseurl}}"></a>
9
- {% else %}
10
- {% endif %}
11
- <div class="post-content">
12
- <h2 class="post-title"><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></h2>
13
- <p>{{ post.content | strip_html | truncatewords: 60 }}</p>
14
- <span class="post-date">{{post.date | date: '%Y, %b %d'}}&nbsp;&nbsp;&nbsp;—&nbsp;</span>
15
- <span class="post-words">{% capture words %}{{ post.content | number_of_words }}{% endcapture %}{% unless words contains "-" %}{{ words | plus: 250 | divided_by: 250 | append: " minute read" }}{% endunless %}</span>
16
-
17
- </div>
18
- </article>
19
- {% endfor %}
5
+ {% for post in paginator.posts %}
6
+ {% include PostPreview.html %}
7
+ {% endfor %}
20
8
  </div>
21
9
 
22
10
  {% case site.preferences.pagination.system %}
23
- {% when "infinitescroll" %}
24
- {% include InfiniteScroll.html %}
25
- {% when "pagination" %}
26
- {% include Pagination.html %}
27
- {% else %}
28
- {% include InfiniteScroll.html %}
11
+ {% when "infinitescroll" %}
12
+ {% include InfiniteScroll.html %}
13
+ {% when "pagination" %}
14
+ {% include Pagination.html %}
15
+ {% else %}
16
+ {% include InfiniteScroll.html %}
29
17
  {% endcase %}
data/_layouts/Posts.html CHANGED
@@ -2,18 +2,18 @@
2
2
  layout: Page
3
3
  ---
4
4
  <div>
5
- <main>
6
- {% assign postsByDay =
7
- site.posts | group_by_exp:"post", "post.date | date: '%d-%B-%Y'" %}
5
+ <main>
6
+ {% assign postsByDay =
7
+ site.posts | group_by_exp:"post", "post.date | date: '%d-%B-%Y'" %}
8
8
 
9
- {% for day in postsByDay %}
9
+ {% for day in postsByDay %}
10
10
  <h2 id="{{ day.name }}">{{ day.name }}</h2>
11
- {% for post in day.items %}
12
- <li id="date-content" style="padding-bottom: 0.6em; list-style: none;"><a href="{{site.baseurl}}{{ post.url }}">{{ post.title }}</a></li>
13
- {% endfor %}
14
- {% endfor %}
11
+ {% for post in day.items %}
12
+ {% include PostPreview.html %}
13
+ {% endfor %}
14
+ {% endfor %}
15
15
 
16
- <br/>
17
- <br/>
18
- </main>
16
+ <br/>
17
+ <br/>
18
+ </main>
19
19
  </div>
data/_layouts/Tags.html CHANGED
@@ -2,27 +2,25 @@
2
2
  layout: Page
3
3
  ---
4
4
  <div>
5
- <main>
6
- {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{% endfor %}{% endcapture %}
7
- {% assign tag_words = site_tags | split:',' | sort %}
5
+ <main>
6
+ {% capture site_tags %}{% for tag in site.tags %}{{ tag | first }}{% unless forloop.last %},{% endunless %}{%
7
+ endfor %}{% endcapture %}
8
+ {% assign tag_words = site_tags | split:',' | sort %}
8
9
 
9
- <ul class="tags">
10
- <!-- cycles through tag list and creates header row of all tags used in site with accompanying per-tag counts...-->
11
- {% for this_word in tag_words %}
12
- <li ><a href="#{{ this_word | cgi_escape }}" class="tag">{{ this_word }} <span>({{ site.tags[this_word].size }})</span></a></li>
13
- {% endfor %}
14
- </ul>
15
- <!--cycles through tag list and creates subheader for each tag name...-->
16
- {% for this_word in tag_words %}
17
- <h2 id="{{ this_word | cgi_escape }}">{{ this_word }}</h2>
18
- <!-- lists all posts corresponding to specific tag...-->
19
- {% for post in site.tags[this_word] %}{% if post.title != null %}
20
-
21
- <li id="date-content" style="padding-bottom: 0.6em; list-style: none;"><a href="{{site.baseurl}}{{ post.url }}">{{ post.title }}</a>
22
- <small><span>| {{ post.date | date_to_string }}</span></small>
23
- </li>
24
-
25
- {% endif %}{% endfor %}
26
- {% endfor %}
27
- </main>
10
+ <ul class="tags">
11
+ <!-- cycles through tag list and creates header row of all tags used in site with accompanying per-tag counts...-->
12
+ {% for this_word in tag_words %}
13
+ <li><a href="#{{ this_word | cgi_escape }}" class="tag">{{ this_word }} <span>({{ site.tags[this_word].size }})</span></a>
14
+ </li>
15
+ {% endfor %}
16
+ </ul>
17
+ <!--cycles through tag list and creates subheader for each tag name...-->
18
+ {% for this_word in tag_words %}
19
+ <h2 id="{{ this_word | cgi_escape }}">{{ this_word }}</h2>
20
+ <!-- lists all posts corresponding to specific tag...-->
21
+ {% for post in site.tags[this_word] %}{% if post.title != null %}
22
+ {% include PostPreview.html %}
23
+ {% endif %}{% endfor %}
24
+ {% endfor %}
25
+ </main>
28
26
  </div>
@@ -19,18 +19,7 @@ layout: Page
19
19
  {% for tag in site.tags %}
20
20
  {%- if tag[0] == page.tutorial_tag -%}
21
21
  {% for post in tag[1] %}
22
- <article class="post feed-title-excerpt-block disable-select" data-url="{{site.url}}{{site.baseurl}}{{post.url}}">
23
- {% if post.thumbnail %}
24
- <a class="post-thumbnail" style="background-image: url({{"" | prepend: site.baseurl | append : post.thumbnail}})" href="{{post.url | prepend: site.baseurl}}"></a>
25
- {% else %}
26
- {% endif %}
27
- <div class="post-content">
28
- <h2 class="post-title"><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></h2>
29
- <p>{{ post.content | strip_html | truncatewords: 60 }}</p>
30
- <span class="post-date">{{post.date | date: '%Y, %b %d'}}&nbsp;&nbsp;&nbsp;—&nbsp;</span>
31
- <span class="post-words">{% capture words %}{{ post.content | number_of_words }}{% endcapture %}{% unless words contains "-" %}{{ words | plus: 250 | divided_by: 250 | append: " minute read" }}{% endunless %}</span>
32
- </div>
33
- </article>
22
+ {% include PostPreview.html %}
34
23
  {% endfor %}
35
24
  {%- endif -%}
36
25
  {% endfor %}
@@ -2,19 +2,7 @@
2
2
  layout: Page
3
3
  ---
4
4
  <div id="post-wrapper">
5
- {% for tutorial in site.tutorials %}
6
- <article class="post feed-title-excerpt-block disable-select" data-url="{{site.url}}{{site.baseurl}}{{tutorial.url}}">
7
- {% if tutorial.thumbnail %}
8
- <a class="post-thumbnail" style="background-image: url({{"" | prepend: site.baseurl | append : tutorial.thumbnail}})" href="{{tutorial.url | prepend: site.baseurl}}"></a>
9
- {% else %}
10
- {% endif %}
11
- <div class="post-content">
12
- <h2 class="post-title"><a href="{{tutorial.url | prepend: site.baseurl}}">{{tutorial.title}}</a></h2>
13
- <p>{{ tutorial.content | strip_html | truncatewords: 60 }}</p>
14
- <span class="post-date">{{tutorial.date | date: '%Y, %b %d'}}&nbsp;&nbsp;&nbsp;—&nbsp;</span>
15
- <span class="post-words">{% capture words %}{{ tutorial.content | number_of_words }}{% endcapture %}{% unless words contains "-" %}{{ words | plus: 250 | divided_by: 250 | append: " minute read" }}{% endunless %}</span>
16
-
17
- </div>
18
- </article>
5
+ {% for post in site.tutorials %}
6
+ {% include PostPreview.html %}
19
7
  {% endfor %}
20
8
  </div>
@@ -106,6 +106,8 @@ html {
106
106
  }
107
107
 
108
108
  body {
109
+ -webkit-font-smoothing: antialiased;
110
+ -moz-osx-font-smoothing: grayscale;
109
111
  counter-reset: sidenote-counter;
110
112
  }
111
113
 
@@ -1,6 +1,13 @@
1
1
  /* ==========================================================================
2
2
  Footer
3
3
  ========================================================================== */
4
+ footer {
5
+ .copyright {
6
+ font-size: 14px;
7
+ text-align: center;
8
+ margin: 0;
9
+ }
10
+ }
4
11
  .page-footer {
5
12
  display: flex;
6
13
  justify-content: space-between;
@@ -1,47 +1,6 @@
1
1
  /* ==========================================================================
2
2
  Main
3
3
  ========================================================================== */
4
- .sidebar {
5
- display: flex;
6
- flex-direction: column;
7
- justify-content: space-between;
8
- position: fixed;
9
- top: 0;
10
- left: 0;
11
- bottom: 0;
12
- width: 240px;
13
- height: 100%;
14
- padding: 20px 10px;
15
- background-color: $primary-bg-color;
16
- }
17
-
18
- .sidebar-info {
19
- margin: 0 0 40px;
20
- text-align: center;
21
-
22
- .sidebar-image {
23
- width: 100px;
24
- height: 150px;
25
- margin: 0 auto 10px;
26
- overflow: hidden;
27
- }
28
-
29
- .sidebar-title {
30
- font-family: 'PT Serif', serif;
31
- margin: 0 0 10px;
32
- position: relative;
33
- padding-bottom: 15px;
34
- font-size: 16px;
35
- text-transform: uppercase;
36
- color: $primary-text-color;
37
- font-weight: 700;
38
- }
39
-
40
- p {
41
- font-size: 16px;
42
- margin: 0 0 10px;
43
- }
44
- }
45
4
 
46
5
  .content-box {
47
6
  padding: 20px 20px 20px 260px;
@@ -2,7 +2,7 @@
2
2
  Media
3
3
  ========================================================================== */
4
4
  /* Medium Devices, Desktops */
5
- @media only screen and (max-width : 1024px) {
5
+ @media only screen and (max-width : 992px) {
6
6
  .post {
7
7
  max-width: 100%;
8
8
  margin: 0 0.9% 1.5%;
@@ -29,7 +29,6 @@
29
29
  @media only screen and (max-width : 768px) {
30
30
  .sidebar {
31
31
  position: relative;
32
- display: flex;
33
32
  flex-direction: column;
34
33
  justify-content: space-between;
35
34
  width: 100%;
@@ -83,7 +82,6 @@
83
82
 
84
83
  .post {
85
84
  max-width: 100%;
86
- margin: 2%;
87
85
  flex-direction: column;
88
86
 
89
87
  .post-thumbnail {
@@ -209,7 +209,6 @@
209
209
  /* Blogposts: Post-heading, Post-subheading, Post-content, Related Posts*/
210
210
  .main-site-subheader {
211
211
  border-bottom: 1px solid $primary-border-color;
212
- padding-left: 15px;
213
212
  }
214
213
 
215
214
  .menu {
@@ -0,0 +1,44 @@
1
+ /* ==========================================================================
2
+ Sidebar
3
+ ========================================================================== */
4
+ .sidebar {
5
+ display: flex;
6
+ flex-direction: column;
7
+ justify-content: space-between;
8
+ position: fixed;
9
+ top: 0;
10
+ left: 0;
11
+ bottom: 0;
12
+ width: 240px;
13
+ height: 100%;
14
+ padding: 20px 10px;
15
+ background-color: $primary-bg-color;
16
+ }
17
+
18
+ .sidebar-info {
19
+ margin: 0 0 40px;
20
+ text-align: center;
21
+
22
+ .sidebar-image {
23
+ width: 100px;
24
+ height: 150px;
25
+ margin: 0 auto 10px;
26
+ overflow: hidden;
27
+ }
28
+
29
+ .sidebar-title {
30
+ font-family: 'PT Serif', serif;
31
+ margin: 0 0 10px;
32
+ position: relative;
33
+ padding-bottom: 15px;
34
+ font-size: 16px;
35
+ text-transform: uppercase;
36
+ color: $primary-text-color;
37
+ font-weight: 700;
38
+ }
39
+
40
+ p {
41
+ font-size: 16px;
42
+ margin: 0 0 10px;
43
+ }
44
+ }
data/_sass/domain.scss CHANGED
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022 Lumunix
4
4
  * Licensed under MIT
5
5
  */
6
-
6
+ @import "domain/sidebar";
7
7
  @import "domain/highlight";
8
8
  @import "domain/tooltip";
9
9
  @import "domain/toc";
Binary file
Binary file
data/assets/js/Search.js CHANGED
@@ -82,6 +82,7 @@
82
82
  var index = lunr(function(){
83
83
  this.ref('id');
84
84
  this.field('title', {boost: 200});
85
+ this.field('description', {boost: 100});
85
86
  this.field('content', {boost: 2});
86
87
  this.field('url');
87
88
  this.metadataWhitelist = ['position']
@@ -90,6 +91,7 @@
90
91
  this.add({
91
92
  id: i,
92
93
  title: docs[i].title,
94
+ description: docs[i].description,
93
95
  content: docs[i].content,
94
96
  url: docs[i].url
95
97
  });
@@ -234,6 +236,7 @@
234
236
 
235
237
  var metadata = result.matchData.metadata;
236
238
  var titlePositions = [];
239
+ var descriptionPositions = [];
237
240
  var contentPositions = [];
238
241
  for (var j in metadata) {
239
242
  var meta = metadata[j];
@@ -243,7 +246,53 @@
243
246
  titlePositions.push(positions[k]);
244
247
  }
245
248
  }
249
+ if (meta.description) {
250
+ var positions = meta.description.position;
251
+ for(var k in positions) {
252
+ var position = positions[k];
253
+ var previewStart = position[0];
254
+ var previewEnd = position[0] + position[1];
255
+ var ellipsesBefore = true;
256
+ var ellipsesAfter = true;
257
+ for (var k = 0; k < 3; k++) {
258
+ var nextSpace = doc.description.lastIndexOf(' ', previewStart - 2);
259
+ var nextDot = doc.description.lastIndexOf('. ', previewStart - 2);
260
+ if ((nextDot >= 0) && (nextDot > nextSpace)) {
261
+ previewStart = nextDot + 1;
262
+ ellipsesBefore = false;
263
+ break;
264
+ }
265
+ if (nextSpace < 0) {
266
+ previewStart = 0;
267
+ ellipsesBefore = false;
268
+ break;
269
+ }
270
+ previewStart = nextSpace + 1;
271
+ }
272
+
273
+ for (var k = 0; k < 3; k++) {
274
+ var nextSpace = doc.description.indexOf(' ', previewEnd + 1);
275
+ var nextDot = doc.description.indexOf('. ', previewEnd + 1);
276
+ if ((nextDot >= 0) && (nextDot < nextSpace)) {
277
+ previewEnd = nextDot;
278
+ ellipsesAfter = false;
279
+ break;
280
+ }
281
+ if (nextSpace < 0) {
282
+ previewEnd = doc.description.length;
283
+ ellipsesAfter = false;
284
+ break;
285
+ }
286
+ previewEnd = nextSpace;
287
+ }
246
288
 
289
+ descriptionPositions.push({
290
+ highlight: position,
291
+ previewStart: previewStart, previewEnd: previewEnd,
292
+ ellipsesBefore: ellipsesBefore, ellipsesAfter: ellipsesAfter
293
+ });
294
+ }
295
+ }
247
296
  if (meta.content) {
248
297
  var positions = meta.content.position;
249
298
  for(var k in positions) {
@@ -297,7 +346,52 @@
297
346
  resultDocOrSection.innerHTML = '';
298
347
  addHighlightedText(resultDocOrSection, doc.title, 0, doc.title.length, titlePositions);
299
348
  }
349
+ if (descriptionPositions.length > 0) {
350
+ descriptionPositions.sort(function(p1, p2){ return p1.highlight[0] - p2.highlight[0] });
351
+ var descriptionPosition = descriptionPositions[0];
352
+ var previewPosition = {
353
+ highlight: [descriptionPosition.highlight],
354
+ previewStart: descriptionPosition.previewStart, previewEnd: descriptionPosition.previewEnd,
355
+ ellipsesBefore: descriptionPosition.ellipsesBefore, ellipsesAfter: descriptionPosition.ellipsesAfter
356
+ };
357
+ var previewPositions = [previewPosition];
358
+ for (var j = 1; j < descriptionPositions.length; j++) {
359
+ descriptionPosition = descriptionPositions[j];
360
+ if (previewPosition.previewEnd < descriptionPosition.previewStart) {
361
+ previewPosition = {
362
+ highlight: [descriptionPosition.highlight],
363
+ previewStart: descriptionPosition.previewStart, previewEnd: descriptionPosition.previewEnd,
364
+ ellipsesBefore: descriptionPosition.ellipsesBefore, ellipsesAfter: descriptionPosition.ellipsesAfter
365
+ }
366
+ previewPositions.push(previewPosition);
367
+ } else {
368
+ previewPosition.highlight.push(descriptionPosition.highlight);
369
+ previewPosition.previewEnd = descriptionPosition.previewEnd;
370
+ previewPosition.ellipsesAfter = descriptionPosition.ellipsesAfter;
371
+ }
372
+ }
300
373
 
374
+ var resultPreviews = document.createElement('div');
375
+ resultPreviews.classList.add('search-result-previews');
376
+ resultLink.appendChild(resultPreviews);
377
+
378
+ var description = doc.description;
379
+
380
+ for (var j = 0; j < Math.min(previewPositions.length, 2); j++) {
381
+ var position = previewPositions[j];
382
+ var resultPreview = document.createElement('div');
383
+ resultPreview.classList.add('search-result-preview');
384
+ resultPreviews.appendChild(resultPreview);
385
+
386
+ if (position.ellipsesBefore) {
387
+ resultPreview.appendChild(document.createTextNode('... '));
388
+ }
389
+ addHighlightedText(resultPreview, description, position.previewStart, position.previewEnd, position.highlight);
390
+ if (position.ellipsesAfter) {
391
+ resultPreview.appendChild(document.createTextNode(' ...'));
392
+ }
393
+ }
394
+ }
301
395
  if (contentPositions.length > 0) {
302
396
  contentPositions.sort(function(p1, p2){ return p1.highlight[0] - p2.highlight[0] });
303
397
  var contentPosition = contentPositions[0];
@@ -9,6 +9,7 @@ permalink: /assets/js/SearchData.json
9
9
  "{{ i }}": {
10
10
  "doc": {{ post.title | strip_html | escape | jsonify }},
11
11
  "title": {{ post.title | strip_html | escape | jsonify }},
12
+ "description": {{ post.description | strip_html | escape | jsonify }},
12
13
  "content": {{ post.content | replace: '</h', ' . </h' | replace: '<hr', ' . <hr' | replace: '</p', ' . </p' | replace: '<ul', ' . <ul' | replace: '</ul', ' . </ul' | replace: '<ol', ' . <ol' | replace: '</ol', ' . </ol' | replace: '</tr', ' . </tr' | replace: '<li', ' | <li' | replace: '</li', ' | </li' | replace: '</td', ' | </td' | replace: '<td', ' | <td' | replace: '</th', ' | </th' | replace: '<th', ' | <th' | strip_html | remove: 'Table of contents' | normalize_whitespace | replace: '. . .', '.' | replace: '. .', '.' | replace: '| |', '|' | append: ' ' | strip_html | strip_newline | strip | escape | jsonify }},
13
14
  "url": "{{ site.baseurl }}{{ post.url }}"
14
15
  }{%- unless forloop.last -%},{%- endunless -%}{%- assign i = i | plus: 1 -%}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: domain-jekyll
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lumunix
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-28 00:00:00.000000000 Z
11
+ date: 2024-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: webrick
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 2.2.24
117
+ version: 2.3.25
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 2.2.24
124
+ version: 2.3.25
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rake
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +136,7 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 12.3.3
139
- description:
139
+ description:
140
140
  email:
141
141
  - lumunix@icloud.com
142
142
  executables: []
@@ -161,6 +161,7 @@ files:
161
161
  - _includes/InfiniteScroll.html
162
162
  - _includes/LinkLibrary.md
163
163
  - _includes/Pagination.html
164
+ - _includes/PostPreview.html
164
165
  - _includes/PreviousNext.html
165
166
  - _includes/Related.html
166
167
  - _includes/TwitterEmbed.html
@@ -192,6 +193,7 @@ files:
192
193
  - _sass/domain/_previousnext.scss
193
194
  - _sass/domain/_related.scss
194
195
  - _sass/domain/_search.scss
196
+ - _sass/domain/_sidebar.scss
195
197
  - _sass/domain/_sidenote.scss
196
198
  - _sass/domain/_tables.scss
197
199
  - _sass/domain/_tag.scss
@@ -241,6 +243,8 @@ files:
241
243
  - assets/img/mermaid.xcf
242
244
  - assets/img/project-banner.png
243
245
  - assets/img/screeee.png
246
+ - assets/img/tutorial.png
247
+ - assets/img/tutorial.xcf
244
248
  - assets/img/type.png
245
249
  - assets/img/useful-references.png
246
250
  - assets/img/useful-references.xcf
@@ -1032,7 +1036,7 @@ licenses:
1032
1036
  - MIT
1033
1037
  metadata:
1034
1038
  plugin_type: theme
1035
- post_install_message:
1039
+ post_install_message:
1036
1040
  rdoc_options: []
1037
1041
  require_paths:
1038
1042
  - lib
@@ -1047,8 +1051,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1047
1051
  - !ruby/object:Gem::Version
1048
1052
  version: '0'
1049
1053
  requirements: []
1050
- rubygems_version: 3.3.22
1051
- signing_key:
1054
+ rubygems_version: 3.0.3.1
1055
+ signing_key:
1052
1056
  specification_version: 4
1053
1057
  summary: Jekyll theme for building a personal knowledge repository and blog.
1054
1058
  test_files: []