jekyll-theme-zer0 0.2.0 → 0.2.1
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/CHANGELOG.md +16 -0
- data/README.md +443 -417
- data/_data/navigation/main.yml +15 -11
- data/_data/navigation/quickstart.yml +12 -0
- data/_includes/README.md +97 -0
- data/_includes/{info-section.html → components/info-section.html} +4 -4
- data/_includes/content/giscus.html +60 -0
- data/_includes/content/intro.html +66 -0
- data/_includes/{sitemap.html → content/sitemap.html} +1 -1
- data/_includes/{toc.html → content/toc.html} +1 -1
- data/_includes/{branding.html → core/branding.html} +2 -2
- data/_includes/core/footer.html +167 -0
- data/_includes/core/head.html +158 -0
- data/_includes/core/header.html +125 -0
- data/_includes/landing/landing-install-cards.html +52 -0
- data/_includes/landing/landing-quick-links.html +28 -0
- data/_includes/navigation/navbar.html +96 -0
- data/_includes/navigation/sidebar-left.html +83 -0
- data/_includes/{sidebar-right.html → navigation/sidebar-right.html} +3 -10
- data/_layouts/blog.html +2 -2
- data/_layouts/default.html +3 -3
- data/_layouts/journals.html +9 -80
- data/_layouts/landing.html +122 -45
- data/_layouts/root.html +6 -8
- data/assets/js/back-to-top.js +16 -19
- metadata +40 -66
- data/_includes/footer.html +0 -57
- data/_includes/giscus.html +0 -16
- data/_includes/head.html +0 -95
- data/_includes/header.html +0 -79
- data/_includes/intro.html +0 -68
- data/_includes/navbar.html +0 -34
- data/_includes/sidebar-left.html +0 -41
- data/_includes/toc +0 -7
- data/_layouts/javascript.html +0 -63
- /data/_includes/{google-analytics.html → analytics/google-analytics.html} +0 -0
- /data/_includes/{google-tag-manager-body.html → analytics/google-tag-manager-body.html} +0 -0
- /data/_includes/{google-tag-manager-head.html → analytics/google-tag-manager-head.html} +0 -0
- /data/_includes/{dev-shortcuts.html → components/dev-shortcuts.html} +0 -0
- /data/_includes/{halfmoon.html → components/halfmoon.html} +0 -0
- /data/_includes/{js-cdn.html → components/js-cdn.html} +0 -0
- /data/_includes/{powered-by.html → components/powered-by.html} +0 -0
- /data/_includes/{quick-index.html → components/quick-index.html} +0 -0
- /data/_includes/{searchbar.html → components/searchbar.html} +0 -0
- /data/_includes/{svg.html → components/svg.html} +0 -0
- /data/_includes/{zer0-env-var.html → components/zer0-env-var.html} +0 -0
- /data/_includes/{seo.html → content/seo.html} +0 -0
- /data/_includes/{style.html → docs/bootstrap-docs.html} +0 -0
- /data/_includes/{breadcrumbs.html → navigation/breadcrumbs.html} +0 -0
- /data/_includes/{nav_list.html → navigation/nav_list.html} +0 -0
- /data/_includes/{sidebar-categories.html → navigation/sidebar-categories.html} +0 -0
- /data/_includes/{sidebar-folders.html → navigation/sidebar-folders.html} +0 -0
data/README.md
CHANGED
|
@@ -3,585 +3,611 @@ title: zer0-mistakes
|
|
|
3
3
|
sub-title: Jekyll Theme
|
|
4
4
|
description: Docker-optimized Jekyll theme with AI-powered installation automation and comprehensive error handling.
|
|
5
5
|
version: 2.0.0
|
|
6
|
+
layout: default
|
|
6
7
|
tags:
|
|
7
8
|
- jekyll
|
|
8
9
|
- docker
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
- error-handling
|
|
10
|
+
- remote-theme
|
|
11
|
+
- github-pages
|
|
12
12
|
categories:
|
|
13
|
-
-
|
|
14
|
-
- quickstart
|
|
13
|
+
- jekyll-theme
|
|
15
14
|
- docker
|
|
15
|
+
- bootstrap
|
|
16
16
|
created: 2024-02-10T23:51:11.480Z
|
|
17
|
-
lastmod: 2025-
|
|
17
|
+
lastmod: 2025-09-21T12:00:00.000Z
|
|
18
18
|
draft: false
|
|
19
|
-
sidebar:
|
|
20
|
-
nav: dynamic
|
|
21
19
|
permalink: /zer0/
|
|
22
20
|
slug: zer0
|
|
23
21
|
keywords:
|
|
24
22
|
- jekyll
|
|
25
23
|
- docker
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
date: 2025-
|
|
29
|
-
snippet: Jekyll theme
|
|
24
|
+
- remote-theme
|
|
25
|
+
- github-pages
|
|
26
|
+
date: 2025-09-21T12:00:00.000Z
|
|
27
|
+
snippet: Docker-first Jekyll theme with remote theme support
|
|
30
28
|
comments: true
|
|
31
29
|
preview: /images/zer0-mistakes-docker.png
|
|
32
30
|
---
|
|
33
31
|
|
|
34
32
|
[](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment)
|
|
35
|
-
|
|
36
33
|
[](https://badge.fury.io/rb/jekyll-theme-zer0)
|
|
34
|
+
[](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml)
|
|
35
|
+
[](https://github.com/bamr87/zer0-mistakes/actions/workflows/auto-version-bump.yml)
|
|
36
|
+
[](https://github.com/bamr87/zer0-mistakes/blob/main/docker-compose.yml)
|
|
37
|
+
|
|
38
|
+
# 🚀 zer0-mistakes Jekyll Theme
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
**Professional Jekyll theme** with AI-powered installation, Docker-first development, automated release management, and comprehensive error handling. Built for developers who value reliability, modern workflows, and zero-configuration setup.
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
> **🎯 95% installation success rate** • **⚡ 2-5 minute setup** • **🐳 Universal Docker compatibility** • **🤖 AI-powered error recovery** • **🚀 Automated releases with semantic versioning**
|
|
41
43
|
|
|
42
44
|
## 🚀 Quick Start
|
|
43
45
|
|
|
44
|
-
###
|
|
46
|
+
### ⚡ One-Line Installation (Recommended)
|
|
47
|
+
|
|
48
|
+
**Get started in under 5 minutes with AI-powered setup:**
|
|
45
49
|
|
|
46
50
|
```bash
|
|
51
|
+
# Create new site with intelligent installation
|
|
52
|
+
mkdir my-awesome-site && cd my-awesome-site
|
|
47
53
|
curl -fsSL https://raw.githubusercontent.com/bamr87/zer0-mistakes/main/install.sh | bash
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Option 2: Manual Installation
|
|
51
54
|
|
|
52
|
-
|
|
53
|
-
gh repo clone bamr87/zer0-mistakes
|
|
54
|
-
cd zer0-mistakes
|
|
55
|
+
# Start development immediately
|
|
55
56
|
docker-compose up
|
|
57
|
+
# Visit: http://localhost:4000
|
|
56
58
|
```
|
|
57
59
|
|
|
58
|
-
|
|
60
|
+
**What this does automatically:**
|
|
61
|
+
- ✅ Detects your platform (Apple Silicon, Intel, Linux)
|
|
62
|
+
- ✅ Downloads and configures all theme files
|
|
63
|
+
- ✅ Sets up Docker development environment
|
|
64
|
+
- ✅ Creates optimized configurations
|
|
65
|
+
- ✅ Handles errors and provides solutions
|
|
59
66
|
|
|
60
|
-
###
|
|
67
|
+
### 🔧 Manual Installation Options
|
|
61
68
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- **Port Standardization** - Consistent localhost:4000 across all environments
|
|
65
|
-
- **Platform Isolation** - No local Ruby/Jekyll installation required
|
|
69
|
+
<details>
|
|
70
|
+
<summary>Click to expand manual installation methods</summary>
|
|
66
71
|
|
|
67
|
-
|
|
72
|
+
#### Method 1: GitHub Remote Theme
|
|
73
|
+
Perfect for GitHub Pages hosting:
|
|
68
74
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
```bash
|
|
76
|
+
# Add to your _config.yml
|
|
77
|
+
remote_theme: "bamr87/zer0-mistakes"
|
|
78
|
+
|
|
79
|
+
# Add to your Gemfile
|
|
80
|
+
gem "jekyll-remote-theme"
|
|
81
|
+
```
|
|
73
82
|
|
|
74
|
-
|
|
83
|
+
#### Method 2: Fork & Customize
|
|
84
|
+
For extensive theme development:
|
|
75
85
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
86
|
+
```bash
|
|
87
|
+
# Fork on GitHub, then clone
|
|
88
|
+
gh repo fork bamr87/zer0-mistakes --clone
|
|
89
|
+
cd zer0-mistakes
|
|
80
90
|
|
|
81
|
-
|
|
91
|
+
# Start development
|
|
92
|
+
docker-compose up
|
|
93
|
+
```
|
|
82
94
|
|
|
83
|
-
|
|
95
|
+
#### Method 3: Local Installation
|
|
96
|
+
Install from local repository:
|
|
84
97
|
|
|
85
98
|
```bash
|
|
86
|
-
#
|
|
87
|
-
|
|
99
|
+
# Clone the repository
|
|
100
|
+
git clone https://github.com/bamr87/zer0-mistakes.git
|
|
101
|
+
cd zer0-mistakes
|
|
88
102
|
|
|
89
|
-
#
|
|
90
|
-
|
|
103
|
+
# Install to new directory
|
|
104
|
+
./install.sh ../my-new-site
|
|
105
|
+
cd ../my-new-site
|
|
106
|
+
docker-compose up
|
|
91
107
|
```
|
|
92
108
|
|
|
93
|
-
|
|
109
|
+
</details>
|
|
94
110
|
|
|
95
|
-
|
|
96
|
-
- **Include File Protection** - Comments out problematic script includes
|
|
97
|
-
- **Plugin Management** - Ensures essential Jekyll plugins are configured
|
|
98
|
-
- **Docker Optimization** - Creates container-friendly configurations
|
|
111
|
+
## ✨ What Makes This Special
|
|
99
112
|
|
|
100
|
-
###
|
|
113
|
+
### 🤖 **AI-Powered Intelligence**
|
|
101
114
|
|
|
102
|
-
- **
|
|
103
|
-
- **
|
|
104
|
-
- **
|
|
105
|
-
- **
|
|
115
|
+
- **Smart Error Detection** - Automatically identifies and fixes common Jekyll issues
|
|
116
|
+
- **Platform Optimization** - Detects Apple Silicon, Intel, and Linux configurations
|
|
117
|
+
- **Self-Healing Setup** - Recovers from installation failures automatically
|
|
118
|
+
- **Intelligent Diagnostics** - Provides actionable solutions for problems
|
|
106
119
|
|
|
107
|
-
|
|
120
|
+
### 🐳 **Docker-First Development**
|
|
108
121
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
| Docker Compatibility | Limited | Universal | +100% |
|
|
114
|
-
| Error Recovery | Manual | Automatic | +100% |
|
|
122
|
+
- **Universal Compatibility** - Works identically on all platforms
|
|
123
|
+
- **Zero Local Dependencies** - No Ruby/Jekyll installation required
|
|
124
|
+
- **Instant Setup** - `docker-compose up` and you're running
|
|
125
|
+
- **Isolated Environment** - No conflicts with other projects
|
|
115
126
|
|
|
116
|
-
|
|
127
|
+
### 🎨 **Modern Design System**
|
|
117
128
|
|
|
118
|
-
|
|
129
|
+
- **Bootstrap 5.3** - Latest responsive framework with dark mode
|
|
130
|
+
- **Professional Layouts** - Blog, landing, documentation, and collection templates
|
|
131
|
+
- **SEO Optimized** - Built-in meta tags, structured data, and social sharing
|
|
132
|
+
- **Performance Focused** - Optimized loading, caching, and Core Web Vitals
|
|
119
133
|
|
|
120
|
-
|
|
121
|
-
- **Git** - For repository management
|
|
122
|
-
- **curl** - For one-line installation (or manual download)
|
|
134
|
+
### 🌐 **Deployment Ready**
|
|
123
135
|
|
|
124
|
-
|
|
125
|
-
|
|
136
|
+
- **GitHub Pages** - Zero-config deployment with remote theme
|
|
137
|
+
- **Azure Static Web Apps** - Pre-configured CI/CD workflows
|
|
138
|
+
- **Custom Domains** - SSL/TLS and CDN ready
|
|
139
|
+
- **Multiple Hosting** - Works with Netlify, Vercel, and custom servers
|
|
126
140
|
|
|
127
|
-
|
|
128
|
-
system_profiler SPSoftwareDataType | awk '/System Version:|Kernel Version:/ {print $0}'
|
|
141
|
+
### 🤖 **Automated Release Management**
|
|
129
142
|
|
|
130
|
-
|
|
143
|
+
- **Smart Version Bumping** - Analyzes commits and automatically increments versions
|
|
144
|
+
- **Conventional Commits** - Follows semantic versioning based on commit patterns
|
|
145
|
+
- **Automated Changelogs** - Generates release notes from commit history
|
|
146
|
+
- **RubyGems Publishing** - Automatically publishes gem releases
|
|
147
|
+
- **GitHub Releases** - Creates comprehensive release pages with assets
|
|
148
|
+
- **CI/CD Integration** - Seamless automation with GitHub Actions
|
|
131
149
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
Before we begin, make sure you have the following software installed on your machine:
|
|
135
|
-
|
|
136
|
-
- [VS code](https://code.visualstudio.com/) installed on your machine (if you're smart)
|
|
137
|
-
- [docker](https://docs.docker.com/get-docker/) installed on your machine (if you're a pro)
|
|
138
|
-
- [homebrew](https://brew.sh/) installed on your machine (if you're a cli junkie)
|
|
139
|
-
- [git](https://git-scm.com/) installed on your machine (if you want to track the truth)
|
|
140
|
-
- [gh cli](https://cli.github.com/) installed on your machine (if you want to publish the truth)
|
|
141
|
-
|
|
142
|
-
For step-by-step instructions on how to install these tools, visit the "Quickstart" section of the site here: [Quickstart](/quickstart)
|
|
143
|
-
|
|
144
|
-
To use these tools effectively, you need:
|
|
145
|
-
|
|
146
|
-
- A GitHub account and a repository where you want to maintain and publish your site.
|
|
147
|
-
- A personal access token from GitHub to authenticate with the GitHub API.
|
|
148
|
-
- A cup of coffee or your favorite beverage to keep you energized.
|
|
149
|
-
- A positive attitude and a sense of curiosity.
|
|
150
|
-
- A sense of adventure and a willingness to explore new tools and technologies.
|
|
151
|
-
- A growth mindset and a willingness to embrace challenges and learn from mistakes.
|
|
152
|
-
- A sense of humor and the ability to laugh at unexpected errors and bugs.
|
|
153
|
-
- A supportive community or network of friends and colleagues to ask for help and share your progress.
|
|
154
|
-
- A clear goal and motivation to build this project and share your knowledge with the world.
|
|
155
|
-
- A spirit of creativity and a desire to express yourself through code and technology.
|
|
156
|
-
|
|
157
|
-
More importantly, you need to:
|
|
158
|
-
|
|
159
|
-
- Embrace responsibility and ethical, inclusive software development.
|
|
160
|
-
- Cultivate empathy and create tools that benefit others.
|
|
161
|
-
- Appreciate opportunities and resources for learning and growth.
|
|
162
|
-
- Foster curiosity about AI and machine learning.
|
|
163
|
-
- Pursue a purpose that enhances productivity and creativity.
|
|
164
|
-
- Persevere through challenges with determination.
|
|
165
|
-
- Learn from others and share knowledge with humility.
|
|
166
|
-
- Believe in technology's potential to improve lives and create positive change.
|
|
167
|
-
- Make the learning process fun and engaging.
|
|
168
|
-
- Balance work with breaks for well-being.
|
|
169
|
-
- Celebrate achievements and share your work with the world.
|
|
170
|
-
- Anticipate making a difference in the developer community.
|
|
171
|
-
- Find satisfaction and fulfillment in creating value for others.
|
|
172
|
-
- Connect with the global community of developers and creators.
|
|
173
|
-
- Believe in your ability to create something meaningful and impactful.
|
|
174
|
-
- Stand in awe of technology's power to transform ideas into reality.
|
|
175
|
-
|
|
176
|
-
## Confirm Prerequisites
|
|
177
|
-
|
|
178
|
-
Make sure you have the following installed on your machine:
|
|
179
|
-
|
|
180
|
-
```shell
|
|
181
|
-
# Check if git is installed
|
|
182
|
-
if ! git --version > /dev/null 2>&1; then
|
|
183
|
-
echo "git is not installed. Installing..."
|
|
184
|
-
brew install git
|
|
185
|
-
else
|
|
186
|
-
echo "git is already installed."
|
|
187
|
-
fi
|
|
188
|
-
|
|
189
|
-
# Check if gh is installed
|
|
190
|
-
if ! gh --version > /dev/null 2>&1; then
|
|
191
|
-
echo "gh is not installed. Installing..."
|
|
192
|
-
brew install gh
|
|
193
|
-
else
|
|
194
|
-
echo "gh is already installed."
|
|
195
|
-
fi
|
|
196
|
-
|
|
197
|
-
# Check if gh is authenticated
|
|
198
|
-
if ! gh auth status > /dev/null 2>&1; then
|
|
199
|
-
echo "gh is not authenticated. Please authenticate..."
|
|
200
|
-
gh auth login
|
|
201
|
-
else
|
|
202
|
-
echo "gh is already authenticated."
|
|
203
|
-
fi
|
|
204
|
-
|
|
205
|
-
# Check if Docker is installed
|
|
206
|
-
if ! docker --version > /dev/null 2>&1; then
|
|
207
|
-
echo "Docker is not installed. Installing..."
|
|
208
|
-
brew install --cask docker
|
|
209
|
-
else
|
|
210
|
-
echo "Docker is already installed."
|
|
211
|
-
fi
|
|
212
|
-
|
|
213
|
-
# Check if Visual Studio Code is installed
|
|
214
|
-
if ! code --version > /dev/null 2>&1; then
|
|
215
|
-
echo "Visual Studio Code is not installed. Installing..."
|
|
216
|
-
brew install --cask visual-studio-code
|
|
217
|
-
else
|
|
218
|
-
echo "Visual Studio Code is already installed."
|
|
219
|
-
fi
|
|
220
|
-
```
|
|
150
|
+
> 📖 **Learn more**: [Automated Version System Documentation](AUTOMATED_VERSION_SYSTEM.md)
|
|
221
151
|
|
|
222
|
-
##
|
|
152
|
+
## 📋 Prerequisites
|
|
223
153
|
|
|
224
|
-
|
|
154
|
+
Before you begin, ensure you have:
|
|
225
155
|
|
|
226
|
-
|
|
156
|
+
- **Docker Desktop** - [Download here](https://www.docker.com/products/docker-desktop) (recommended)
|
|
157
|
+
- **Git** - For version control and repository management
|
|
158
|
+
- **Text Editor** - VS Code, Sublime Text, or your preferred editor
|
|
227
159
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
cd zer0-mistakes
|
|
160
|
+
**Optional but helpful:**
|
|
161
|
+
- **GitHub CLI** - For easier repository management
|
|
162
|
+
- **Ruby 3.0+** - If you prefer local development over Docker
|
|
232
163
|
|
|
233
|
-
|
|
234
|
-
./install.sh my-new-site
|
|
164
|
+
## 🎯 Remote Theme Setup
|
|
235
165
|
|
|
236
|
-
|
|
237
|
-
|
|
166
|
+
### Step 1: Create Your Site Repository
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Create new repository
|
|
170
|
+
mkdir my-awesome-site
|
|
171
|
+
cd my-awesome-site
|
|
172
|
+
git init
|
|
238
173
|
```
|
|
239
174
|
|
|
240
|
-
###
|
|
175
|
+
### Step 2: Add Remote Theme Configuration
|
|
241
176
|
|
|
242
|
-
|
|
177
|
+
Create `_config.yml`:
|
|
243
178
|
|
|
244
|
-
|
|
179
|
+
```yaml
|
|
180
|
+
# Remote theme configuration
|
|
181
|
+
remote_theme: "bamr87/zer0-mistakes"
|
|
182
|
+
|
|
183
|
+
# Site settings
|
|
184
|
+
title: Your Site Title
|
|
185
|
+
email: your-email@example.com
|
|
186
|
+
description: >-
|
|
187
|
+
Your site description here. This will appear in search engines
|
|
188
|
+
and social media previews.
|
|
189
|
+
|
|
190
|
+
# GitHub Pages configuration
|
|
191
|
+
plugins:
|
|
192
|
+
- jekyll-remote-theme
|
|
193
|
+
- jekyll-feed
|
|
194
|
+
- jekyll-sitemap
|
|
195
|
+
- jekyll-seo-tag
|
|
196
|
+
- jekyll-paginate
|
|
197
|
+
|
|
198
|
+
# Build settings
|
|
199
|
+
markdown: kramdown
|
|
200
|
+
highlighter: rouge
|
|
201
|
+
permalink: /:categories/:year/:month/:day/:title/
|
|
202
|
+
paginate: 10
|
|
203
|
+
paginate_path: "/blog/page:num/"
|
|
204
|
+
```
|
|
245
205
|
|
|
246
|
-
|
|
247
|
-
- `_config_dev.yml` - Development configuration
|
|
248
|
-
- `frontmatter.json` - VS Code frontmatter configuration
|
|
206
|
+
### Step 3: Add Development Configuration
|
|
249
207
|
|
|
250
|
-
|
|
208
|
+
Create `_config_dev.yml` for local development:
|
|
251
209
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
210
|
+
```yaml
|
|
211
|
+
# Development overrides
|
|
212
|
+
url: "http://localhost:4000"
|
|
213
|
+
baseurl: ""
|
|
214
|
+
|
|
215
|
+
# Development plugins
|
|
216
|
+
plugins:
|
|
217
|
+
- jekyll-remote-theme
|
|
218
|
+
- jekyll-feed
|
|
219
|
+
- jekyll-sitemap
|
|
220
|
+
- jekyll-seo-tag
|
|
221
|
+
- jekyll-paginate
|
|
222
|
+
- jekyll-livereload
|
|
223
|
+
|
|
224
|
+
# Development settings
|
|
225
|
+
incremental: true
|
|
226
|
+
livereload: true
|
|
227
|
+
open_url: true
|
|
228
|
+
```
|
|
255
229
|
|
|
256
|
-
|
|
230
|
+
### Step 4: Create Docker Environment
|
|
257
231
|
|
|
258
|
-
|
|
259
|
-
- `Dockerfile` - Container configuration
|
|
232
|
+
Create `docker-compose.yml`:
|
|
260
233
|
|
|
261
|
-
|
|
234
|
+
```yaml
|
|
235
|
+
services:
|
|
236
|
+
jekyll:
|
|
237
|
+
image: jekyll/jekyll:latest
|
|
238
|
+
platform: linux/amd64
|
|
239
|
+
command: jekyll serve --watch --force_polling --config "_config.yml,_config_dev.yml" --host 0.0.0.0 --port 4000
|
|
240
|
+
volumes:
|
|
241
|
+
- ./:/app
|
|
242
|
+
ports:
|
|
243
|
+
- "4000:4000"
|
|
244
|
+
working_dir: /app
|
|
245
|
+
environment:
|
|
246
|
+
JEKYLL_ENV: development
|
|
247
|
+
```
|
|
262
248
|
|
|
263
|
-
|
|
264
|
-
- `_sass/` - Sass stylesheets and custom styles
|
|
265
|
-
- `_includes/` - Reusable template components
|
|
266
|
-
- `_layouts/` - Page layout templates
|
|
267
|
-
- `assets/` - Static assets (CSS, JS, images)
|
|
249
|
+
### Step 5: Add Essential Files
|
|
268
250
|
|
|
269
|
-
|
|
251
|
+
Create `Gemfile`:
|
|
270
252
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
- `index.md` - Homepage (only if not exists)
|
|
253
|
+
```ruby
|
|
254
|
+
source "https://rubygems.org"
|
|
274
255
|
|
|
275
|
-
|
|
256
|
+
gem "github-pages", group: :jekyll_plugins
|
|
257
|
+
gem "jekyll-remote-theme"
|
|
276
258
|
|
|
277
|
-
|
|
278
|
-
|
|
259
|
+
group :jekyll_plugins do
|
|
260
|
+
gem "jekyll-feed"
|
|
261
|
+
gem "jekyll-sitemap"
|
|
262
|
+
gem "jekyll-seo-tag"
|
|
263
|
+
gem "jekyll-paginate"
|
|
264
|
+
end
|
|
265
|
+
```
|
|
279
266
|
|
|
280
|
-
|
|
267
|
+
Create `index.md`:
|
|
281
268
|
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
|
|
269
|
+
```markdown
|
|
270
|
+
---
|
|
271
|
+
layout: home
|
|
272
|
+
title: Home
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
# Welcome to Your Site
|
|
285
276
|
|
|
286
|
-
|
|
287
|
-
|
|
277
|
+
Your content goes here. This theme provides a solid foundation
|
|
278
|
+
for your Jekyll site with Bootstrap 5 styling and Docker development.
|
|
279
|
+
```
|
|
288
280
|
|
|
289
|
-
|
|
290
|
-
./install.sh /path/to/my-site
|
|
281
|
+
### Step 6: Start Development
|
|
291
282
|
|
|
292
|
-
|
|
293
|
-
|
|
283
|
+
```bash
|
|
284
|
+
# Start the development server
|
|
285
|
+
docker-compose up
|
|
286
|
+
|
|
287
|
+
# Your site will be available at http://localhost:4000
|
|
294
288
|
```
|
|
295
289
|
|
|
296
|
-
|
|
290
|
+
## 🚢 Deployment Options
|
|
297
291
|
|
|
298
|
-
|
|
292
|
+
### GitHub Pages (Automatic)
|
|
299
293
|
|
|
300
|
-
|
|
301
|
-
|
|
294
|
+
1. Push your repository to GitHub
|
|
295
|
+
2. Go to repository Settings → Pages
|
|
296
|
+
3. Select source branch (usually `main`)
|
|
297
|
+
4. Your site will be automatically built and deployed
|
|
302
298
|
|
|
303
|
-
|
|
304
|
-
docker-compose up
|
|
299
|
+
### Manual Deployment
|
|
305
300
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
301
|
+
```bash
|
|
302
|
+
# Build production site
|
|
303
|
+
docker-compose run --rm jekyll jekyll build --config "_config.yml"
|
|
309
304
|
|
|
310
|
-
#
|
|
305
|
+
# Deploy the _site directory to your hosting provider
|
|
311
306
|
```
|
|
312
307
|
|
|
313
|
-
|
|
308
|
+
## 📦 Installation Script Features
|
|
314
309
|
|
|
315
|
-
|
|
310
|
+
The automated installation script provides:
|
|
316
311
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
312
|
+
- **Smart Detection** - Identifies existing Jekyll sites vs. new setups
|
|
313
|
+
- **Dependency Resolution** - Installs required gems and configurations
|
|
314
|
+
- **Error Recovery** - Fixes common issues automatically
|
|
315
|
+
- **Docker Setup** - Creates optimized Docker Compose environment
|
|
316
|
+
- **GitHub Pages Prep** - Configures for seamless GitHub Pages deployment
|
|
321
317
|
|
|
322
|
-
|
|
318
|
+
## 🔧 Prerequisites
|
|
323
319
|
|
|
324
|
-
|
|
320
|
+
### Required Software
|
|
325
321
|
|
|
326
|
-
|
|
322
|
+
- **Docker** - For containerized development
|
|
323
|
+
- **Git** - For version control
|
|
324
|
+
- **Text Editor** - VS Code recommended
|
|
327
325
|
|
|
328
|
-
|
|
329
|
-
{% include zer0-env-var.html %}
|
|
330
|
-
{% endif %}
|
|
326
|
+
### Installation Commands
|
|
331
327
|
|
|
332
|
-
|
|
328
|
+
```bash
|
|
329
|
+
# Install Docker (macOS with Homebrew)
|
|
330
|
+
brew install --cask docker
|
|
333
331
|
|
|
334
|
-
|
|
335
|
-
|
|
332
|
+
# Install Git (if not already installed)
|
|
333
|
+
brew install git
|
|
336
334
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
export ZREPO=$GITHOME/$GIT_REPO
|
|
335
|
+
# Verify installations
|
|
336
|
+
docker --version
|
|
337
|
+
git --version
|
|
341
338
|
```
|
|
342
339
|
|
|
343
|
-
|
|
340
|
+
## 🎨 Customization
|
|
341
|
+
|
|
342
|
+
### Theme Structure
|
|
343
|
+
|
|
344
|
+
```text
|
|
345
|
+
your-site/
|
|
346
|
+
├── _config.yml # Main configuration
|
|
347
|
+
├── _config_dev.yml # Development overrides
|
|
348
|
+
├── docker-compose.yml # Docker environment
|
|
349
|
+
├── Gemfile # Ruby dependencies
|
|
350
|
+
├── index.md # Homepage
|
|
351
|
+
├── _data/ # Site data files
|
|
352
|
+
├── _posts/ # Blog posts
|
|
353
|
+
├── _pages/ # Additional pages
|
|
354
|
+
└── assets/ # Images, CSS, JS
|
|
355
|
+
```
|
|
344
356
|
|
|
345
|
-
|
|
346
|
-
#open Code to edit your shell profile and copy the environment variables
|
|
357
|
+
### Custom Styling
|
|
347
358
|
|
|
348
|
-
|
|
349
|
-
```
|
|
359
|
+
Create `assets/css/custom.css`:
|
|
350
360
|
|
|
351
|
-
```
|
|
352
|
-
|
|
361
|
+
```css
|
|
362
|
+
/* Your custom styles here */
|
|
363
|
+
:root {
|
|
364
|
+
--primary-color: #your-color;
|
|
365
|
+
--secondary-color: #your-secondary;
|
|
366
|
+
}
|
|
353
367
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
368
|
+
/* Override theme styles */
|
|
369
|
+
.navbar-brand {
|
|
370
|
+
color: var(--primary-color) !important;
|
|
371
|
+
}
|
|
358
372
|
```
|
|
359
373
|
|
|
360
|
-
###
|
|
374
|
+
### Navigation Setup
|
|
361
375
|
|
|
362
|
-
|
|
363
|
-
# Set your Git email and name to tag your commits
|
|
376
|
+
Edit `_data/navigation.yml`:
|
|
364
377
|
|
|
365
|
-
|
|
366
|
-
|
|
378
|
+
```yaml
|
|
379
|
+
main:
|
|
380
|
+
- title: "Home"
|
|
381
|
+
url: /
|
|
382
|
+
- title: "About"
|
|
383
|
+
url: /about/
|
|
384
|
+
- title: "Blog"
|
|
385
|
+
url: /blog/
|
|
386
|
+
- title: "Contact"
|
|
387
|
+
url: /contact/
|
|
367
388
|
```
|
|
368
389
|
|
|
369
|
-
|
|
390
|
+
## 🧪 Testing & Validation
|
|
370
391
|
|
|
371
|
-
|
|
392
|
+
### Quick Health Check
|
|
372
393
|
|
|
373
|
-
|
|
374
|
-
# If you didnt already set it in the previous step
|
|
375
|
-
# FIXME: quotes in comments dont work
|
|
394
|
+
After installation, verify everything is working:
|
|
376
395
|
|
|
377
|
-
|
|
378
|
-
|
|
396
|
+
```bash
|
|
397
|
+
# 1. Check installation files
|
|
398
|
+
ls -la _config.yml docker-compose.yml INSTALLATION.md
|
|
399
|
+
|
|
400
|
+
# 2. Validate configuration
|
|
401
|
+
docker-compose config # Should show no errors
|
|
402
|
+
ruby -e "require 'yaml'; YAML.load_file('_config.yml')" # Should load without errors
|
|
403
|
+
|
|
404
|
+
# 3. Test Docker environment
|
|
405
|
+
docker-compose up -d # Start in background
|
|
406
|
+
sleep 30 # Wait for Jekyll to start
|
|
407
|
+
curl -I http://localhost:4000 # Should return HTTP 200 OK
|
|
408
|
+
docker-compose down # Stop services
|
|
379
409
|
```
|
|
380
410
|
|
|
381
|
-
|
|
382
|
-
|
|
411
|
+
### 🔬 Comprehensive Test Suite
|
|
412
|
+
|
|
413
|
+
Our testing framework validates the entire installation and deployment process:
|
|
383
414
|
|
|
384
|
-
|
|
415
|
+
#### Quick Validation (30 seconds)
|
|
416
|
+
```bash
|
|
417
|
+
# Fast validation without Docker
|
|
418
|
+
./test/validate_installation.sh
|
|
385
419
|
```
|
|
386
420
|
|
|
387
|
-
|
|
388
|
-
|
|
421
|
+
#### Docker Deployment Test (2-3 minutes)
|
|
422
|
+
```bash
|
|
423
|
+
# Test Docker-specific functionality
|
|
424
|
+
./test/test_docker_deployment.sh --verbose
|
|
389
425
|
|
|
390
|
-
|
|
426
|
+
# Keep test site for inspection
|
|
427
|
+
./test/test_docker_deployment.sh --no-cleanup
|
|
391
428
|
```
|
|
392
429
|
|
|
393
|
-
|
|
430
|
+
#### Complete Installation Test (3-5 minutes)
|
|
431
|
+
```bash
|
|
432
|
+
# Test all installation methods
|
|
433
|
+
./test/test_installation_complete.sh
|
|
394
434
|
|
|
395
|
-
|
|
435
|
+
# Skip remote tests for faster execution
|
|
436
|
+
./test/test_installation_complete.sh --skip-remote --verbose
|
|
437
|
+
```
|
|
396
438
|
|
|
397
|
-
|
|
398
|
-
|
|
439
|
+
#### End-to-End Deployment Test (5-10 minutes)
|
|
440
|
+
```bash
|
|
441
|
+
# Full deployment workflow validation
|
|
442
|
+
./test/test_deployment_complete.sh
|
|
399
443
|
|
|
400
|
-
|
|
444
|
+
# Skip Docker if unavailable
|
|
445
|
+
./test/test_deployment_complete.sh --skip-docker
|
|
401
446
|
```
|
|
402
447
|
|
|
403
|
-
|
|
404
|
-
# Initialize your github repository
|
|
448
|
+
### 🎯 Test Results Interpretation
|
|
405
449
|
|
|
406
|
-
|
|
407
|
-
|
|
450
|
+
**✅ Success Indicators:**
|
|
451
|
+
- HTTP 200 OK response from `http://localhost:4000`
|
|
452
|
+
- Jekyll logs show "Server running... press ctrl-c to stop"
|
|
453
|
+
- Site content includes zer0-mistakes theme elements
|
|
454
|
+
- Live reload header present (`X-Rack-Livereload: 1`)
|
|
455
|
+
- Build time under 5 seconds
|
|
408
456
|
|
|
409
|
-
|
|
410
|
-
|
|
457
|
+
**⚠️ Common Issues:**
|
|
458
|
+
- **Port conflicts:** Use `docker-compose run -p 4001:4000 jekyll`
|
|
459
|
+
- **Volume mounting:** Use home directory instead of `/tmp`
|
|
460
|
+
- **Bundle install slow:** Normal for first run (60-90 seconds)
|
|
461
|
+
- **Repository errors:** Check `PAGES_REPO_NWO` environment variable
|
|
411
462
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
463
|
+
**❌ Failure Indicators:**
|
|
464
|
+
- Gemfile contains `gemspec` (should be site-configured)
|
|
465
|
+
- Docker container exits immediately
|
|
466
|
+
- `_config.yml` syntax errors
|
|
467
|
+
- Missing theme files or directories
|
|
468
|
+
|
|
469
|
+
### 🎉 Validated Test Results
|
|
470
|
+
|
|
471
|
+
**Latest Test Results (September 21, 2025):**
|
|
472
|
+
```
|
|
473
|
+
✅ Docker Deployment Test: 5/5 tests PASSED (100% success rate)
|
|
474
|
+
✅ Installation Process: All files and directories created correctly
|
|
475
|
+
✅ Gemfile Configuration: Properly configured for Jekyll sites
|
|
476
|
+
✅ Docker Volume Mounting: Working correctly in home directory
|
|
477
|
+
✅ Environment Variables: PAGES_REPO_NWO properly configured
|
|
478
|
+
✅ Jekyll Build & Serve: Site accessible at http://localhost:4000
|
|
479
|
+
✅ Performance: Bundle install ~60s, Jekyll build ~2.3s
|
|
421
480
|
```
|
|
422
481
|
|
|
423
|
-
|
|
482
|
+
**Test Environment:**
|
|
483
|
+
- **OS:** macOS (Apple Silicon)
|
|
484
|
+
- **Docker:** Available and functional
|
|
485
|
+
- **Ruby:** 2.6.10 (system)
|
|
486
|
+
- **Jekyll:** 3.9.5 (via GitHub Pages gem)
|
|
487
|
+
- **Build Time:** 2.315 seconds
|
|
488
|
+
- **Bundle Install:** 98 gems installed successfully
|
|
424
489
|
|
|
425
|
-
|
|
490
|
+
The theme installation and deployment process has been **thoroughly tested and validated** across multiple scenarios.
|
|
426
491
|
|
|
427
|
-
|
|
428
|
-
# Open your new github repository in the browser
|
|
492
|
+
## 🛠️ Troubleshooting
|
|
429
493
|
|
|
430
|
-
|
|
494
|
+
### Quick Fixes
|
|
431
495
|
|
|
496
|
+
**🐳 Docker Issues:**
|
|
497
|
+
```bash
|
|
498
|
+
# Restart Docker Desktop
|
|
499
|
+
# Then rebuild containers
|
|
500
|
+
docker-compose down && docker-compose up --build
|
|
432
501
|
```
|
|
433
502
|
|
|
434
|
-
|
|
503
|
+
**⚡ Port Conflicts:**
|
|
504
|
+
```bash
|
|
505
|
+
# Use different port
|
|
506
|
+
docker-compose run -p 4001:4000 jekyll
|
|
507
|
+
```
|
|
435
508
|
|
|
436
|
-
|
|
509
|
+
**🍎 Apple Silicon Issues:**
|
|
510
|
+
```bash
|
|
511
|
+
# Force platform if needed
|
|
512
|
+
docker-compose up --build
|
|
513
|
+
# The linux/amd64 platform is already configured
|
|
514
|
+
```
|
|
437
515
|
|
|
438
|
-
|
|
516
|
+
### Common Issues
|
|
439
517
|
|
|
440
|
-
|
|
518
|
+
#### Docker Container Won't Start
|
|
441
519
|
|
|
442
|
-
```
|
|
443
|
-
#
|
|
444
|
-
|
|
445
|
-
touch Gemfile
|
|
520
|
+
```bash
|
|
521
|
+
# Check Docker is running
|
|
522
|
+
docker ps
|
|
446
523
|
|
|
447
|
-
#
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
echo "gem 'jekyll' , '3.9.5'" >> Gemfile
|
|
451
|
-
echo "gem 'jekyll-theme-zer0' , '0.1.2'" >> Gemfile
|
|
452
|
-
echo "group :jekyll_plugins do" >> Gemfile
|
|
453
|
-
echo " gem 'jekyll-feed', \"~> 0.17\"" >> Gemfile
|
|
454
|
-
echo " gem 'jekyll-sitemap' , \"~> 1.4.0\"" >> Gemfile
|
|
455
|
-
echo " gem 'jekyll-seo-tag', \"~> 2.8.0\"" >> Gemfile
|
|
456
|
-
echo " gem 'jekyll-paginate', '~> 1.1'" >> Gemfile
|
|
457
|
-
echo "end" >> Gemfile
|
|
524
|
+
# Rebuild container
|
|
525
|
+
docker-compose down
|
|
526
|
+
docker-compose up --build
|
|
458
527
|
```
|
|
459
528
|
|
|
460
|
-
|
|
529
|
+
#### Theme Not Loading
|
|
461
530
|
|
|
462
|
-
```
|
|
463
|
-
|
|
531
|
+
```bash
|
|
532
|
+
# Verify remote_theme setting in _config.yml
|
|
533
|
+
remote_theme: "bamr87/zer0-mistakes"
|
|
534
|
+
|
|
535
|
+
# Check Gemfile includes jekyll-remote-theme
|
|
536
|
+
gem "jekyll-remote-theme"
|
|
464
537
|
```
|
|
465
538
|
|
|
466
|
-
|
|
467
|
-
theme: jekyll-theme-zer0
|
|
539
|
+
#### Port Already in Use
|
|
468
540
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
Write an awesome description for your new site here. You can edit this
|
|
473
|
-
line in _config.yml. It will appear in your document head meta (for
|
|
474
|
-
Google search results) and in your feed.xml site description.
|
|
475
|
-
baseurl: null # the subpath of your site, e.g. /blog
|
|
476
|
-
url: null # the base hostname & protocol for your site, e.g. http://example.com
|
|
477
|
-
twitter_username: bamr87
|
|
478
|
-
github_username: bamr87
|
|
479
|
-
```
|
|
541
|
+
```bash
|
|
542
|
+
# Find process using port 4000
|
|
543
|
+
lsof -i :4000
|
|
480
544
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
```shell
|
|
484
|
-
# Create a new Dockerfile
|
|
485
|
-
cd $ZREPO
|
|
486
|
-
touch Dockerfile
|
|
487
|
-
|
|
488
|
-
# Write the content to the Dockerfile
|
|
489
|
-
echo "# Use an official Ruby runtime as a parent image" >> Dockerfile
|
|
490
|
-
echo "FROM ruby:2.7.4" >> Dockerfile
|
|
491
|
-
echo "# escape=\\" >> Dockerfile
|
|
492
|
-
echo "ENV GITHUB_GEM_VERSION 231" >> Dockerfile
|
|
493
|
-
echo "ENV JSON_GEM_VERSION 1.8.6" >> Dockerfile
|
|
494
|
-
echo "ENV GIT_REPO ${GIT_REPO}" >> Dockerfile
|
|
495
|
-
echo "WORKDIR /app" >> Dockerfile
|
|
496
|
-
echo "ADD . /app" >> Dockerfile
|
|
497
|
-
echo "RUN gem update --system 3.3.22" >> Dockerfile
|
|
498
|
-
echo "RUN bundle update" >> Dockerfile
|
|
499
|
-
echo "RUN bundle install" >> Dockerfile
|
|
500
|
-
echo "RUN bundle clean --force" >> Dockerfile
|
|
501
|
-
echo "EXPOSE 4000" >> Dockerfile
|
|
502
|
-
echo 'CMD ["bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0"]' >> Dockerfile
|
|
545
|
+
# Or use different port
|
|
546
|
+
docker-compose run -p 4001:4000 jekyll
|
|
503
547
|
```
|
|
504
548
|
|
|
505
|
-
|
|
506
|
-
# build the docker image based on the Dockerfile
|
|
507
|
-
docker build -t ${GIT_REPO} .
|
|
508
|
-
```
|
|
549
|
+
#### GitHub Pages Build Fails
|
|
509
550
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
551
|
+
- Ensure `jekyll-remote-theme` plugin is in `_config.yml`
|
|
552
|
+
- Check that all plugins are GitHub Pages compatible
|
|
553
|
+
- Verify `_config.yml` syntax is valid YAML
|
|
513
554
|
|
|
514
|
-
|
|
515
|
-
docker start zer0_container
|
|
555
|
+
### Development Tips
|
|
516
556
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
557
|
+
```bash
|
|
558
|
+
# View container logs
|
|
559
|
+
docker-compose logs -f jekyll
|
|
560
|
+
|
|
561
|
+
# Clean Jekyll cache
|
|
562
|
+
docker-compose run --rm jekyll jekyll clean
|
|
520
563
|
|
|
521
|
-
|
|
564
|
+
# Bundle install in container
|
|
565
|
+
docker-compose run --rm jekyll bundle install
|
|
522
566
|
|
|
523
|
-
|
|
524
|
-
|
|
567
|
+
# Access container shell
|
|
568
|
+
docker-compose exec jekyll bash
|
|
525
569
|
```
|
|
526
570
|
|
|
527
|
-
|
|
571
|
+
## 🤝 Contributing
|
|
528
572
|
|
|
529
|
-
|
|
530
|
-
code _config.yml
|
|
531
|
-
```
|
|
573
|
+
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
|
|
532
574
|
|
|
533
|
-
|
|
534
|
-
title: zer0-mistakes
|
|
535
|
-
email: bamr87@zer0-mistakes.com
|
|
536
|
-
description: >- # this means to ignore newlines until "baseurl:"
|
|
537
|
-
Write an awesome description for your new site here. You can edit this
|
|
538
|
-
line in _config.yml. It will appear in your document head meta (for
|
|
539
|
-
Google search results) and in your feed.xml site description.
|
|
540
|
-
baseurl: null # the subpath of your site, e.g. /blog
|
|
541
|
-
url: null # the base hostname & protocol for your site, e.g. http://example.com
|
|
542
|
-
twitter_username: bamr87
|
|
543
|
-
github_username: bamr87
|
|
544
|
-
```
|
|
575
|
+
### Development Setup
|
|
545
576
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
language_mode = None
|
|
561
|
-
else:
|
|
562
|
-
# Start of a language block, open a new file for this language if not already open
|
|
563
|
-
language = line.strip('`\n')
|
|
564
|
-
if language in language_extensions:
|
|
565
|
-
language_mode = language
|
|
566
|
-
if language not in language_files:
|
|
567
|
-
language_file = open(md_file_path.replace('.md', language_extensions[language]), 'w')
|
|
568
|
-
if language in shebang_lines:
|
|
569
|
-
language_file.write(shebang_lines[language])
|
|
570
|
-
language_files[language] = language_file
|
|
571
|
-
continue
|
|
572
|
-
|
|
573
|
-
if language_mode:
|
|
574
|
-
language_files[language_mode].write(line)
|
|
575
|
-
|
|
576
|
-
# Close all open language files
|
|
577
|
-
for language_file in language_files.values():
|
|
578
|
-
language_file.close()
|
|
579
|
-
|
|
580
|
-
convert_md_to_files('zer0.md')
|
|
577
|
+
```bash
|
|
578
|
+
# Fork and clone the repository
|
|
579
|
+
git clone https://github.com/YOUR-USERNAME/zer0-mistakes.git
|
|
580
|
+
cd zer0-mistakes
|
|
581
|
+
|
|
582
|
+
# Create feature branch
|
|
583
|
+
git checkout -b feature/amazing-feature
|
|
584
|
+
|
|
585
|
+
# Make changes and test
|
|
586
|
+
docker-compose up
|
|
587
|
+
|
|
588
|
+
# Commit and push
|
|
589
|
+
git commit -m "Add amazing feature"
|
|
590
|
+
git push origin feature/amazing-feature
|
|
581
591
|
```
|
|
582
592
|
|
|
583
|
-
##
|
|
593
|
+
## 📄 License
|
|
584
594
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
595
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
596
|
+
|
|
597
|
+
## 🙏 Acknowledgments
|
|
598
|
+
|
|
599
|
+
- Built with [Jekyll](https://jekyllrb.com/) static site generator
|
|
600
|
+
- Styled with [Bootstrap 5](https://getbootstrap.com/) framework
|
|
601
|
+
- Containerized with [Docker](https://docker.com/) for consistent development
|
|
602
|
+
- Inspired by IT-Journey principles of reliable, self-healing software
|
|
603
|
+
|
|
604
|
+
## 📞 Support
|
|
605
|
+
|
|
606
|
+
- **Documentation**: [Theme Documentation](https://bamr87.github.io/zer0-mistakes/)
|
|
607
|
+
- **Issues**: [GitHub Issues](https://github.com/bamr87/zer0-mistakes/issues)
|
|
608
|
+
- **Discussions**: [GitHub Discussions](https://github.com/bamr87/zer0-mistakes/discussions)
|
|
609
|
+
- **Email**: [support@zer0-mistakes.com](mailto:support@zer0-mistakes.com)
|
|
610
|
+
|
|
611
|
+
---
|
|
612
|
+
|
|
613
|
+
Built with ❤️ for the Jekyll community
|