jekyll-theme-zer0 0.1.4 → 0.1.6

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: a2b2ff93e65cd36df34d22ad3887f8def210b3405e95e8d592ca1c9df983af87
4
- data.tar.gz: 18df42bd804eedc602d1d9df66d7d50fb464d4c5a17a0630d32a5f7e13a5a55f
3
+ metadata.gz: 4cbcddfefa953a659a707422e7dbe3722543f7e29bef44945d8713fb89c3c7e5
4
+ data.tar.gz: 1127eb03bcfda032c18ec2d80c96d823bb0dae832576b7806e4ec48a945305d6
5
5
  SHA512:
6
- metadata.gz: 1937fe9c3fa29159425b716b52ebd50018883d5cc6134a620c18485bf686640a878e08a1333f484fe27cf529af6228aef9981e8ad52e83a55bec00e92641768f
7
- data.tar.gz: 271af77949e560a7435ce801ef356ae61d05565a1a49209417e353d99b68a582b087a5631427c548333835e40e51377a8eea54ad19d3c490e685e86990eed712
6
+ metadata.gz: 69590a14f340c8cdbf199852588875fba1475481747667a8bdd34bc6a068a680f704002b66a89a6a686f5266ab4c5fe3804f0f70babf370cd2096dff01a2d9cd
7
+ data.tar.gz: a5a0fd1a835d6fa746d600d34f0ebf3b73f7dadf06bd16a2d6a98c576d35e50421c461f7308057e38d39a83e375362510b9c1a0231825de20a66459a3d360127
data/README.md CHANGED
@@ -30,8 +30,6 @@ snippet: What is a snippet?
30
30
  comments: true
31
31
  ---
32
32
 
