Edit on GitHub

Plugins

Differs from Ruby Jekyll — replaced

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.

Jekyll has an extensible Ruby plugin system — generators, converters, commands, tags, filters, and hooks. Jigyll does not. Plugins are Go code compiled into the binary, and only a fixed set of popular Jekyll plugins is emulated.¹

Enable them in _config.yml (never a Gemfile):

plugins:
  - jekyll-feed
  - jekyll-seo-tag
  - jekyll-sitemap

The legacy gems: key works as an alias. Naming a plugin Jigyll doesn't know prints a warning. To see the plugin names your installed binary recognizes, run jigyll plugins — note it lists recognized names; the table below is the source of truth for how completely each is implemented.

Emulated plugins

Plugin Motivation Status Missing features
jekyll-avatar GitHub Pages²
jekyll-coffeescript GitHub Pages
jekyll-default-layout GitHub Pages
jekyll-feed GitHub Pages
jekyll-gist core³ noscript option
jekyll-github-metadata GitHub Pages partial contributors, public_repositories, show_downloads, releases, versions, wiki_url; Octokit configuration; GitHub Enterprise
jekyll-live-reload core always enabled (by design); no way to disable
jekyll-mentions GitHub Pages
jekyll-optional-front-matter GitHub Pages
jekyll-paginate core recognized so builds don't fail; exposes a stub paginator only — see Pagination
jekyll-readme-index GitHub Pages
jekyll-redirect-from GitHub Pages user template
jekyll-relative-links GitHub Pages
jekyll-sass-converter core always enabled (by design); no way to disable; only sass_dir is configurable
jekyll-seo-tag GitHub Pages partial dateModified, datePublished, publisher, mainEntityOfPage, @type
jekyll-sitemap GitHub Pages file modified dates⁴
jekyll-titles-from-headings GitHub Pages
jemoji GitHub Pages image tag fallback
github-pages GitHub Pages enables the plugins github-pages includes, each in the state listed above

¹ The internal APIs are too immature for a stable plugin interface, and Go's native plugin mechanism only works on Linux.

² Listed in the GitHub Pages dependency versions.

³ "Core" plugins are referenced in the main Jekyll documentation.

⁴ Modified dates aren't that useful with source control and CI. (Post dates are included.)