jekyll-theme-zer0 0.2.0 → 0.4.0
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 +56 -0
- data/README.md +455 -417
- data/_data/navigation/about.yml +2 -0
- data/_data/navigation/main.yml +17 -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/components/mermaid.html +101 -0
- 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 +163 -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/README.md +8 -0
- 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 +44 -69
- 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,623 @@ 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
|
-
- **Comprehensive Documentation** - Auto-generates troubleshooting guides
|
|
75
|
+
```bash
|
|
76
|
+
# Add to your _config.yml
|
|
77
|
+
remote_theme: "bamr87/zer0-mistakes"
|
|
73
78
|
|
|
74
|
-
|
|
79
|
+
# Add to your Gemfile
|
|
80
|
+
gem "jekyll-remote-theme"
|
|
81
|
+
```
|
|
75
82
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
- **Intelligent Fallbacks** - Graceful degradation when components are unavailable
|
|
79
|
-
- **Learning System** - Improves based on common installation patterns
|
|
83
|
+
#### Method 2: Fork & Customize
|
|
84
|
+
For extensive theme development:
|
|
80
85
|
|
|
81
|
-
|
|
86
|
+
```bash
|
|
87
|
+
# Fork on GitHub, then clone
|
|
88
|
+
gh repo fork bamr87/zer0-mistakes --clone
|
|
89
|
+
cd zer0-mistakes
|
|
82
90
|
|
|
83
|
-
|
|
91
|
+
# Start development
|
|
92
|
+
docker-compose up
|
|
93
|
+
```
|
|
94
|
+
|
|
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
|
+
### 📊 **Mermaid Diagram Integration** *(New in v0.3.0)*
|
|
223
153
|
|
|
224
|
-
|
|
154
|
+
- **Complete Diagram Support** - Flowcharts, sequence diagrams, class diagrams, state diagrams, ER diagrams, Gantt charts, pie charts, git graphs, journey diagrams, and mindmaps
|
|
155
|
+
- **GitHub Pages Compatible** - Works seamlessly with both local development and GitHub Pages deployment
|
|
156
|
+
- **Conditional Loading** - Only loads Mermaid when needed, optimizing performance
|
|
157
|
+
- **Responsive Design** - Diagrams automatically scale across all devices
|
|
158
|
+
- **Dark Mode Support** - Forest theme optimized for dark mode compatibility
|
|
159
|
+
- **Comprehensive Documentation** - Complete user guide with live examples and troubleshooting
|
|
160
|
+
- **Automated Testing** - 16 automated tests covering all aspects of functionality
|
|
225
161
|
|
|
226
|
-
|
|
162
|
+
> 📖 **Learn more**: [Mermaid Documentation](/docs/jekyll/mermaid/) • [Integration Tutorial](/docs/jekyll/jekyll-diagram-with-mermaid/) • [Test Suite](/docs/jekyll/mermaid-test-suite/)
|
|
227
163
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
164
|
+
## 📋 Prerequisites
|
|
165
|
+
|
|
166
|
+
Before you begin, ensure you have:
|
|
167
|
+
|
|
168
|
+
- **Docker Desktop** - [Download here](https://www.docker.com/products/docker-desktop) (recommended)
|
|
169
|
+
- **Git** - For version control and repository management
|
|
170
|
+
- **Text Editor** - VS Code, Sublime Text, or your preferred editor
|
|
171
|
+
|
|
172
|
+
**Optional but helpful:**
|
|
173
|
+
- **GitHub CLI** - For easier repository management
|
|
174
|
+
- **Ruby 3.0+** - If you prefer local development over Docker
|
|
232
175
|
|
|
233
|
-
|
|
234
|
-
./install.sh my-new-site
|
|
176
|
+
## 🎯 Remote Theme Setup
|
|
235
177
|
|
|
236
|
-
|
|
237
|
-
|
|
178
|
+
### Step 1: Create Your Site Repository
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
# Create new repository
|
|
182
|
+
mkdir my-awesome-site
|
|
183
|
+
cd my-awesome-site
|
|
184
|
+
git init
|
|
238
185
|
```
|
|
239
186
|
|
|
240
|
-
###
|
|
187
|
+
### Step 2: Add Remote Theme Configuration
|
|
241
188
|
|
|
242
|
-
|
|
189
|
+
Create `_config.yml`:
|
|
243
190
|
|
|
244
|
-
|
|
191
|
+
```yaml
|
|
192
|
+
# Remote theme configuration
|
|
193
|
+
remote_theme: "bamr87/zer0-mistakes"
|
|
194
|
+
|
|
195
|
+
# Site settings
|
|
196
|
+
title: Your Site Title
|
|
197
|
+
email: your-email@example.com
|
|
198
|
+
description: >-
|
|
199
|
+
Your site description here. This will appear in search engines
|
|
200
|
+
and social media previews.
|
|
201
|
+
|
|
202
|
+
# GitHub Pages configuration
|
|
203
|
+
plugins:
|
|
204
|
+
- jekyll-remote-theme
|
|
205
|
+
- jekyll-feed
|
|
206
|
+
- jekyll-sitemap
|
|
207
|
+
- jekyll-seo-tag
|
|
208
|
+
- jekyll-paginate
|
|
209
|
+
|
|
210
|
+
# Build settings
|
|
211
|
+
markdown: kramdown
|
|
212
|
+
highlighter: rouge
|
|
213
|
+
permalink: /:categories/:year/:month/:day/:title/
|
|
214
|
+
paginate: 10
|
|
215
|
+
paginate_path: "/blog/page:num/"
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Step 3: Add Development Configuration
|
|
245
219
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
220
|
+
Create `_config_dev.yml` for local development:
|
|
221
|
+
|
|
222
|
+
```yaml
|
|
223
|
+
# Development overrides
|
|
224
|
+
url: "http://localhost:4000"
|
|
225
|
+
baseurl: ""
|
|
226
|
+
|
|
227
|
+
# Development plugins
|
|
228
|
+
plugins:
|
|
229
|
+
- jekyll-remote-theme
|
|
230
|
+
- jekyll-feed
|
|
231
|
+
- jekyll-sitemap
|
|
232
|
+
- jekyll-seo-tag
|
|
233
|
+
- jekyll-paginate
|
|
234
|
+
- jekyll-livereload
|
|
235
|
+
|
|
236
|
+
# Development settings
|
|
237
|
+
incremental: true
|
|
238
|
+
livereload: true
|
|
239
|
+
open_url: true
|
|
240
|
+
```
|
|
249
241
|
|
|
250
|
-
|
|
242
|
+
### Step 4: Create Docker Environment
|
|
251
243
|
|
|
252
|
-
|
|
253
|
-
- `Rakefile` - Build tasks
|
|
254
|
-
- `package.json` - Node.js dependencies
|
|
244
|
+
Create `docker-compose.yml`:
|
|
255
245
|
|
|
256
|
-
|
|
246
|
+
```yaml
|
|
247
|
+
services:
|
|
248
|
+
jekyll:
|
|
249
|
+
image: jekyll/jekyll:latest
|
|
250
|
+
platform: linux/amd64
|
|
251
|
+
command: jekyll serve --watch --force_polling --config "_config.yml,_config_dev.yml" --host 0.0.0.0 --port 4000
|
|
252
|
+
volumes:
|
|
253
|
+
- ./:/app
|
|
254
|
+
ports:
|
|
255
|
+
- "4000:4000"
|
|
256
|
+
working_dir: /app
|
|
257
|
+
environment:
|
|
258
|
+
JEKYLL_ENV: development
|
|
259
|
+
```
|
|
257
260
|
|
|
258
|
-
|
|
259
|
-
- `Dockerfile` - Container configuration
|
|
261
|
+
### Step 5: Add Essential Files
|
|
260
262
|
|
|
261
|
-
|
|
263
|
+
Create `Gemfile`:
|
|
262
264
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
- `_includes/` - Reusable template components
|
|
266
|
-
- `_layouts/` - Page layout templates
|
|
267
|
-
- `assets/` - Static assets (CSS, JS, images)
|
|
265
|
+
```ruby
|
|
266
|
+
source "https://rubygems.org"
|
|
268
267
|
|
|
269
|
-
|
|
268
|
+
gem "github-pages", group: :jekyll_plugins
|
|
269
|
+
gem "jekyll-remote-theme"
|
|
270
270
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
group :jekyll_plugins do
|
|
272
|
+
gem "jekyll-feed"
|
|
273
|
+
gem "jekyll-sitemap"
|
|
274
|
+
gem "jekyll-seo-tag"
|
|
275
|
+
gem "jekyll-paginate"
|
|
276
|
+
end
|
|
277
|
+
```
|
|
274
278
|
|
|
275
|
-
|
|
279
|
+
Create `index.md`:
|
|
276
280
|
|
|
277
|
-
|
|
278
|
-
|
|
281
|
+
```markdown
|
|
282
|
+
---
|
|
283
|
+
layout: home
|
|
284
|
+
title: Home
|
|
285
|
+
---
|
|
279
286
|
|
|
280
|
-
|
|
287
|
+
# Welcome to Your Site
|
|
281
288
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
289
|
+
Your content goes here. This theme provides a solid foundation
|
|
290
|
+
for your Jekyll site with Bootstrap 5 styling and Docker development.
|
|
291
|
+
```
|
|
285
292
|
|
|
286
|
-
|
|
287
|
-
./install.sh
|
|
293
|
+
### Step 6: Start Development
|
|
288
294
|
|
|
289
|
-
|
|
290
|
-
|
|
295
|
+
```bash
|
|
296
|
+
# Start the development server
|
|
297
|
+
docker-compose up
|
|
291
298
|
|
|
292
|
-
#
|
|
293
|
-
./install.sh ../my-new-site
|
|
299
|
+
# Your site will be available at http://localhost:4000
|
|
294
300
|
```
|
|
295
301
|
|
|
296
|
-
|
|
302
|
+
## 🚢 Deployment Options
|
|
297
303
|
|
|
298
|
-
|
|
304
|
+
### GitHub Pages (Automatic)
|
|
299
305
|
|
|
300
|
-
|
|
301
|
-
|
|
306
|
+
1. Push your repository to GitHub
|
|
307
|
+
2. Go to repository Settings → Pages
|
|
308
|
+
3. Select source branch (usually `main`)
|
|
309
|
+
4. Your site will be automatically built and deployed
|
|
302
310
|
|
|
303
|
-
|
|
304
|
-
docker-compose up
|
|
311
|
+
### Manual Deployment
|
|
305
312
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
313
|
+
```bash
|
|
314
|
+
# Build production site
|
|
315
|
+
docker-compose run --rm jekyll jekyll build --config "_config.yml"
|
|
309
316
|
|
|
310
|
-
#
|
|
317
|
+
# Deploy the _site directory to your hosting provider
|
|
311
318
|
```
|
|
312
319
|
|
|
313
|
-
|
|
320
|
+
## 📦 Installation Script Features
|
|
314
321
|
|
|
315
|
-
|
|
322
|
+
The automated installation script provides:
|
|
316
323
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
324
|
+
- **Smart Detection** - Identifies existing Jekyll sites vs. new setups
|
|
325
|
+
- **Dependency Resolution** - Installs required gems and configurations
|
|
326
|
+
- **Error Recovery** - Fixes common issues automatically
|
|
327
|
+
- **Docker Setup** - Creates optimized Docker Compose environment
|
|
328
|
+
- **GitHub Pages Prep** - Configures for seamless GitHub Pages deployment
|
|
321
329
|
|
|
322
|
-
|
|
330
|
+
## 🔧 Prerequisites
|
|
323
331
|
|
|
324
|
-
|
|
332
|
+
### Required Software
|
|
325
333
|
|
|
326
|
-
|
|
334
|
+
- **Docker** - For containerized development
|
|
335
|
+
- **Git** - For version control
|
|
336
|
+
- **Text Editor** - VS Code recommended
|
|
327
337
|
|
|
328
|
-
|
|
329
|
-
{% include zer0-env-var.html %}
|
|
330
|
-
{% endif %}
|
|
338
|
+
### Installation Commands
|
|
331
339
|
|
|
332
|
-
|
|
340
|
+
```bash
|
|
341
|
+
# Install Docker (macOS with Homebrew)
|
|
342
|
+
brew install --cask docker
|
|
333
343
|
|
|
334
|
-
|
|
335
|
-
|
|
344
|
+
# Install Git (if not already installed)
|
|
345
|
+
brew install git
|
|
336
346
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
export ZREPO=$GITHOME/$GIT_REPO
|
|
347
|
+
# Verify installations
|
|
348
|
+
docker --version
|
|
349
|
+
git --version
|
|
341
350
|
```
|
|
342
351
|
|
|
343
|
-
|
|
352
|
+
## 🎨 Customization
|
|
353
|
+
|
|
354
|
+
### Theme Structure
|
|
355
|
+
|
|
356
|
+
```text
|
|
357
|
+
your-site/
|
|
358
|
+
├── _config.yml # Main configuration
|
|
359
|
+
├── _config_dev.yml # Development overrides
|
|
360
|
+
├── docker-compose.yml # Docker environment
|
|
361
|
+
├── Gemfile # Ruby dependencies
|
|
362
|
+
├── index.md # Homepage
|
|
363
|
+
├── _data/ # Site data files
|
|
364
|
+
├── _posts/ # Blog posts
|
|
365
|
+
├── _pages/ # Additional pages
|
|
366
|
+
└── assets/ # Images, CSS, JS
|
|
367
|
+
```
|
|
344
368
|
|
|
345
|
-
|
|
346
|
-
#open Code to edit your shell profile and copy the environment variables
|
|
369
|
+
### Custom Styling
|
|
347
370
|
|
|
348
|
-
|
|
349
|
-
```
|
|
371
|
+
Create `assets/css/custom.css`:
|
|
350
372
|
|
|
351
|
-
```
|
|
352
|
-
|
|
373
|
+
```css
|
|
374
|
+
/* Your custom styles here */
|
|
375
|
+
:root {
|
|
376
|
+
--primary-color: #your-color;
|
|
377
|
+
--secondary-color: #your-secondary;
|
|
378
|
+
}
|
|
353
379
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
380
|
+
/* Override theme styles */
|
|
381
|
+
.navbar-brand {
|
|
382
|
+
color: var(--primary-color) !important;
|
|
383
|
+
}
|
|
358
384
|
```
|
|
359
385
|
|
|
360
|
-
###
|
|
386
|
+
### Navigation Setup
|
|
361
387
|
|
|
362
|
-
|
|
363
|
-
# Set your Git email and name to tag your commits
|
|
388
|
+
Edit `_data/navigation.yml`:
|
|
364
389
|
|
|
365
|
-
|
|
366
|
-
|
|
390
|
+
```yaml
|
|
391
|
+
main:
|
|
392
|
+
- title: "Home"
|
|
393
|
+
url: /
|
|
394
|
+
- title: "About"
|
|
395
|
+
url: /about/
|
|
396
|
+
- title: "Blog"
|
|
397
|
+
url: /blog/
|
|
398
|
+
- title: "Contact"
|
|
399
|
+
url: /contact/
|
|
367
400
|
```
|
|
368
401
|
|
|
369
|
-
|
|
402
|
+
## 🧪 Testing & Validation
|
|
370
403
|
|
|
371
|
-
|
|
404
|
+
### Quick Health Check
|
|
372
405
|
|
|
373
|
-
|
|
374
|
-
# If you didnt already set it in the previous step
|
|
375
|
-
# FIXME: quotes in comments dont work
|
|
406
|
+
After installation, verify everything is working:
|
|
376
407
|
|
|
377
|
-
|
|
378
|
-
|
|
408
|
+
```bash
|
|
409
|
+
# 1. Check installation files
|
|
410
|
+
ls -la _config.yml docker-compose.yml INSTALLATION.md
|
|
411
|
+
|
|
412
|
+
# 2. Validate configuration
|
|
413
|
+
docker-compose config # Should show no errors
|
|
414
|
+
ruby -e "require 'yaml'; YAML.load_file('_config.yml')" # Should load without errors
|
|
415
|
+
|
|
416
|
+
# 3. Test Docker environment
|
|
417
|
+
docker-compose up -d # Start in background
|
|
418
|
+
sleep 30 # Wait for Jekyll to start
|
|
419
|
+
curl -I http://localhost:4000 # Should return HTTP 200 OK
|
|
420
|
+
docker-compose down # Stop services
|
|
379
421
|
```
|
|
380
422
|
|
|
381
|
-
|
|
382
|
-
# Set your email using ID
|
|
423
|
+
### 🔬 Comprehensive Test Suite
|
|
383
424
|
|
|
384
|
-
|
|
425
|
+
Our testing framework validates the entire installation and deployment process:
|
|
426
|
+
|
|
427
|
+
#### Quick Validation (30 seconds)
|
|
428
|
+
```bash
|
|
429
|
+
# Fast validation without Docker
|
|
430
|
+
./test/validate_installation.sh
|
|
385
431
|
```
|
|
386
432
|
|
|
387
|
-
|
|
388
|
-
|
|
433
|
+
#### Docker Deployment Test (2-3 minutes)
|
|
434
|
+
```bash
|
|
435
|
+
# Test Docker-specific functionality
|
|
436
|
+
./test/test_docker_deployment.sh --verbose
|
|
389
437
|
|
|
390
|
-
|
|
438
|
+
# Keep test site for inspection
|
|
439
|
+
./test/test_docker_deployment.sh --no-cleanup
|
|
391
440
|
```
|
|
392
441
|
|
|
393
|
-
|
|
442
|
+
#### Complete Installation Test (3-5 minutes)
|
|
443
|
+
```bash
|
|
444
|
+
# Test all installation methods
|
|
445
|
+
./test/test_installation_complete.sh
|
|
394
446
|
|
|
395
|
-
|
|
447
|
+
# Skip remote tests for faster execution
|
|
448
|
+
./test/test_installation_complete.sh --skip-remote --verbose
|
|
449
|
+
```
|
|
396
450
|
|
|
397
|
-
|
|
398
|
-
|
|
451
|
+
#### End-to-End Deployment Test (5-10 minutes)
|
|
452
|
+
```bash
|
|
453
|
+
# Full deployment workflow validation
|
|
454
|
+
./test/test_deployment_complete.sh
|
|
399
455
|
|
|
400
|
-
|
|
456
|
+
# Skip Docker if unavailable
|
|
457
|
+
./test/test_deployment_complete.sh --skip-docker
|
|
401
458
|
```
|
|
402
459
|
|
|
403
|
-
|
|
404
|
-
# Initialize your github repository
|
|
460
|
+
### 🎯 Test Results Interpretation
|
|
405
461
|
|
|
406
|
-
|
|
407
|
-
|
|
462
|
+
**✅ Success Indicators:**
|
|
463
|
+
- HTTP 200 OK response from `http://localhost:4000`
|
|
464
|
+
- Jekyll logs show "Server running... press ctrl-c to stop"
|
|
465
|
+
- Site content includes zer0-mistakes theme elements
|
|
466
|
+
- Live reload header present (`X-Rack-Livereload: 1`)
|
|
467
|
+
- Build time under 5 seconds
|
|
408
468
|
|
|
409
|
-
|
|
410
|
-
|
|
469
|
+
**⚠️ Common Issues:**
|
|
470
|
+
- **Port conflicts:** Use `docker-compose run -p 4001:4000 jekyll`
|
|
471
|
+
- **Volume mounting:** Use home directory instead of `/tmp`
|
|
472
|
+
- **Bundle install slow:** Normal for first run (60-90 seconds)
|
|
473
|
+
- **Repository errors:** Check `PAGES_REPO_NWO` environment variable
|
|
411
474
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
475
|
+
**❌ Failure Indicators:**
|
|
476
|
+
- Gemfile contains `gemspec` (should be site-configured)
|
|
477
|
+
- Docker container exits immediately
|
|
478
|
+
- `_config.yml` syntax errors
|
|
479
|
+
- Missing theme files or directories
|
|
480
|
+
|
|
481
|
+
### 🎉 Validated Test Results
|
|
482
|
+
|
|
483
|
+
**Latest Test Results (September 21, 2025):**
|
|
484
|
+
```
|
|
485
|
+
✅ Docker Deployment Test: 5/5 tests PASSED (100% success rate)
|
|
486
|
+
✅ Installation Process: All files and directories created correctly
|
|
487
|
+
✅ Gemfile Configuration: Properly configured for Jekyll sites
|
|
488
|
+
✅ Docker Volume Mounting: Working correctly in home directory
|
|
489
|
+
✅ Environment Variables: PAGES_REPO_NWO properly configured
|
|
490
|
+
✅ Jekyll Build & Serve: Site accessible at http://localhost:4000
|
|
491
|
+
✅ Performance: Bundle install ~60s, Jekyll build ~2.3s
|
|
421
492
|
```
|
|
422
493
|
|
|
423
|
-
|
|
494
|
+
**Test Environment:**
|
|
495
|
+
- **OS:** macOS (Apple Silicon)
|
|
496
|
+
- **Docker:** Available and functional
|
|
497
|
+
- **Ruby:** 2.6.10 (system)
|
|
498
|
+
- **Jekyll:** 3.9.5 (via GitHub Pages gem)
|
|
499
|
+
- **Build Time:** 2.315 seconds
|
|
500
|
+
- **Bundle Install:** 98 gems installed successfully
|
|
424
501
|
|
|
425
|
-
|
|
502
|
+
The theme installation and deployment process has been **thoroughly tested and validated** across multiple scenarios.
|
|
426
503
|
|
|
427
|
-
|
|
428
|
-
# Open your new github repository in the browser
|
|
504
|
+
## 🛠️ Troubleshooting
|
|
429
505
|
|
|
430
|
-
|
|
506
|
+
### Quick Fixes
|
|
431
507
|
|
|
508
|
+
**🐳 Docker Issues:**
|
|
509
|
+
```bash
|
|
510
|
+
# Restart Docker Desktop
|
|
511
|
+
# Then rebuild containers
|
|
512
|
+
docker-compose down && docker-compose up --build
|
|
432
513
|
```
|
|
433
514
|
|
|
434
|
-
|
|
515
|
+
**⚡ Port Conflicts:**
|
|
516
|
+
```bash
|
|
517
|
+
# Use different port
|
|
518
|
+
docker-compose run -p 4001:4000 jekyll
|
|
519
|
+
```
|
|
435
520
|
|
|
436
|
-
|
|
521
|
+
**🍎 Apple Silicon Issues:**
|
|
522
|
+
```bash
|
|
523
|
+
# Force platform if needed
|
|
524
|
+
docker-compose up --build
|
|
525
|
+
# The linux/amd64 platform is already configured
|
|
526
|
+
```
|
|
437
527
|
|
|
438
|
-
|
|
528
|
+
### Common Issues
|
|
439
529
|
|
|
440
|
-
|
|
530
|
+
#### Docker Container Won't Start
|
|
441
531
|
|
|
442
|
-
```
|
|
443
|
-
#
|
|
444
|
-
|
|
445
|
-
touch Gemfile
|
|
532
|
+
```bash
|
|
533
|
+
# Check Docker is running
|
|
534
|
+
docker ps
|
|
446
535
|
|
|
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
|
|
536
|
+
# Rebuild container
|
|
537
|
+
docker-compose down
|
|
538
|
+
docker-compose up --build
|
|
458
539
|
```
|
|
459
540
|
|
|
460
|
-
|
|
541
|
+
#### Theme Not Loading
|
|
542
|
+
|
|
543
|
+
```bash
|
|
544
|
+
# Verify remote_theme setting in _config.yml
|
|
545
|
+
remote_theme: "bamr87/zer0-mistakes"
|
|
461
546
|
|
|
462
|
-
|
|
463
|
-
|
|
547
|
+
# Check Gemfile includes jekyll-remote-theme
|
|
548
|
+
gem "jekyll-remote-theme"
|
|
464
549
|
```
|
|
465
550
|
|
|
466
|
-
|
|
467
|
-
theme: jekyll-theme-zer0
|
|
551
|
+
#### Port Already in Use
|
|
468
552
|
|
|
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
|
-
```
|
|
553
|
+
```bash
|
|
554
|
+
# Find process using port 4000
|
|
555
|
+
lsof -i :4000
|
|
480
556
|
|
|
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
|
|
557
|
+
# Or use different port
|
|
558
|
+
docker-compose run -p 4001:4000 jekyll
|
|
503
559
|
```
|
|
504
560
|
|
|
505
|
-
|
|
506
|
-
# build the docker image based on the Dockerfile
|
|
507
|
-
docker build -t ${GIT_REPO} .
|
|
508
|
-
```
|
|
561
|
+
#### GitHub Pages Build Fails
|
|
509
562
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
563
|
+
- Ensure `jekyll-remote-theme` plugin is in `_config.yml`
|
|
564
|
+
- Check that all plugins are GitHub Pages compatible
|
|
565
|
+
- Verify `_config.yml` syntax is valid YAML
|
|
513
566
|
|
|
514
|
-
|
|
515
|
-
docker start zer0_container
|
|
567
|
+
### Development Tips
|
|
516
568
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
569
|
+
```bash
|
|
570
|
+
# View container logs
|
|
571
|
+
docker-compose logs -f jekyll
|
|
520
572
|
|
|
521
|
-
|
|
573
|
+
# Clean Jekyll cache
|
|
574
|
+
docker-compose run --rm jekyll jekyll clean
|
|
522
575
|
|
|
523
|
-
|
|
524
|
-
|
|
576
|
+
# Bundle install in container
|
|
577
|
+
docker-compose run --rm jekyll bundle install
|
|
578
|
+
|
|
579
|
+
# Access container shell
|
|
580
|
+
docker-compose exec jekyll bash
|
|
525
581
|
```
|
|
526
582
|
|
|
527
|
-
|
|
583
|
+
## 🤝 Contributing
|
|
528
584
|
|
|
529
|
-
|
|
530
|
-
code _config.yml
|
|
531
|
-
```
|
|
585
|
+
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
|
|
532
586
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
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
|
-
```
|
|
587
|
+
### Development Setup
|
|
588
|
+
|
|
589
|
+
```bash
|
|
590
|
+
# Fork and clone the repository
|
|
591
|
+
git clone https://github.com/YOUR-USERNAME/zer0-mistakes.git
|
|
592
|
+
cd zer0-mistakes
|
|
545
593
|
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
with open(md_file_path, 'r') as md_file:
|
|
556
|
-
for line in md_file:
|
|
557
|
-
if line.startswith('```'):
|
|
558
|
-
if language_mode:
|
|
559
|
-
# End of a language block, switch back to markdown mode
|
|
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')
|
|
594
|
+
# Create feature branch
|
|
595
|
+
git checkout -b feature/amazing-feature
|
|
596
|
+
|
|
597
|
+
# Make changes and test
|
|
598
|
+
docker-compose up
|
|
599
|
+
|
|
600
|
+
# Commit and push
|
|
601
|
+
git commit -m "Add amazing feature"
|
|
602
|
+
git push origin feature/amazing-feature
|
|
581
603
|
```
|
|
582
604
|
|
|
583
|
-
##
|
|
605
|
+
## 📄 License
|
|
584
606
|
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
607
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
608
|
+
|
|
609
|
+
## 🙏 Acknowledgments
|
|
610
|
+
|
|
611
|
+
- Built with [Jekyll](https://jekyllrb.com/) static site generator
|
|
612
|
+
- Styled with [Bootstrap 5](https://getbootstrap.com/) framework
|
|
613
|
+
- Containerized with [Docker](https://docker.com/) for consistent development
|
|
614
|
+
- Inspired by IT-Journey principles of reliable, self-healing software
|
|
615
|
+
|
|
616
|
+
## 📞 Support
|
|
617
|
+
|
|
618
|
+
- **Documentation**: [Theme Documentation](https://bamr87.github.io/zer0-mistakes/)
|
|
619
|
+
- **Issues**: [GitHub Issues](https://github.com/bamr87/zer0-mistakes/issues)
|
|
620
|
+
- **Discussions**: [GitHub Discussions](https://github.com/bamr87/zer0-mistakes/discussions)
|
|
621
|
+
- **Email**: [support@zer0-mistakes.com](mailto:support@zer0-mistakes.com)
|
|
622
|
+
|
|
623
|
+
---
|
|
624
|
+
|
|
625
|
+
Built with ❤️ for the Jekyll community
|