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.
Ruby Jekyll
Jigyll targets Jekyll compatibility, but it is a separate implementation and some behavior differs. The categories 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.
- 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.ymlunderplugins:, not a Gemfile. - Upgrading — Upgrades come through your package manager (Homebrew, Scoop, Docker, the install script, or
go install) — there is no Bundler orgem update. - Command-Line Usage —
newcreates a blank site directly; its themed form requires a Git URL. There are nodoctororimportcommands. Jigyll addsplugins,render,routes,variables, andbenchmark.serverenders in memory (nothing is written to disk) and live reload is always on.
Modified
Mostly the same as Jekyll, with specific differences.
- Assets — Sass is always on but Liquid is not processed inside Sass files, output is always minified, and only the
sass_diroption is honored. CoffeeScript is not supported. - Collections —
collections_dirand custom sorting (sort_by,order) are not supported — collection folders live at the source root, and onlypostsis sorted (by date). Everything else works like Jekyll. - Configuration — A wrong YAML type for a supported key is a build error.
markdown:,liquid:, and mostsass:andkramdown:options are ignored — only kramdown'stoc_levelsis honored. Front-matter defaults match by path prefix, not glob. Caches live in/tmp/jigyll-$USER, not./.sass-cache. - Data Files — Reads
.yml/.yaml/.json/.csvfiles in_data, including namespaced subfolders — but no TSV. CSV parses into rows of strings, not header-keyed maps. - Front Matter — Malformed YAML always fails the build (
strict_front_matteris ignored), and files without front matter are copied as static files unless thejekyll-optional-front-matterplugin is on. Defaults scopes match by path prefix, not glob. - Documentation — 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.
- Liquid — Undefined filters and tags are build errors; undefined variables render as empty.
findandfind_expare missing. Jigyll adds Shopify-style money filters (money,money_with_currency, …) that Jekyll doesn't have. - Pagination — jekyll-paginate (v1) is implemented:
paginateandpaginate_pathsplit the posts list across copies of theindex.htmlthey point at. Page URLs are directory-normalized (/page2/, not/page2), and jekyll-paginate-v2 features (pagination:block, category/tag pages) are not supported. - Permalinks — Global
permalink: prettyalso applies to implicit ordinary HTML pages; other global styles and custom global patterns apply only to posts. Unknown placeholders are build errors, and several date placeholders (:week, weekday names) plus theweekdatestyle are missing. Custom front-matter keys work as placeholders. - Posts — Categories and tags come only from front matter — the singular
category:/tag:keys and directory-based categories are ignored.--futurekeys off the filename date, andexcerpt_separatoris global-only. - Rendering Process — Markdown is rendered by goldmark, not kramdown: raw
</>is treated as HTML, header IDs are generated differently, and there are no smart quotes. Kramdown's{:toc},$$math (passed through for MathJax/KaTeX), heading attribute lists, andmarkdown="1"blocks are supported; standalone ALDs are not. Sass files skip Liquid entirely. - Static Files — Front-matter
defaultsnever apply to static files — only the five built-in metadata fields are available, so filter onpathinstead of custom flags. - Directory Structure — No
.jekyll-cache,.sass-cache, or.jekyll-metadata— the build cache lives injigyll-$USERunder the system temp dir, andjigyll serverenders in memory without writing_site. - Themes — Themes resolve from a local
_theme/<name>folder or Bundler.remote_themesupports only pinned GitHubowner/repository@40-character-SHAarchives; branches, tags, URLs, and full plugin behavior remain unsupported. Theme_data, theme config, andtheme.*variables are ignored. - Variables —
jekyll.versionreports the Jigyll version,page.dirand thetheme.*variables don't exist,page.next/previousare posts-only, andsite.related_postsis simply the ten most recent posts.
Jigyll-only
Jigyll additions with no Jekyll counterpart.
- GitHub Pages Compatibility Roadmap — This page tracks the work and verification gates required for explicit GitHub Pages and Ruby Jekyll compatibility profiles.
- Differences from Jekyll — This page has no Ruby Jekyll counterpart — it aggregates every known divergence from the compatibility metadata that powers these callouts.
GitHub Pages
GitHub Pages adds a pinned Jekyll 3.10 runtime and managed plugin set. The Ruby Jekyll differences above therefore also apply to Pages unless a Pages-specific behavior is called out below.
| Status | Capability | Documented gap |
|---|---|---|
| Missing | jekyll-coffeescript | CoffeeScript assets are not supported. |
| Missing | jekyll-titles-from-headings | Titles are not inferred from headings. |
| Partial | jekyll-commonmark-ghpages | The Pages CommonMark processor and its options are not selectable. |
| Partial | jekyll-github-metadata | Several repository fields and deterministic API fixtures remain incomplete. |
| Partial | jekyll-redirect-from | Default templates and redirect-route behavior need Pages verification. |
| Partial | jekyll-remote-theme | Only pinned GitHub owner/repository@40-character-SHA archives work. |
| Partial | jekyll-seo-tag | Publisher, author, image, social, and canonical metadata normalization is incomplete. |
| Partial | jekyll-sitemap | File modification dates and exclusion behavior need Pages verification. |
| Partial | jemoji | Image fallback markup and HTML-safe replacement behavior need Pages verification. |
See the current plugin baseline for all GitHub Pages dependencies, their versioned reference environment, and the verification work required before a profile is supported.