The project is in a healthy, maintained state
Bootstrap Jekyll theme for headless Github Pages CMS with Docker-first development approach
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 3.0
~> 2.3
~> 13.0

Runtime

>= 0
 Project Readme
title sub-title description version layout tags categories created lastmod draft permalink slug keywords date snippet comments mermaid preview hero_image excerpt
zer0-mistakes
Jekyll Theme
GitHub Pages compatible Jekyll theme with Bootstrap 5.3, featuring automated installation and comprehensive documentation.
0.19.1
landing
jekyll
docker
remote-theme
github-pages
jekyll-theme
docker
bootstrap
2024-02-10 23:51:11 UTC
2026-01-25 00:00:00 UTC
false
/
zer0
jekyll
docker
remote-theme
github-pages
2026-01-25 12:00:00 UTC
GitHub Pages compatible Jekyll theme with Bootstrap 5
true
true
/assets/images/wizard-on-journey.png
/assets/images/wizard-on-journey.png
Professional Jekyll theme for GitHub Pages with Bootstrap 5.3, automated installation, and 43 documented features

pages-build-deployment Gem Version CI License: MIT Docker Bootstrap

🚀 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
Loading

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!
Loading

🏗 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
Loading

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
Loading
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
Loading

🐳 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 --> [*]
Loading

📊 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 / or Cmd/Ctrl+K to 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-theme attribute

📋 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
Loading

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"
Loading

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!
Loading
  1. Push to main branch
  2. GitHub Actions builds automatically
  3. 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
Loading

Quick Links

Resource Description
[📋 Technical Docs]({{ site.resources.github_repo default: ''
[📖 User Guides]({{ '/docs/' relative_url }})
[🎨 Customization]({{ '/docs/customization/' relative_url }})
[📊 Analytics]({{ '/docs/analytics/' relative_url }})
[🔍 SEO]({{ '/docs/seo/' relative_url }})
[📓 Jupyter Notebooks]({{ site.resources.github_repo default: ''
📝 PRD Product requirements & roadmap
[🔒 Privacy Policy]({{ '/privacy-policy/' relative_url }})

🔧 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
Loading

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
Loading
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
Loading

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:


Built with ❤️ for the Jekyll community

v0.19.1ChangelogLicenseContributing