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 +4 -4
- data/README.md +40 -9
- data/_data/navigation/posts.yml +19 -0
- data/_includes/intro.html +21 -0
- data/_includes/seo.html +2 -2
- data/_layouts/blog.html +151 -0
- data/_layouts/landing.html +18 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cbcddfefa953a659a707422e7dbe3722543f7e29bef44945d8713fb89c3c7e5
|
4
|
+
data.tar.gz: 1127eb03bcfda032c18ec2d80c96d823bb0dae832576b7806e4ec48a945305d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
[](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment)
|
36
34
|
|
37
35
|
[](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
|
-
#
|
119
|
-
|
120
|
-
|
121
|
-
brew install
|
122
|
-
|
123
|
-
|
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
|
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 }}&title={{ page.title | url_encode }}' target='_blank'>Share on Reddit</a><button class='btn btn-link' onclick='navigator.clipboard.writeText("{{ page.url | absolute_url }}");'>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 %} {{
|
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
|
|
data/_layouts/blog.html
ADDED
@@ -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
|
+
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
|
+
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
|