jekyll/jekyll
:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby
How jekyll is put together
Jekyll is a Ruby static-site generator that transforms a source directory of Markdown/Liquid files into a static website. The core pipeline is: read configuration (YAML/TOML) and site content (pages, posts, collections, data, layouts) via reader classes; convert documents through converters (Markdown/kramdown, Smartypants, identity); render through Liquid templates via Renderer and Drops; then write output files to the destination directory, managed by Regenerator for incremental builds and Cleaner for stale-file removal. The CLI entry point is exe/jekyll dispatching to commands (build, serve, new, new-theme, doctor, clean). The dev tooling uses Bundler, Rake, RuboCop (with custom cops), Minitest/RSpec, and Cucumber acceptance features.
Languages
Frameworks
Infrastructure
Major components
Site & Build Orchestration (lib/jekyll/site.rb, commands/build.rb)
Coordinates the full build cycle: reset, read, generate, render, cleanup, write.
Readers (lib/jekyll/readers/*)
Load pages, posts, collections, data files, layouts, static files, and theme assets from disk.
Converters (lib/jekyll/converters/*)
Transform raw content between formats, primarily Markdown via kramdown and smart quotes via Smartypants.
Renderer, Filters & Liquid Tags (lib/jekyll/renderer.rb, filters/, tags/)
Render documents through Liquid layouts with custom filters and tags (highlight, include, link, post_url).
Drops (lib/jekyll/drops/*)
Expose site/document/collection data to Liquid templates through controlled, immutable view objects.
Commands & CLI (exe/jekyll, lib/jekyll/commands/*)
Provide the jekyll executable subcommands including build, serve (with LiveReload WebSocket server), new, new-theme, doctor, and clean.
Configuration (lib/jekyll/configuration.rb)
Merge defaults with _config.yml/TOML overrides, validate plugin/include/exclude settings, and apply default excludes/collections.
Plugin System (lib/jekyll/plugin_manager.rb, hooks.rb, external.rb)
Load third-party generator/converter/filter plugins and fire lifecycle hooks, honoring safe-mode whitelisting.
A quiet week with one important fix making the site cleanup process safer for configured exceptions.
This week saw a single but meaningful maintenance fix to Jekyll's site-cleaning behavior. The clean command now respects the keep_files option, ensuring files users have explicitly marked to preserve are no longer wiped during builds.
Fix
Clean command now respects keep_files
Running Jekyll's clean command previously could delete files you asked it to keep; it now honors the keep_files setting so preserved files stay intact.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required