← All reportsPublic report

jekyll/jekyll

:globe_with_meridians: Jekyll is a blog-aware static site generator in Ruby

52k stars Ruby View on GitHubprofiled 14d ago
Try GitZoid
1PRs this week
1Contributors
0Deps scanned
0Issues found
01 · Repo overview

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

RubySCSSHTMLERB

Frameworks

LiquidkramdownRougeWEBrick (serve servlet)MinitestRSpecCucumber

Infrastructure

Earthfile (Earthly).devcontainer Dockerfile/devcontainer.jsonCodeClimate (.codeclimate.yml)JRuby support (.jrubyrc)RubyGems gem packaging (jekyll.gemspec)

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.

02 · Weekly changes

A quiet week with one important fix making the site cleanup process safer for configured exceptions.

1 weeksWeek of 2026-08-03

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.

03 · Security check

Dependencies and code review

0 dependencies scanned

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