Skip to content

Commit e535409

Browse files
Copilotkhnumdev
andcommitted
Update dependencies and configuration files
Co-authored-by: khnumdev <[email protected]>
1 parent 2f0f77e commit e535409

File tree

5 files changed

+284
-22
lines changed

5 files changed

+284
-22
lines changed

.gitignore

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
_site
2-
.sass-cache
3-
.jekyll-cache
1+
_site/
2+
.sass-cache/
3+
.jekyll-cache/
44
.jekyll-metadata
5-
vendor
5+
.bundle/
6+
vendor/
7+
*.gem
8+
.DS_Store
9+
Gemfile.lock

.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.1.0

Gemfile

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,23 @@
11
source "https://rubygems.org"
2-
# Hello! This is where you manage which Jekyll version is used to run.
3-
# When you want to use a different version, change it below, save the
4-
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
5-
#
6-
# bundle exec jekyll serve
7-
#
8-
# This will help ensure the proper Jekyll version is running.
9-
# Happy Jekylling!
10-
# gem "jekyll", "~> 4.2.0"
11-
# This is the default theme for new Jekyll sites. You may change this to anything you like.
12-
gem "minima", "~> 2.5.1"
13-
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
14-
# uncomment the line below. To upgrade, run `bundle update github-pages`.
15-
gem "github-pages", "~> 231", group: :jekyll_plugins
16-
# If you have any plugins, put them here!
2+
3+
# Use GitHub Pages gem for compatibility
4+
gem "github-pages", "~> 232", group: :jekyll_plugins
5+
6+
# Theme
7+
gem "minima", "~> 2.5"
8+
9+
# Plugins
1710
group :jekyll_plugins do
1811
gem "jekyll-feed", "~> 0.12"
12+
gem "jekyll-seo-tag"
1913
end
2014

21-
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
22-
# and associated library.
15+
# Required for Ruby 3.0+
16+
gem "webrick", "~> 1.8"
17+
18+
# Windows and JRuby compatibility
2319
platforms :mingw, :x64_mingw, :mswin, :jruby do
24-
gem "tzinfo", "~> 1.2"
20+
gem "tzinfo", ">= 1", "< 3"
2521
gem "tzinfo-data"
2622
end
2723

README.md

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,239 @@
1+
# Andrés Pérez Gil - Personal Blog
12

