Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Jekyll Processor

Purpose

Builds Jekyll static sites by planning the site outputs via Jekyll’s own read/generate phase and running jekyll build into a staging directory.

How It Works

Discovers _config.yml files in the project (excluding common build tool directories). During discovery, runs an embedded Ruby planner that loads Jekyll::Site, runs reset, read, and generate (without rendering), and emits the planned destination paths. Each planned file becomes a cached product under output_dir (_site by default, relative to _config.yml). When any product is dirty, runs jekyll build --disable-disk-cache -d <staging> once and verifies the staged outputs against the plan via install_staged.

Source Files

  • Input: **/_config.yml (plus sibling site files)
  • Output: Planned site files under _site/ (or configured output_dir)

Configuration

[processor.mass_generator.jekyll]
command = "jekyll"
ruby = "ruby"
output_dir = "_site"
loose_manifest = false
args = []
dep_inputs = []
KeyTypeDefaultDescription
commandstring"jekyll"Path to the jekyll executable
rubystring"ruby"Ruby interpreter for the discovery-time planner (must have the jekyll gem)
output_dirstring"_site"Output directory for generated site files, relative to _config.yml
loose_manifestboolfalseWarn instead of failing when jekyll build writes files not in the plan
argsstring[][]Extra arguments passed to jekyll build
dep_inputsstring[][]Extra files whose changes trigger rebuilds

Batch support

Runs once per _config.yml site when any of its planned output files is dirty.

Clean behavior

This processor is a Mass Generator — rsconstruct clean outputs removes each planned output file (product.outputs) and sweeps any parent directories that are now empty. Pass --no-empty-dirs to keep them. See Clean behavior and rsconstruct clean.