awesome-jekyll-theme 0.0.4 → 0.2.2

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: 3a0b7635661a89039764b40c32b188a00b63f9a4bac4a985e92692b6ba3aeba1
4
- data.tar.gz: 163c06ec1e975f36e79d53351d03cb50a5bef16d036c931fefb24592f4cce00f
3
+ metadata.gz: 29214929f1e545c15094e3acbcd753f5b6e478426caee98981f7fc2d71520197
4
+ data.tar.gz: 7188655771ea95645968e25fbf14d7b05b05ba1dc8c044f41f289662f04b6edb
5
5
  SHA512:
6
- metadata.gz: 2c27d13326798c21b43d0d8c75830375d15c70c8c550320eae7a27171a0c94bd9070096c1c9bc98f74a8be813a49f2639395ed770b5db0fc438285ab137c5cd2
7
- data.tar.gz: e22ca92cf8bb311935bc1de508d1aa3a7ff28117537004449ca2623cc07712cf6372c7c65b4438e514d90e741835ff07ac62a030e5a3ab0ddf8a5546a07cb2ca
6
+ metadata.gz: bb9cd39bdc029afed688e854918ee632a7db24416ccee8ab018445f8711dd31d66baa34b43026e5ae3df8c181b684404f890b9102b719936858fe720fcddb3f8
7
+ data.tar.gz: 1c1fc4665fcbff92bcd79d67e6cb03b0ff66e055c16058ccc98e5c7e447e70332c1d4a18a0abbe6230e2b5b0fc9facfd690f6185a2328437b2c6e47e9426d3bc
data/README.md CHANGED
@@ -1,12 +1,20 @@
1
+ <div style="display: flex; flex-direction: column; justify-content: center; align-items: center; height: 50px;">
2
+
1
3
  <a href="https://jekyll-themes.com/a-chacon/awesome-jekyll-theme">
2
4
  <img
3
5
  src="https://img.shields.io/badge/featured%20on-JT-red.svg"
4
- height="20"
5
6
  alt="Jekyll Themes Shield"
6
7
  />
7
8
  </a>
8
9
 
