zer0-mistakes
GitHub Pages compatible Jekyll theme with Bootstrap 5.3, featuring automated installation and comprehensive documentation.
π zer0-mistakes
GitHub Pages & Bootstrap 5 Ready
GitHub Pages compatible β’ Bootstrap 5.3 β’ Privacy-compliant β’ Zero-configuration
Quick Start β’ Features β’ Documentation β’ Contributing
π Table of Contents
- Overview
- Quick Start
- Architecture
- Key Features
- Installation Methods
- Project Structure
- Development Workflow
- Deployment
- Documentation
- Release System
- Roadmap
- Contributing
- Support
Overview
zer0-mistakes is a professional Jekyll theme engineered to eliminate setup friction and provide a seamless development experience. With Docker containerization, 43 documented features, and comprehensive automation, you can go from zero to deployed in under 5 minutes.
graph LR
subgraph "π― Your Goal"
A[Beautiful Website]
end
subgraph "β‘ zer0-mistakes"
B[One Command] --> C[Auto-Configure]
C --> D[Docker Ready]
D --> E[Live Preview]
end
subgraph "π Result"
F[Production Site]
end
A --> B
E --> F
style A fill:#e1f5fe
style F fill:#c8e6c9
Why zer0-mistakes?
| Challenge | Traditional Jekyll | zer0-mistakes |
|---|---|---|
| Setup Time | 15-30 minutes | 2-5 minutes |
| Success Rate | ~60% | ~95% |
| Platform Support | Limited | Universal |
| Error Handling | Manual debugging | Automated |
| Dependencies | Ruby + Bundler + Jekyll | Docker only |
π Quick Start
Prerequisites
One-Line Installation
mkdir my-site && cd my-site && curl -fsSL https://raw.githubusercontent.com/bamr87/zer0-mistakes/main/install.sh | bash
Start Development
docker-compose up
# π Open http://localhost:4000
sequenceDiagram
participant You
participant Install Script
participant Docker
participant Browser
You->>Install Script: curl ... | bash
Install Script->>Install Script: Detect platform
Install Script->>Install Script: Download theme files
Install Script->>Install Script: Configure Docker
Install Script-->>You: β
Ready!
You->>Docker: docker-compose up
Docker->>Docker: Build Jekyll container
Docker->>Docker: Install dependencies
Docker-->>Browser: Serve on :4000
Browser-->>You: π Live site!
π Architecture
System Overview
flowchart TB
subgraph Input["π Content Layer"]
MD[Markdown Files]
DATA[YAML Data]
ASSETS[Static Assets]
end
subgraph Theme["π¨ Theme Layer"]
LAYOUTS[_layouts/]
INCLUDES[_includes/]
SASS[_sass/]
end
subgraph Build["βοΈ Build Layer"]
JEKYLL[Jekyll Engine]
PLUGINS[Plugins]
LIQUID[Liquid Templates]
end
subgraph Output["π Output Layer"]
HTML[Static HTML]
CSS[Compiled CSS]
JS[JavaScript]
end
subgraph Deploy["π Deploy Layer"]
GHPAGES[GitHub Pages]
DOCKER[Docker Container]
CDN[CDN/Custom Host]
end
MD --> JEKYLL
DATA --> JEKYLL
ASSETS --> JEKYLL
LAYOUTS --> JEKYLL
INCLUDES --> JEKYLL
SASS --> JEKYLL
JEKYLL --> HTML
JEKYLL --> CSS
JEKYLL --> JS
HTML --> GHPAGES
HTML --> DOCKER
HTML --> CDN
Technology Stack
pie title Technology Distribution
"Jekyll (Static Gen)" : 30
"Bootstrap 5.3 (UI)" : 25
"Docker (Dev Env)" : 20
"Liquid (Templates)" : 15
"PostHog (Analytics)" : 10
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Jekyll 3.9.5 | Static site generation |
| Styling | Bootstrap 5.3.3 | Responsive UI components |
| Icons | Bootstrap Icons | Unified iconography |
| Development | Docker | Cross-platform consistency |
| Templates | Liquid | Dynamic content rendering |
| Analytics | PostHog | Privacy-first tracking |
| Diagrams | Mermaid 10+ | Documentation visuals |
| Navigation | ES6 Modules | Modular JavaScript architecture |
| Search | Client-side JSON | Fast in-browser search |
β¨ Key Features
π€ AI-Powered Installation
The ~1,100-line install.sh script provides intelligent platform detection and Docker configuration:
flowchart TD
START([Start Installation]) --> DETECT[Detect Platform]
DETECT --> CHECK{Prerequisites OK?}
CHECK -->|Yes| DOWNLOAD[Download Theme]
CHECK -->|No| GUIDE[Show Requirements]
DOWNLOAD --> CONFIG[Configure Docker]
CONFIG --> VALIDATE{Build Success?}
VALIDATE -->|Yes| DONE([β
Ready!])
VALIDATE -->|No| LOGS[Show Error Logs]
style START fill:#e3f2fd
style DONE fill:#c8e6c9
π³ Docker-First Development
Zero local dependencies required. Works identically across all platforms:
# docker-compose.yml - That's all you need!
services:
jekyll:
image: jekyll/jekyll:latest
platform: linux/amd64
command: jekyll serve --config "_config.yml,_config_dev.yml"
ports: ["4000:4000"]
volumes: ["./:/app"]
π Privacy-First Analytics
GDPR/CCPA compliant PostHog integration with granular consent:
stateDiagram-v2
[*] --> PageLoad
PageLoad --> ConsentCheck
ConsentCheck --> Disabled: DNT Enabled
ConsentCheck --> ShowBanner: No Consent
ConsentCheck --> Tracking: Has Consent
ShowBanner --> Tracking: Accept
ShowBanner --> Disabled: Decline
Tracking --> DataCollection
DataCollection --> Anonymize
Anonymize --> PostHog
Disabled --> [*]
PostHog --> [*]
π Mermaid Diagram Support
10+ diagram types with GitHub Pages compatibility:
| Type | Syntax | Use Case |
|---|---|---|
| Flowchart | graph TD |
Process flows |
| Sequence | sequenceDiagram |
Interactions |
| Class | classDiagram |
OOP structures |
| State | stateDiagram-v2 |
State machines |
| ER | erDiagram |
Database schemas |
| Gantt | gantt |
Timelines |
| Pie | pie |
Distributions |
| Git | gitGraph |
Branch history |
π Jupyter Notebook Support
Seamless integration for data science and computational content:
- Automatic Conversion:
.ipynbβ Markdown with front matter - Output Rendering: Code execution results, plots, tables preserved
- Image Extraction: Matplotlib/PNG outputs β
/assets/images/notebooks/ - GitHub Actions: Automated conversion on push to
pages/_notebooks/ - MathJax Support: LaTeX equations rendered with
$$syntax - Syntax Highlighting: Code cells with Rouge highlighting
- Responsive Layout: Mobile-friendly notebook viewer
# Convert notebooks
./scripts/convert-notebooks.sh
# Add to _config.yml
collections:
notebooks:
output: true
permalink: /notebooks/:name/
π§ Enhanced Navigation System (v0.17.0)
Modern, accessible sidebar navigation with ES6 modular architecture:
- ES6 Navigation Modules: Modular JavaScript with native ES6 imports
- Navbar Hover Dropdowns: Desktop hover support with smooth fade transitions
- Intersection Observer Scroll Spy: 70% reduction in scroll event overhead
- Keyboard Shortcuts:
[and]for section navigation - Swipe Gestures: Mobile-friendly left/right edge detection
- Skip-to-Content: Accessibility-first WCAG 2.1 Level AA compliant
- Mobile TOC FAB: Floating action button for table of contents
- Nav Tree Component: Hierarchical YAML navigation rendering
| Shortcut | Action |
|---|---|
[ |
Previous section |
] |
Next section |
Tab |
Skip to content |
| Swipe | Toggle sidebar (mobile) |
π Site Search (v0.18.0)
Client-side search with modal interface and keyboard shortcuts:
- Keyboard Activation: Press
/orCmd/Ctrl+Kto open search - Real-time Results: Instant search across all content
- JSON Index: Auto-generated search index for fast queries
- Bootstrap Modal: Responsive modal interface
| Shortcut | Action |
|---|---|
/ |
Open search modal |
Cmd/Ctrl+K |
Open search modal |
Escape |
Close search |
π¨ Dark/Light Mode Toggle
Theme color mode switcher with system preference detection:
- Three Modes: Light, dark, and auto (system preference)
- Persistence: LocalStorage saves user preference
- Smooth Transitions: CSS transitions between themes
- Bootstrap Integration: Uses
data-bs-themeattribute
π Legal & Compliance Pages (v0.15.0)
Built-in GDPR/CCPA compliant documentation:
- Privacy Policy: Comprehensive data collection transparency
- Terms of Service: Ready-to-customize legal framework
- Cookie Consent: Granular user preference management
π¦ Installation Methods
Method 1: AI-Powered Install (Recommended)
curl -fsSL https://raw.githubusercontent.com/bamr87/zer0-mistakes/main/install.sh | bash
Method 2: Remote Theme (GitHub Pages)
# _config.yml
remote_theme: "bamr87/zer0-mistakes"
plugins:
- jekyll-remote-theme
Method 3: Fork & Customize
gh repo fork bamr87/zer0-mistakes --clone
cd zer0-mistakes
docker-compose up
Method 4: Ruby Gem
# Gemfile
gem "jekyll-theme-zer0", "~> 0.19"
π Project Structure
graph TD
ROOT[zer0-mistakes/] --> CONFIG[Configuration]
ROOT --> THEME[Theme Components]
ROOT --> CONTENT[Content]
ROOT --> AUTOMATION[Automation]
CONFIG --> CFG1[_config.yml]
CONFIG --> CFG2[_config_dev.yml]
CONFIG --> CFG3[docker-compose.yml]
THEME --> LAYOUTS[_layouts/]
THEME --> INCLUDES[_includes/]
THEME --> SASS[_sass/]
THEME --> ASSETS[assets/]
CONTENT --> PAGES[pages/]
CONTENT --> DATA[_data/]
CONTENT --> DOCS[docs/]
AUTOMATION --> SCRIPTS[scripts/]
AUTOMATION --> TESTS[test/]
AUTOMATION --> WORKFLOWS[.github/workflows/]
style ROOT fill:#e8f5e9
style CONFIG fill:#e3f2fd
style THEME fill:#fff3e0
style CONTENT fill:#fce4ec
style AUTOMATION fill:#f3e5f5
Key Directories
| Directory | Purpose | Key Files |
|---|---|---|
_layouts/ |
Page templates | default.html, journals.html, landing.html, notebook.html |
_includes/ |
Reusable components | core/, components/, analytics/, navigation/ |
_sass/ |
Stylesheets | custom.scss, notebooks.scss, core/ |
assets/ |
Static files | css/, js/sidebar.js, images/ |
scripts/ |
Automation | release, build, convert-notebooks.sh |
docs/ |
Technical docs | SIDEBAR_IMPROVEMENTS.md, JUPYTER_NOTEBOOKS.md |
pages/ |
Content pages | privacy-policy.md, terms-of-service.md |
π Development Workflow
gitGraph
commit id: "Clone/Install"
branch feature
checkout feature
commit id: "Make Changes"
commit id: "Test Locally"
checkout main
merge feature id: "PR Merged"
commit id: "Auto Version" type: HIGHLIGHT
commit id: "Gem Published"
commit id: "GitHub Release"
Daily Development
# Start development server
docker-compose up
# Make changes (auto-reload enabled)
# Edit files in _layouts/, _includes/, pages/
# Run tests
./test/test_runner.sh
# Commit changes
git commit -m "feat: add new component"
Testing Commands
# Quick validation
./test/validate_installation.sh
# Full test suite
./test/test_runner.sh --verbose
# Docker-specific tests
./test/test_docker_deployment.sh
π Deployment
GitHub Pages (Automatic)
sequenceDiagram
participant Dev as Developer
participant GH as GitHub
participant Actions as GitHub Actions
participant Pages as GitHub Pages
Dev->>GH: git push main
GH->>Actions: Trigger workflow
Actions->>Actions: jekyll build
Actions->>Pages: Deploy _site/
Pages-->>Dev: π Site live!
- Push to
mainbranch - GitHub Actions builds automatically
- Site deploys to GitHub Pages
Docker Production
docker-compose -f docker-compose.prod.yml up -d
Custom Hosting
# Build static site
docker-compose run --rm jekyll jekyll build
# Deploy _site/ to any static host
π Documentation
Documentation Architecture
graph LR
subgraph Technical["π /docs/"]
SYS[systems/]
FEAT[features/]
REL[releases/]
end
subgraph Public["π /pages/_docs/"]
GUIDES[User Guides]
TUTORIALS[Tutorials]
REF[Reference]
end
subgraph AI["π€ .github/"]
COPILOT[copilot-instructions.md]
SEED[seed/]
INSTR[instructions/]
end
Technical -->|Process| Public
AI -->|Guides| Technical
style Technical fill:#e3f2fd
style Public fill:#e8f5e9
style AI fill:#fff3e0
Quick Links
| Resource | Description |
|---|---|
| π Technical Docs | Architecture, systems, implementation |
| π User Guides | Published tutorials and references |
| π¨ Customization | Layouts, styles, navigation guides |
| π Analytics | PostHog, Google Analytics setup |
| π SEO | Meta tags, sitemap, structured data |
| π Jupyter Notebooks | Notebook conversion documentation |
| π PRD | Product requirements & roadmap |
| π Privacy Policy | GDPR/CCPA compliant privacy docs |
π§ Release System
Automated Release Pipeline
flowchart LR
subgraph Trigger["π― Trigger"]
COMMIT[Commit to main]
end
subgraph Analyze["π Analyze"]
PARSE[Parse Commits]
BUMP[Determine Version]
end
subgraph Build["βοΈ Build"]
CHANGE[Update CHANGELOG]
VERSION[Bump Version]
TEST[Run Tests]
GEM[Build Gem]
end
subgraph Publish["π Publish"]
RUBYGEMS[Push to RubyGems]
GHREL[GitHub Release]
TAG[Git Tag]
end
COMMIT --> PARSE --> BUMP
BUMP --> CHANGE --> VERSION --> TEST --> GEM
GEM --> RUBYGEMS --> GHREL --> TAG
Release Commands
# Preview release
/opt/homebrew/bin/bash scripts/release patch --dry-run
# Full release
/opt/homebrew/bin/bash scripts/release patch # 0.19.1 β 0.19.2
/opt/homebrew/bin/bash scripts/release minor # 0.19.1 β 0.20.0
/opt/homebrew/bin/bash scripts/release major # 0.19.1 β 1.0.0
πΊ Roadmap
gantt
title zer0-mistakes Roadmap
dateFormat YYYY-MM
section Completed
v0.17 ES6 Navigation :done, 2025-12, 2025-12
v0.18 Site Search :done, 2026-01, 2026-01
v0.19 Feature Discovery :done, 2026-01, 2026-01
section Current
v0.19.x Maintenance :active, 2026-01, 2026-02
section Future
v0.20 CMS Integration :2026-02, 2026-04
v0.21 i18n Support :2026-05, 2026-07
v1.0 Production Ready :milestone, 2027-01, 1d
| Version | Target | Features |
|---|---|---|
| v0.19 | Current | 43 documented features, comprehensive documentation |
| v0.20 | Q1 2026 | Headless CMS integration, content API |
| v0.21 | Q2 2026 | Multi-language support (i18n) |
| v1.0 | Q1 2027 | Stable API, 90%+ test coverage |
π€ Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
flowchart LR
FORK[Fork Repo] --> BRANCH[Create Branch]
BRANCH --> CODE[Make Changes]
CODE --> TEST[Run Tests]
TEST --> PR[Open PR]
PR --> REVIEW[Code Review]
REVIEW --> MERGE[Merge! π]
style MERGE fill:#c8e6c9
Quick Contribution
# Fork and clone
gh repo fork bamr87/zer0-mistakes --clone
cd zer0-mistakes
# Create feature branch
git checkout -b feature/awesome-feature
# Make changes and test
docker-compose up
./test/test_runner.sh
# Submit PR
git push origin feature/awesome-feature
π Support
| Channel | Link |
|---|---|
| π Documentation | zer0-mistakes.org |
| π Issues | GitHub Issues |
| π¬ Discussions | GitHub Discussions |
| π§ Email | support@zer0-mistakes.com |
π Project Stats
| Metric | Value |
|---|---|
| Current Version | 0.19.1 |
| Documented Features | 43 |
| Setup Time | 2-5 minutes |
| Documentation Pages | 70+ |
| RubyGems Downloads | 3,000+ |
| Lighthouse Score | 95+ |
π Acknowledgments
Built with these amazing technologies:
- Jekyll - Static site generation
- Bootstrap - UI framework
- Docker - Containerization
- PostHog - Privacy-first analytics
- Mermaid - Diagram rendering
- GitHub Copilot - AI assistance
Built with β€οΈ for the Jekyll community
v0.19.1 β’ Changelog β’ License β’ Contributing
Why Choose zer0-mistakes?
Built for developers who value reliability, simplicity, and modern workflows
Error-Free Development
Built-in error handling and self-healing installation process ensures a smooth development experience.
Docker-First Approach
Cross-platform compatibility with zero local configuration. Works on Apple Silicon, Intel, and Linux.
AI-Powered Setup
Intelligent installation automation that detects and fixes common issues automatically.
Ready to Get Started?
Choose your preferred installation method and be up and running in minutes
Ruby Gem
Install the theme as a Ruby gem for classic Jekyll workflows.
gem install jekyll-theme-zer0
View on RubyGems
Docker Image
Run locally with zero Ruby setup using Docker.
docker pull bamr87/zer0-mistakes
docker run -p 4000:4000 bamr87/zer0-mistakes
View on Docker Hub
Fork Repository
Improve the theme by forking the repo and opening a PR.
git clone https://github.com/bamr87/zer0-mistakes
cd zer0-mistakes
git remote add upstream https://github.com/bamr87/zer0-mistakes
git checkout -b feature/your-change
Fork on GitHub