33
- {{ site.url_test }}
34
-
35
33
  [![pages-build-deployment](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment)
36
34
 
37
35
  [![Gem Version](https://badge.fury.io/rb/jekyll-theme-zer0.svg)](https://badge.fury.io/rb/jekyll-theme-zer0)
@@ -115,12 +113,45 @@ More importantly, you need to:
115
113
  Make sure you have the following installed on your machine:
116
114
 
117
115
  ```shell
118
- # install and update prerequisites
119
-
120
- brew install git
121
- brew install gh
122
- brew install --cask docker
123
- brew install --cask visual-studio-code
116
+ # Check if git is installed
117
+ if ! git --version > /dev/null 2>&1; then
118
+ echo "git is not installed. Installing..."
119
+ brew install git
120
+ else
121
+ echo "git is already installed."
122
+ fi
123
+
124
+ # Check if gh is installed
125
+ if ! gh --version > /dev/null 2>&1; then
126
+ echo "gh is not installed. Installing..."
127
+ brew install gh
128
+ else
129
+ echo "gh is already installed."
130
+ fi
131
+
132
+ # Check if gh is authenticated
133
+ if ! gh auth status > /dev/null 2>&1; then
134
+ echo "gh is not authenticated. Please authenticate..."
135
+ gh auth login
136
+ else
137
+ echo "gh is already authenticated."
138
+ fi
139
+
140
+ # Check if Docker is installed
141
+ if ! docker --version > /dev/null 2>&1; then
142
+ echo "Docker is not installed. Installing..."
143
+ brew install --cask docker
144
+ else
145
+ echo "Docker is already installed."
146
+ fi
147
+
148
+ # Check if Visual Studio Code is installed
149
+ if ! code --version > /dev/null 2>&1; then
150
+ echo "Visual Studio Code is not installed. Installing..."
151
+ brew install --cask visual-studio-code
152
+ else
153
+ echo "Visual Studio Code is already installed."
154
+ fi
124
155
  ```
125
156
 
126
157
  ## Environment
@@ -137,7 +168,7 @@ brew install --cask visual-studio-code
137
168
  # Or use the following to set the environment variables
138
169
 
139
170
  export GITHOME=~/github
140
- export GHUSER=bamr87
171
+ export GHUSER=$(gh api user --jq '.login')
141
172
  export GIT_REPO=zer0-mistakes
142
173
  export ZREPO=$GITHOME/$GIT_REPO
143
174
  ```
@@ -0,0 +1,19 @@
1
+ - icon: world
2
+ url: /posts/world/
3
+ title: World
4
+ - title: Technology
5
+ icon: tech
6
+ url: /posts/tech/
7
+ - title: Business
8
+ icon: cash
9
+ url: /posts/business/
10
+ - title: Science
11
+ icon: flask
12
+ url: /posts/science/
13
+ - title: Health
14
+ icon: heart
15
+ url: /posts/health/
16
+ - title: Politics
17
+ icon: politics
18
+ url: /posts/politics/
19
+
data/_includes/intro.html CHANGED
@@ -14,6 +14,27 @@
14
14
  <div class="bd-intro pt-5 ps-lg-2 position-relative" style="
15
15
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('{{ page.preview | relative_url | default: site.info_banner }}') no-repeat center center / cover;
16
16
  color: #fff;">
17
+ <!-- Share Icon with Popover for Multiple Sharing Options -->
18
+ <div class="position-absolute top-0 end-0 m-3">
19
+ <a href="#" class="btn btn-info" data-bs-toggle="popover" data-bs-html="true" data-bs-trigger="hover focus" data-bs-placement="bottom" data-bs-content="<div class='d-flex flex-column'><a href='https://reddit.com/submit?url={{ page.url | absolute_url | url_encode }}&amp;title={{ page.title | url_encode }}' target='_blank'>Share on Reddit</a><button class='btn btn-link' onclick='navigator.clipboard.writeText(&quot;{{ page.url | absolute_url }}&quot;);'>Copy Link</button></div>" title="Share Options">
20
+ <i class="bi bi-share"></i>
21
+ </a>
22
+ </div>
23
+
24
+ <script>
25
+ document.addEventListener('DOMContentLoaded', function () {
26
+ var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'));
27
+ var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
28
+ return new bootstrap.Popover(popoverTriggerEl);
29
+ });
30
+
31
+ // Optional: Check if the clipboard API is supported
32
+ if (!navigator.clipboard) {
33
+ console.warn('Clipboard API not supported');
34
+ }
35
+ });
36
+ </script>
37
+
17
38
  <br>
18
39
  <h1>{{ page.title }}</h1>
19
40
  <p>By {{ page.author | default: site.author.name }}</p>
data/_includes/seo.html CHANGED
@@ -10,8 +10,8 @@
10
10
 
11
11
  {%- assign seo_url = site.url | append: site.baseurl -%}
12
12
  {%- assign canonical_url = site.url %}
13
- {%- assign seo_title = page.title | default: site.title | append: " " | append: title_separator | append: " " | append: site.title -%}
14
13
  {% assign title_separator = site.title_separator | default: '-' %}
14
+ {%- assign seo_title = page.title | default: site.title | append: " " | append: title_separator | append: " " | append: site.title -%}
15
15
  {%- assign seo_description = page.description | default: site.description -%}
16
16
 
17
17
  {%- assign author = page.author | default: site.author -%}
@@ -35,7 +35,7 @@
35
35
  {%- assign og_type = "website" -%}
36
36
  {%- endif -%}
37
37
 
38
- <title>{{ seo_title | default: site.title }}{% if paginator %}{% unless paginator.page == 1 %} {{ title_separator }} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
38
+ <title>{{ seo_title | default: site.title }} {% if paginator %}{% unless paginator.page == 1 %} {{ site.data.ui-text[site.locale].page | default: "Page" }} {{ paginator.page }}{% endunless %}{% endif %}</title>
39
39
  <meta name="description" content="{{ seo_description }}">
40
40
  <meta name="author" content="{{ author.name | default: author }}">
41
41
 
@@ -0,0 +1,151 @@
1
+ ---
2
+ layout: root
3
+ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
4
+ ---
5
+
6
+ <div class="container">
7
+ <header class="border-bottom lh-1 py-3">
8
+ <div class="row flex-nowrap justify-content-between align-items-center">
9
+ <div class="col-4 pt-1">
10
+ <a class="link-secondary" href="#">Subscribe</a>
11
+ </div>
12
+ <div class="col-4 text-center">
13
+ <a class="blog-header-logo text-body-emphasis text-decoration-none" href="#">{{ page.title }}</a>
14
+ </div>
15
+ <div class="col-4 d-flex justify-content-end align-items-center">
16
+ <a class="link-secondary" href="#" aria-label="Search">
17
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="mx-3" role="img" viewBox="0 0 24 24"><title>Search</title><circle cx="10.5" cy="10.5" r="7.5"/><path d="M21 21l-5.2-5.2"/></svg>
18
+ </a>
19
+ <a class="btn btn-sm btn-outline-secondary" href="#">Sign up</a>
20
+ </div>
21
+ </div>
22
+ </header>
23
+
24
+ <div class="nav-scroller py-1 mb-3 border-bottom">
25
+ <nav class="nav nav-underline justify-content-between">
26
+ {% for item in site.data.navigation.posts %}
27
+ <a class="nav-item nav-link link-body-emphasis" href="{{ item.url }}">{{ item.title }}</a>
28
+ {% endfor %}
29
+ </nav>
30
+ </div>
31
+ </div>
32
+
33
+ <main class="container">
34
+
35
+ {% assign breaking_news_posts = site.posts | where: "categories", "breaking" %}
36
+ {% assign most_recent_post = breaking_news_posts | first %}
37
+
38
+ <div class="p-4 p-md-5 mb-4 rounded text-body-emphasis bg-body-secondary">
39
+ <div class="row">
40
+ <div class="col-lg-6">
41
+ <h1 class="display-4 fst-italic">{{ most_recent_post.title }}</h1>
42
+ <p class="lead my-3">{{ most_recent_post.excerpt }}</p>
43
+ <p class="lead mb-0"><a href="{{ site.baseurl }}{{ most_recent_post.url }}" class="text-body-emphasis fw-bold">Continue reading...</a></p>
44
+ </div>
45
+ <div class="col-lg-6">
46
+ <img src="{{ site.baseurl }}{{ most_recent_post.preview }}" alt="Preview image" class="img-fluid">
47
+ </div>
48
+ </div>
49
+ </div>
50
+
51
+ <div class="row mb-2">
52
+ {% assign featured_posts = site.posts | where: "featured", true %}
53
+ {% for post in featured_posts %}
54
+ <div class="col-md-6">
55
+ <div class="row g-0 border rounded overflow-hidden flex-md-row mb-4 shadow-sm h-md-250 position-relative">
56
+ <div class="col p-4 d-flex flex-column position-static">
57
+ <strong class="d-inline-block mb-2 text-primary-emphasis">{{ post.categories[0] }}</strong>
58
+ <h3 class="mb-0">{{ post.title }}</h3>
59
+ <div class="mb-1 text-body-secondary">{{ post.date | date: "%b %d" }}</div>
60
+ <p class="card-text mb-auto">{{ post.excerpt | strip_html | truncate: 200 }}</p>
61
+ <a href="{{ site.baseurl }}{{ post.url }}" class="icon-link gap-1 icon-link-hover stretched-link">
62
+ Continue reading
63
+ <svg class="bi"><use xlink:href="#chevron-right"/></svg>
64
+ </a>
65
+ </div>
66
+ <div class="col-md-6 d-none d-lg-block">
67
+ <img src="{{ site.baseurl }}{{ post.preview }}" alt="Post preview image" class="img-fluid">
68
+ </div>
69
+ </div>
70
+ </div>
71
+ {% endfor %}
72
+ </div>
73
+
74
+ <div class="row g-5">
75
+ <div class="col-md-8">
76
+ <h3 class="pb-4 mb-4 fst-italic border-bottom">
77
+ From the Firehose
78
+ </h3>
79
+
80
+ <article class="blog-post">
81
+ {{ content }}
82
+ </article>
83
+
84
+ <nav class="blog-pagination" aria-label="Pagination">
85
+ <a class="btn btn-outline-primary rounded-pill" href="#">Older</a>
86
+ <a class="btn btn-outline-secondary rounded-pill disabled" aria-disabled="true">Newer</a>
87
+ </nav>
88
+
89
+ </div>
90
+
91
+ <div class="col-md-4">
92
+ <div class="position-sticky" style="top: 2rem;">
93
+ <div class="p-4 mb-3 bg-body-tertiary rounded">
94
+ <h4 class="fst-italic">About</h4>
95
+ <p class="mb-0">Customize this section to tell your visitors a little bit about your publication, writers, content, or something else entirely. Totally up to you.</p>
96
+ </div>
97
+
98
+ <div>
99
+ <h4 class="fst-italic">Recent posts</h4>
100
+ <ul class="list-unstyled">
101
+ {% for post in site.posts limit:3 %}
102
+ <li>
103
+ <a class="d-flex flex-column flex-lg-row gap-3 align-items-start align-items-lg-center py-3 link-body-emphasis text-decoration-none border-top" href="{{ post.url }}">
104
+ <img class="bd-placeholder-img" src="{{ page.preview | default: site.og_image }}" width="50%" alt="Preview image">
105
+ <div class="col-lg-8">
106
+ <h6 class="mb-0">{{ post.title }}</h6>
107
+ <small class="text-body-secondary">{{ post.date | date: "%B %d, %Y" }}</small>
108
+ </div>
109
+ </a>
110
+ </li>
111
+ {% endfor %}
112
+ </ul>
113
+ </div>
114
+
115
+ <div class="p-4">
116
+ <h4 class="fst-italic">Archives</h4>
117
+ <ol class="list-unstyled mb-0">
118
+ <li><a href="#">March 2021</a></li>
119
+ <li><a href="#">February 2021</a></li>
120
+ <li><a href="#">January 2021</a></li>
121
+ <li><a href="#">December 2020</a></li>
122
+ <li><a href="#">November 2020</a></li>
123
+ <li><a href="#">October 2020</a></li>
124
+ <li><a href="#">September 2020</a></li>
125
+ <li><a href="#">August 2020</a></li>
126
+ <li><a href="#">July 2020</a></li>
127
+ <li><a href="#">June 2020</a></li>
128
+ <li><a href="#">May 2020</a></li>
129
+ <li><a href="#">April 2020</a></li>
130
+ </ol>
131
+ </div>
132
+
133
+ <div class="p-4">
134
+ {% include sidebar-categories.html %}
135
+ </div>
136
+
137
+ <div class="p-4">
138
+ <h4 class="fst-italic">Elsewhere</h4>
139
+ <ol class="list-unstyled">
140
+ <li><a href="#">GitHub</a></li>
141
+ <li><a href="#">Twitter</a></li>
142
+ <li><a href="#">Facebook</a></li>
143
+ </ol>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </div>
148
+
149
+ </main>
150
+
151
+
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: root
3
+ ---
4
+
5
+ <!-- Left Sidebar for Outline - Offcanvas -->
6
+ <!-- _includes/sidebar-left.html -->
7
+ <div class="offcanvas">
8
+ {% include sidebar-left.html %}
9
+ </div>
10
+ <div class="container-xl pt-5">
11
+
12
+ {{ content }}
13
+ </div>
14
+
15
+ <!-- Features -->
16
+ <!-- particles.js -->
17
+ <script src="/assets/js/particles-source.js"></script>
18
+ <script src="/assets/js/particles.js"></script>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-zer0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amr Abdel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-06-11 00:00:00.000000000 Z
11
+ date: 2024-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -65,6 +65,7 @@ files:
65
65
  - _data/navigation/about.yml
66
66
  - _data/navigation/docs.yml
67
67
  - _data/navigation/main.yml
68
+ - _data/navigation/posts.yml
68
69
  - _includes/branding.html
69
70
  - _includes/breadcrumbs.html
70
71
  - _includes/dev-shortcuts.html
@@ -95,12 +96,14 @@ files:
95
96
  - _includes/toc
96
97
  - _includes/toc.html
97
98
  - _includes/zer0-env-var.html
99
+ - _layouts/blog.html
98
100
  - _layouts/collection.html
99
101
  - _layouts/default.html
100
102
  - _layouts/home.html
101
103
  - _layouts/index.html
102
104
  - _layouts/javascript.html
103
105
  - _layouts/journals.html
106
+ - _layouts/landing.html
104
107
  - _layouts/root.html
105
108
  - _sass/custom.scss
106
109
  - _sass/it-journey/_docs.scss