9
- # Awesome Jekyll Theme
10
+ ![GitHub Pages](https://github.com/a-chacon/awesome-jekyll-theme/actions/workflows/jekyll.yml/badge.svg?branch=main)
11
+ ![GitHub License](https://img.shields.io/github/license/a-chacon/awesome-jekyll-theme)
12
+ ![Gem Downloads (for latest version)](https://img.shields.io/gem/dtv/awesome-jekyll-theme)
13
+ ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/a-chacon/awesome-jekyll-theme)
14
+
15
+ </div>
16
+
17
+ # Awesome Jekyll Theme 🎉
10
18
 
11
19
  A clean, versatile Jekyll theme with minimalist design and robust features.
12
20
  Ideal for portfolios, blogs, and project showcases with responsive layouts and easy customization.
@@ -37,27 +45,86 @@ Ideal for portfolios, blogs, and project showcases with responsive layouts and e
37
45
 
38
46
  5. **Category-based organization** for blog posts, allowing for easy content discovery and improved site structure.
39
47
 
40
- ## Installation
48
+ ## Installation: The Easy Way to Have Your Site on GitHub Pages (Recommended!) 😄
41
49
 
42
- Add this line to your Jekyll site's `Gemfile`:
50
+ 1. **Navigate to the Main Page of the Repository**
43
51
 
44
- ```ruby
45
- gem "awesome-jekyll-theme"
46
- ```
52
+ On GitHub.com, go to the main page of the repository at [awesome-jekyll-theme](https://github.com/a-chacon/awesome-jekyll-theme).
47
53
 
48
- And add this line to your Jekyll site's `_config.yml`:
54
+ 2. **Click 'Use this Template'**
49
55
 
50
- ```yaml
51
- theme: awesome-jekyll-theme
52
- ```
56
+ Click the "Use this template" button above the file list and select "Create a new repository."
57
+
58
+ 3. **Set Repository Details**
59
+
60
+ - Select the owner of the repository.
61
+ - Type a name for your repository. If you want the site to be available at `https://YOURUSERNAME.github.io`, name it `YOURUSERNAME.github.io` (replace `YOURUSERNAME` with your GitHub username). Otherwise, you can choose any name you prefer, and the site will be available at `https://YOURUSERNAME.github.io/REPOSITORYNAME`.
62
+ - Add an optional description.
63
+ - Choose repository visibility.
64
+
65
+ 4. **Create Repository from Template**
66
+
67
+ Click "Create repository from template."
68
+
69
+ 5. **Enable GitHub Pages**
70
+
71
+ To deploy the site on GitHub Pages, enable it in your repository settings. Go to **Settings -> Pages -> Source** and select `GitHub Actions`.
72
+
73
+ 6. **Customize Your Website Settings**
74
+
75
+ Edit the `_config.yml` file to change any settings you want. The settings in the file are self-explanatory, and there are comments inside to help you understand what each setting does. After making changes, click the "Commit changes" button to save them.
76
+
77
+ 7. **Congratulations! You Have a Website!**
53
78
 
54
- And then execute:
79
+ If you named the repository `YOURUSERNAME.github.io`, your website should be ready in a minute or two at `https://YOURUSERNAME.github.io`. If you used a different name, your website will be available at `https://YOURUSERNAME.github.io/REPOSITORYNAME`. Every time you make a change to any file, your website will be rebuilt and updated in about a minute.
55
80
 
81
+ ## Advanced Installation (Optional) ⚙️
82
+
83
+ 1. **Create a New Jekyll Site**
84
+
85
+ If you don’t already have a Jekyll site, create one with:
86
+
87
+ ```bash
88
+ jekyll new my-site
89
+ ```
90
+
91
+ Then, navigate into your new site’s directory:
92
+
93
+ ```bash
94
+ cd my-site
95
+ ```
96
+
97
+ 2. **Add the Theme to Your Gemfile**
98
+
99
+ Open your `Gemfile` and add this line:
100
+
101
+ ```ruby
102
+ gem "awesome-jekyll-theme"
103
+ ```
104
+
105
+ 3. **Update Your `_config.yml`**
106
+
107
+ In your `_config.yml` file, add this line:
108
+
109
+ ```yaml
110
+ theme: awesome-jekyll-theme
111
+ ```
112
+
113
+ 4. **Install the Theme**
114
+
115
+ Run the following command to install the theme and its dependencies:
116
+
117
+ ```bash
56
118
  bundle
119
+ ```
120
+
121
+ 5. **Run Your Site**
57
122
 
58
- Or install it yourself as:
123
+ Start your Jekyll site with:
59
124
 
60
- gem install awesome-jekyll-theme
125
+ ```bash
126
+ bundle exec jekyll serve
127
+ ```
61
128
 
62
129
  ## Usage
63
130
 
@@ -2,7 +2,7 @@
2
2
  <div class="flex flex-col justify-between max-w-lg">
3
3
  <a href="{{include.post.url | relative_url}}" aria-label="Post Url">
4
4
  <div class="hover:opacity-90 transition duration-300 w-full h-60 bg-cover bg-center"
5
- style="background-image: url('{{post.image}}')">
5
+ style="background-image: url('{{ post.image | default: 'https://picsum.photos/600/400/?blur' }}')">
6
6
  </div>
7
7
  </a>
8
8
  <div class="pt-6">
data/_layouts/home.html CHANGED
@@ -2,18 +2,23 @@
2
2
  layout: default
3
3
  ---
4
4
 
5
- <section id="main" class="flex flex-col md:flex-row items-center justify-center py-16 md:h-screen border-b-2">
5
+ <section
6
+ id="main"
7
+ class="flex flex-col md:flex-row items-center justify-center py-16 md:h-screen border-b-2"
8
+ >
6
9
  <div class="md:mx-2">
7
- <img class="object-cover w-full h-full sm:w-80 sm:h-80 sm:rounded-full" src="{{ page.image | relative_url }}"
8
- alt="{{ page.description }}">
10
+ <img
11
+ class="object-cover w-full h-full sm:w-80 sm:h-80 sm:rounded-full"
12
+ src="{{ page.image | relative_url | default: 'https://ik.imagekit.io/ikmedia/avif_samples/photo3_avif_6O32dW2NT.png' }}"
13
+ alt="{{ page.description }}"
14
+ />
9
15
  </div>
10
16
  <div class="fadeIn mx-4 w-4/5 md:w-2/5 text-center md:text-left mt-6 md:mt-0">
11
- <div class="prose prose-h1:mb-1">
12
- {{ page.main_content | markdownify }}
13
- </div>
17
+ <div class="prose prose-h1:mb-1">{{ page.main_content | markdownify }}</div>
14
18
 
15
- <p class="mt-4 ">
16
- {{ site.data[site.active_lang].strings.home.contact_me | default: site.data['en'].strings.home.contact_me}}
19
+ <p class="mt-4">
20
+ {{ site.data[site.active_lang].strings.home.contact_me | default:
21
+ site.data['en'].strings.home.contact_me}}
17
22
  </p>
18
23
 
19
24
  {%include contact_channels.html %}
@@ -21,109 +26,139 @@ layout: default
21
26
  </section>
22
27
 
23
28
  {% if site.posts.size > 0 %}
24
- <section id="blog" class="container mx-auto flex flex-col items-center justify-center min-h-screen">
29
+ <section
30
+ id="blog"
31
+ class="container mx-auto flex flex-col items-center justify-center min-h-screen"
32
+ >
25
33
  <div class="py-16">
26
34
  <h2 class="text-3xl font-bold text-center md:text-left">
27
35
  {{ site.data[site.active_lang].strings.home.blog_title | default:
28
36
  site.data['en'].strings.home.blog_title}}
29
37
  </h2>
30
- <div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-x-12 gap-y-16 py-8 md:py-16">
31
- {% for post in site.posts limit:3 %}
32
- {% include post_card.html post=post %}
33
- {% endfor %}
38
+ <div
39
+ class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-x-12 gap-y-16 py-8 md:py-16"
40
+ >
41
+ {% for post in site.posts limit:3 %} {% include post_card.html post=post
42
+ %} {% endfor %}
34
43
  </div>
44
+
45
+ {% assign blog_page = site.pages | where: 'layout', 'blog' | where_exp:
46
+ 'page', "page.path contains '/category/'" | first %} {% if blog_page %}
35
47
  <div class="pt-4 text-center">
36
- <a class="font-mulish text-lg hover:text-sky-400 hover:underline font-bold" href="{{'/blog' | relative_url }}">
48
+ <a
49
+ class="font-mulish text-lg hover:text-sky-400 hover:underline font-bold"
50
+ href="{{ blog_page.url | relative_url }}"
51
+ >
37
52
  {{ site.data[site.active_lang].strings.home.see_more_posts | default:
38
53
  site.data['en'].strings.home.see_more_posts}}
39
54
  </a>
40
55
  </div>
56
+ {% endif %}
41
57
  </div>
42
58
  </section>
43
- {% endif %}
44
-
45
-
46
- {% if site.projects.size > 0 %}
47
- <section id="projects" class="container mx-auto flex flex-col items-center justify-center min-h-screen">
59
+ {% endif %} {% if site.projects.size > 0 %}
60
+ <section
61
+ id="projects"
62
+ class="container mx-auto flex flex-col items-center justify-center min-h-screen"
63
+ >
48
64
  <div class="py-16">
49
65
  <h2 class="text-3xl font-bold text-center md:text-left">
50
66
  {{ site.data[site.active_lang].strings.home.projects_title | default:
51
67
  site.data['en'].strings.home.projects_title}}
52
68
  </h2>
53
69
  <div class="grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-16 py-8 md:py-16">
54
- {% for project in site.projects limit:2 %}
55
- {% include project_card.html project=project%}
56
- {% endfor %}
70
+ {% for project in site.projects limit:2 %} {% include project_card.html
71
+ project=project%} {% endfor %}
57
72
  </div>
58
- <div class="pt-4 text-center ">
59
- <a class="font-mulish text-lg hover:text-sky-400 hover:underline font-bold"
60
- href="{{'/projects' | relative_url }}">
73
+ <div class="pt-4 text-center">
74
+ <a
75
+ class="font-mulish text-lg hover:text-sky-400 hover:underline font-bold"
76
+ href="{{'/projects' | relative_url }}"
77
+ >
61
78
  {{ site.data[site.active_lang].strings.home.see_more_projects | default:
62
79
  site.data['en'].strings.home.see_more_projects }}
63
80
  </a>
64
81
  </div>
65
82
  </div>
66
83
  </section>
67
- {% endif %}
68
-
69
- <section id="content" class="container mx-auto flex flex-col items-center justify-center min-h-screen">
70
- <article class="prose mx-auto py-16">
71
- {{content}}
72
- </article>
84
+ {% endif %} {% assign trimmed_content = content | strip | replace: "\n", "" |
85
+ replace: "\r", "" | replace: "\t", "" %} {% if trimmed_content != "" %}
86
+ <section
87
+ id="content"
88
+ class="container mx-auto flex flex-col items-center justify-center min-h-screen"
89
+ >
90
+ <article class="prose mx-auto py-16">{{content}}</article>
73
91
  </section>
92
+ {% endif %}
74
93
 
75
- <div id="dot-nav" class="fixed left-0 top-1/2 transform -translate-y-1/2 space-y-4 bg-white/80 rounded-r-lg p-4">
76
- <a href="#main" aria-label="Jump to main section"
77
- class="dot w-3 h-3 block rounded-full border-2 border-gray-800 bg-gray-800 hover:scale-125"></a>
94
+ <div
95
+ id="dot-nav"
96
+ class="fixed left-0 top-1/2 transform -translate-y-1/2 space-y-4 bg-white/80 rounded-r-lg p-4"
97
+ >
98
+ <a
99
+ href="#main"
100
+ aria-label="Jump to main section"
101
+ class="dot w-3 h-3 block rounded-full border-2 border-gray-800 bg-gray-800 hover:scale-125"
102
+ ></a>
78
103
  {% if site.posts.size > 0 %}
79
- <a href="#blog" aria-label="Jump to blog section"
80
- class="dot w-3 h-3 block rounded-full border-2 border-gray-800 hover:scale-125"></a>
81
- {% endif %}
82
- {% if site.projects.size > 0 %}
83
- <a href="#projects" aria-label="Jump to projects section"
84
- class="dot w-3 h-3 block rounded-full border-2 border-gray-800 hover:scale-125"></a>
104
+ <a
105
+ href="#blog"
106
+ aria-label="Jump to blog section"
107
+ class="dot w-3 h-3 block rounded-full border-2 border-gray-800 hover:scale-125"
108
+ ></a>
109
+ {% endif %} {% if site.projects.size > 0 %}
110
+ <a
111
+ href="#projects"
112
+ aria-label="Jump to projects section"
113
+ class="dot w-3 h-3 block rounded-full border-2 border-gray-800 hover:scale-125"
114
+ ></a>
115
+ {% endif %} {% if trimmed_content != "" %}
116
+ <a
117
+ href="#content"
118
+ aria-label="Jump to content section"
119
+ class="dot w-3 h-3 block rounded-full border-2 border-gray-800 hover:scale-125"
120
+ ></a>
85
121
  {% endif %}
86
- <a href="#content" aria-label="Jump to content section"
87
- class="dot w-3 h-3 block rounded-full border-2 border-gray-800 hover:scale-125"></a>
88
122
  </div>
89
123
 
90
124
  <script>
91
- document.addEventListener('DOMContentLoaded', function () {
92
- const sections = document.querySelectorAll('section');
93
- const navDots = document.querySelectorAll('#dot-nav .dot');
125
+ document.addEventListener("DOMContentLoaded", function () {
126
+ const sections = document.querySelectorAll("section");
127
+ const navDots = document.querySelectorAll("#dot-nav .dot");
94
128
 
95
129
  function onScroll() {
96
- let currentSection = '';
130
+ let currentSection = "";
97
131
 
98
- sections.forEach(section => {
132
+ sections.forEach((section) => {
99
133
  const sectionTop = section.offsetTop;
100
- if (pageYOffset >= sectionTop - 120) { // Ajusta el valor según sea necesario
101
- currentSection = section.getAttribute('id');
134
+ if (pageYOffset >= sectionTop - 120) {
135
+ // Ajusta el valor según sea necesario
136
+ currentSection = section.getAttribute("id");
102
137
  }
103
138
  });
104
139
 
105
- navDots.forEach(dot => {
106
- dot.classList.remove('bg-gray-800');
107
- if (dot.getAttribute('href') === `#${currentSection}`) {
108
- dot.classList.add('bg-gray-800');
140
+ navDots.forEach((dot) => {
141
+ dot.classList.remove("bg-gray-800");
142
+ if (dot.getAttribute("href") === `#${currentSection}`) {
143
+ dot.classList.add("bg-gray-800");
109
144
  }
110
145
  });
111
146
  }
112
147
 
113
148
  function smoothScroll(target) {
114
149
  document.querySelector(target).scrollIntoView({
115
- behavior: 'smooth'
150
+ behavior: "smooth",
116
151
  });
117
152
  }
118
153
 
119
- navDots.forEach(dot => {
120
- dot.addEventListener('click', function (event) {
154
+ navDots.forEach((dot) => {
155
+ dot.addEventListener("click", function (event) {
121
156
  event.preventDefault();
122
- const target = this.getAttribute('href');
157
+ const target = this.getAttribute("href");
123
158
  smoothScroll(target);
124
159
  });
125
160
  });
126
161
 
127
- window.addEventListener('scroll', onScroll);
162
+ window.addEventListener("scroll", onScroll);
128
163
  });
129
164
  </script>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awesome-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - a-chacon
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-22 00:00:00.000000000 Z
11
+ date: 2024-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.8.0
69
- description:
69
+ description:
70
70
  email:
71
71
  - andres.ch@protonmail.com
72
72
  executables: []
@@ -114,7 +114,7 @@ homepage: https://github.com/a-chacon/awesome-jekyll-portfolio
114
114
  licenses:
115
115
  - MIT
116
116
  metadata: {}
117
- post_install_message:
117
+ post_install_message:
118
118
  rdoc_options: []
119
119
  require_paths:
120
120
  - lib
@@ -129,8 +129,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  requirements: []
132
- rubygems_version: 3.4.22
133
- signing_key:
132
+ rubygems_version: 3.4.10
133
+ signing_key:
134
134
  specification_version: 4
135
135
  summary: A clean, versatile Jekyll theme with minimalist design and robust features.
136
136
  Ideal for portfolios, blogs, and project showcases with responsive layouts and easy