Skip to main content

Jekyll

By Amr

Jekyll basics and Zer0-Mistakes development workflow (Docker-first).

Estimated reading time: 2 minutes

Jekyll

Jekyll is the static site generator that powers Zer0-Mistakes. This section covers everything you need to work with Jekyll effectively.

Quick Start

Prerequisites

  • Complete the Installation Guide
  • Have Docker Desktop running (or Ruby + Bundler installed)

Run Locally

# With Docker (recommended)
docker-compose up

# Without Docker
bundle exec jekyll serve --config "_config.yml,_config_dev.yml"

Your site will be available at http://localhost:4000.

Key Concepts

Directory Structure

Directory Purpose
_layouts/ Page templates (HTML with Liquid)
_includes/ Reusable components
_data/ Site data files (YAML, JSON)
_sass/ Stylesheet partials
pages/ Content collections
assets/ Static files (CSS, JS, images)

Configuration Files

File Purpose
_config.yml Production configuration
_config_dev.yml Development overrides
Gemfile Ruby dependencies

Content Collections

Zer0-Mistakes organizes content in collections under pages/:

  • _posts/ - Blog posts
  • _docs/ - Documentation
  • _quests/ - Tutorials and learning paths
  • _about/ - About pages

Essential Commands

# Build the site
docker-compose exec jekyll jekyll build

# Build with verbose output
docker-compose exec jekyll jekyll build --verbose

# Check for configuration issues
docker-compose exec jekyll jekyll doctor

# Clean build artifacts
docker-compose exec jekyll jekyll clean

Documentation Topics

Configuration & Setup

Templating & Content

Deployment

Resources