jekyll-theme-zer0 0.1.4 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![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
|
-
#
|
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
|