Edit on GitHub

Differences from Jekyll

Jigyll-only — not in Ruby Jekyll

This page has no Ruby Jekyll counterpart — it aggregates every known divergence from the compatibility metadata that powers these callouts.

Jigyll targets Jekyll compatibility, but it is a separate implementation and some behavior differs. The sections below are generated from the same compatibility metadata (_data/compat.yml) that powers the callout at the top of each affected page and the badges in the sidebar — one source of truth, three surfaces.

Replaced

These topics work fundamentally differently in Jigyll.

  • Installation — Jigyll ships as a single Go binary — install via Homebrew, Scoop, Docker, or the install script, not RubyGems/Bundler. There is no Ruby toolchain to set up.
  • Usage — No new, doctor, or import commands, but extra ones Jekyll lacks: plugins, render, routes, variables, and benchmark. serve renders in memory (nothing is written to disk) and live reload is always on.
  • Plugins — There is no extensible plugin system — plugins are Go code compiled into the binary. A fixed set of popular plugins is emulated; list them in _config.yml under plugins:, not a Gemfile.
  • Upgrading — Upgrades come through your package manager (Homebrew, Scoop, Docker, the install script, or go install) — there is no Bundler or gem update.

Modified

Mostly the same as Jekyll, with specific differences.

  • Overview — Jigyll is a partially-compatible clone of Jekyll written in Go. Most Jekyll concepts carry over, but not every feature is implemented — pages that differ are flagged like this one.
  • Configuration — A wrong YAML type for a supported key is a build error. markdown:, kramdown:, liquid:, and most sass: options are ignored — those behaviors are fixed. Front-matter defaults match by path prefix, not glob. Caches live in /tmp/jigyll-$USER, not ./.sass-cache.
  • Rendering Process — Markdown is rendered by goldmark, not kramdown: raw </> is treated as HTML, header IDs are generated differently, there are no smart quotes, and kramdown's TOC, math, and ALDs are not supported. Sass files skip Liquid entirely.
  • Posts — Categories and tags come only from front matter — the singular category:/tag: keys and directory-based categories are ignored. Drafts need a date-prefixed filename, --future keys off the filename date, and excerpt_separator is global-only.
  • Front Matter — Malformed YAML always fails the build (strict_front_matter is ignored), and files without front matter are copied as static files unless the jekyll-optional-front-matter plugin is on. Defaults scopes match by path prefix, and type: pages never matches.
  • Collectionscollections_dir and custom sorting (sort_by, order) are not supported — collection folders live at the source root, and only posts is sorted (by date). Everything else works like Jekyll.
  • Data Files — Reads .yml/.yaml/.json/.csv files in _data, including namespaced subfolders — but no TSV. CSV parses into rows of strings, not header-keyed maps.
  • Assets — Sass is always on but Liquid is not processed inside Sass files, output is always minified, and only the sass_dir option is honored. CoffeeScript is not supported.
  • Static Files — Front-matter defaults never apply to static files — only the five built-in metadata fields are available, so filter on path instead of custom flags.
  • Directory Structure — No .jekyll-cache, .sass-cache, or .jekyll-metadata — the build cache lives in jigyll-$USER under the system temp dir, and jigyll serve renders in memory without writing _site.
  • Liquid — Undefined filters and tags are build errors; undefined variables render as empty. sassify, find, and find_exp are missing. Jigyll adds Shopify-style money filters (money, money_with_currency, …) that Jekyll doesn't have.
  • Variablesjekyll.version reports the Jigyll version, page.dir and the theme.* variables don't exist, page.next/previous are posts-only, and site.related_posts is simply the ten most recent posts.
  • Permalinks — The global permalink: style applies to posts only, unknown placeholders are build errors, and several date placeholders (:i_month, :week, weekday names) plus the weekdate style are missing. Custom front-matter keys work as placeholders.
  • Themes — Themes are resolved from a local _theme/<name> folder, or via Bundler (bundle show) as a fallback — remote_theme is not supported, and theme _data, theme config, and theme.* variables are ignored.

Not supported

Jekyll has these; Jigyll doesn't.

  • Pagination — Pagination is not implemented. paginate and paginate_path are ignored; the jekyll-paginate plugin name is recognized but only exposes a stub paginator so themes don't crash.

Jigyll-only

Jigyll additions with no Jekyll counterpart.

  • Differences from Jekyll — This page has no Ruby Jekyll counterpart — it aggregates every known divergence from the compatibility metadata that powers these callouts.