3+
A personal blog about engineering, big data, and philosophy, powered by Jekyll and hosted on GitHub Pages.
4+
5+
## About
6+
7+
This blog contains personal thoughts and opinions on technology, software engineering, and philosophical topics. Posts cover various aspects of software development, data engineering, and reflections on the impact of technology on society.
8+
9+
## Tech Stack
10+
11+
- **Jekyll** - Static site generator (v3.9.5 via GitHub Pages)
12+
- **GitHub Pages** - Hosting platform with automatic deployment
13+
- **Minima** - Clean and minimal Jekyll theme (v2.5)
14+
- **Kramdown** - Markdown processor
15+
- **Rouge** - Syntax highlighter for code blocks
16+
17+
## Prerequisites
18+
19+
Before you begin, ensure you have the following installed:
20+
21+
- **Ruby** (version 3.1.0 or compatible with GitHub Pages)
22+
- **Bundler** (gem package manager)
23+
- **Git** (for version control)
24+
25+
To check your Ruby version:
26+
```bash
27+
ruby --version
28+
```
29+
30+
To install Bundler:
31+
```bash
32+
gem install bundler
33+
```
34+
35+
## Local Development Setup
36+
37+
Follow these steps to run the site locally:
38+
39+
1. **Clone the repository:**
40+
```bash
41+
git clone https://github.com/khnumdev/khnumdev.github.io.git
42+
cd khnumdev.github.io
43+
```
44+
45+
2. **Install dependencies:**
46+
```bash
47+
bundle install
48+
```
49+
50+
3. **Run the local development server:**
51+
```bash
52+
bundle exec jekyll serve
53+
```
54+
55+
4. **Access the site:**
56+
Open your browser and navigate to `http://localhost:4000`
57+
58+
The site will automatically reload when you make changes to most files. Note that changes to `_config.yml` require restarting the server.
59+
60+
## Creating a New Post
61+
62+
### File Naming Convention
63+
64+
Posts must follow this naming pattern in the `_posts/` directory:
65+
```
66+
YYYY-MM-DD-title.markdown
67+
```
68+
69+
For example: `2024-01-15-my-new-post.markdown`
70+
71+
### Required Front Matter
72+
73+
Every post must include front matter at the beginning of the file:
74+
75+
```yaml
76+
---
77+
layout: post
78+
title: "Your Post Title"
79+
date: YYYY-MM-DD HH:MM:SS +0200
80+
tags: tag1, tag2
81+
categories: category1, category2
82+
---
83+
```
84+
85+
### Example Post Template
86+
87+
Create a new file in `_posts/` directory:
88+
89+
```markdown
90+
---
91+
layout: post
92+
title: "My Awesome Blog Post"
93+
date: 2024-01-15 14:30:00 +0200
94+
tags: technology, programming
95+
categories: tech, tutorial
96+
---
97+
98+
Your content starts here. You can use **Markdown** formatting.
99+
100+
## Subheadings
101+
102+
- Bullet points
103+
- Are supported
104+
105+
Code blocks with syntax highlighting:
106+
107+
```python
108+
def hello_world():
109+
print("Hello, World!")
110+
```
111+
112+
And much more!
113+
```
114+
115+
### Location
116+
117+
All blog posts should be placed in the `_posts/` directory at the root of the repository.
118+
119+
## Project Structure
120+
121+
```
122+
khnumdev.github.io/
123+
├── _posts/ # Blog post markdown files
124+
├── _config.yml # Site configuration
125+
├── _site/ # Generated site (not committed)
126+
├── .gitignore # Git ignore rules
127+
├── .ruby-version # Ruby version specification
128+
├── Gemfile # Ruby dependencies
129+
├── Gemfile.lock # Locked dependency versions
130+
├── LICENSE # Project license
131+
├── README.md # This file
132+
├── 404.html # Custom 404 error page
133+
├── links.md # Links page
134+
└── tutorials.md # Tutorials page
135+
```
136+
137+
### Key Files
138+
139+
- **`_config.yml`** - Main configuration file for site settings, author info, social links, and plugins
140+
- **`Gemfile`** - Defines Ruby gems and dependencies for the project
141+
- **`_posts/`** - Contains all blog post markdown files
142+
- **`404.html`** - Custom error page for broken links
143+
- **`links.md`** & **`tutorials.md`** - Additional site pages
144+
145+
## Configuration
146+
147+
The site is configured through `_config.yml`. Key settings include:
148+
149+
- **Site metadata**: Title, description, email, social usernames
150+
- **Timezone**: `Europe/Madrid` (GMT+2)
151+
- **Pagination**: 5 posts per page
152+
- **Theme**: Minima
153+
- **Plugins**: Jekyll Feed, Jekyll Paginate, Jekyll SEO Tag
154+
155+
To modify site settings:
156+
157+
1. Open `_config.yml`
158+
2. Edit the desired values
159+
3. Restart the Jekyll server (changes to config require a restart)
160+
161+
### Available Configuration Options
162+
163+
- `title` - Site title displayed in header
164+
- `email` - Contact email address
165+
- `description` - Site description for SEO
166+
- `timezone` - Site timezone (default: Europe/Madrid)
167+
- `paginate` - Number of posts per page (default: 5)
168+
- `author` - Author information for SEO
169+
- `social` - Social media links for SEO
170+
171+
## Deployment
172+
173+
This site is automatically deployed via **GitHub Pages** when changes are pushed to the `main` branch.
174+
175+
### Deployment Process
176+
177+
1. Make your changes locally
178+
2. Test with `bundle exec jekyll serve`
179+
3. Commit your changes:
180+
```bash
181+
git add .
182+
git commit -m "Your commit message"
183+
```
184+
4. Push to GitHub:
185+
```bash
186+
git push origin main
187+
```
188+
5. GitHub Pages will automatically build and deploy your site within a few minutes
189+
190+
The site is available at: `https://khnumdev.github.io/`
191+
192+
### Build Status
193+
194+
Check the Actions tab in the GitHub repository to monitor deployment status and view any build errors.
195+
196+
## Theme Customization
197+
198+
This site uses the **Minima** theme (v2.5).
199+
200+
### Theme Documentation
201+
202+
- [Minima GitHub Repository](https://github.com/jekyll/minima)
203+
- [Minima Customization Guide](https://github.com/jekyll/minima#customization)
204+
205+
### Overriding Theme Defaults
206+
207+
To customize the theme:
208+
209+
1. **Override layouts**: Create files in `_layouts/` directory
210+
2. **Override includes**: Create files in `_includes/` directory
211+
3. **Custom CSS**: Create `assets/main.scss` and import the theme
212+
4. **Custom pages**: Add `.md` or `.html` files to the root directory
213+
214+
Example custom CSS file (`assets/main.scss`):
215+
216+
```scss
217+
---
218+
---
219+
220+
@import "minima";
221+
222+
// Your custom CSS here
223+
```
224+
225+
## License
226+
227+
This project is open source and available under the terms specified in the [LICENSE](LICENSE) file.
228+
229+
## Contact
230+
231+
- **Author**: Andrés Pérez Gil
232+
- **Email**: [email protected]
233+
- **Twitter**: [@AndresPerezGil](https://twitter.com/AndresPerezGil)
234+
- **GitHub**: [@khnumdev](https://github.com/khnumdev)
235+
- **LinkedIn**: [andresperezgil](https://www.linkedin.com/in/andresperezgil)
236+
237+
---
238+
239+
Built with ❤️ using Jekyll and GitHub Pages

_config.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,38 @@ twitter_username: AndresPerezGil
2828
github_username: khnumdev
2929
linkedin_username: andresperezgil
3030

31+
# Timezone configuration
32+
timezone: Europe/Madrid
33+
34+
# SEO settings
35+
author:
36+
name: Andrés Pérez Gil
37+
38+
39+
# Social links for SEO
40+
social:
41+
name: Andrés Pérez Gil
42+
links:
43+
- https://twitter.com/AndresPerezGil
44+
- https://github.com/khnumdev
45+
- https://www.linkedin.com/in/andresperezgil
46+
3147
show_excerpts: true
3248

49+
# Pagination settings
3350
paginate: 5
51+
paginate_path: "/page:num/"
3452

3553
# Build settings
3654
theme: minima
55+
markdown: kramdown
56+
highlighter: rouge
57+
58+
# Plugins
3759
plugins:
3860
- jekyll-feed
3961
- jekyll-paginate
62+
- jekyll-seo-tag
4063

4164
# Exclude from processing.
4265
# The following items will not be processed, by default.

0 commit comments

Comments
 (0)