Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/planetjekyll/awesome-jekyll-plugins

A collection of awesome Jekyll plugins (gems, scripts, pasties, etc.)
https://github.com/planetjekyll/awesome-jekyll-plugins

List: awesome-jekyll-plugins

Last synced: 20 days ago
JSON representation

A collection of awesome Jekyll plugins (gems, scripts, pasties, etc.)

Awesome Lists containing this project

README

        

Awesome Series @ Planet Jekyll

[Jekyll](https://github.com/planetjekyll/awesome-jekyll) •
[Jekyll Themes](https://github.com/planetjekyll/awesome-jekyll-themes) •
[Jekyll Plugins](https://github.com/planetjekyll/awesome-jekyll-plugins) •
[Jekyll Editors](https://github.com/planetjekyll/awesome-jekyll-editors)

# Awesome (Gem-Packaged) Jekyll Plugins

[![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re)

A collection of awesome Jekyll plugins adding converters, generators, filters & tags,
importers, new commands & switches, and more.

#### _Contributions welcome. Anything missing? Send in a pull request. Thanks._

> Note: See the [Plugins & Extensions Page @ Planet Jekyll](http://planetjekyll.github.io/plugins) - listing all gem-packaged plugins
> listed here; add your plugin here to get added - thanks!

## Documentation

See the [Official Plugins Page @ Jekyll Docs](http://jekyllrb.com/docs/plugins) ».

## Settings & Configurations Tweaks

- [**GitHub-Pages Unscramble**](https://github.com/jamesluberda/github-pages-unscramble) ★3 (gem: [github-pages-unscramble](https://rubygems.org/gems/github-pages-unscramble)) by James Luberda -- locally undoes the changes the GitHub pages plugin makes to a site's original plugin_dir and safe configuration settings and loads any file-based plugins in plugins_dir as well as any blocked plugins in _config.yml
- [**Default Layout**](https://github.com/benbalter/jekyll-default-layout) ★46 (gem: [jekyll-default-layout](https://rubygems.org/gems/jekyll-default-layout)) by Ben Balter -- silently sets default layouts for pages and posts
- [**Optional Front Matter**](https://github.com/benbalter/jekyll-optional-front-matter) ★70 (gem: [jekyll-optional-front-matter](https://rubygems.org/gems/jekyll-optional-front-matter)) by Ben Balter -- makes front matter optional for markdown files
- [**Title from Headings**](https://github.com/benbalter/jekyll-title-from-headings) ★83 (gem: [titles-from-headings](https://rubygems.org/gems/titles-from-headings)) by Ben Balter -- pull page title from first markdown heading when none is specified
- [**Readme Index**](https://github.com/benbalter/jekyll-readme-index) ★71 (gem: [jekyll-readme-index](https://rubygems.org/gems/jekyll-readme-index)) by Ben Balter -- render a project's README as the site's index
- [**Data**](https://github.com/ashmaroli/jekyll-data) ★37 (gem: [jekyll-data](https://rubygems.org/gems/jekyll-data)) by Ashwin Maroli -- read datafiles in themes

## Multi Language / Multi Lingual

- [**Multiple languages**](https://github.com/kurtsson/jekyll-multiple-languages-plugin) ★837 (gem: [jekyll-multiple-languages-plugin](https://rubygems.org/gems/jekyll-multiple-languages-plugin)) by Martin Kurtsson -- I18n support for Jekyll and Octopress
- [**Language**](https://github.com/vwochnik/jekyll-language-plugin) ★111 (gem: [jekyll-language-plugin](https://rubygems.org/gems/jekyll-language-plugin)) by Vincent Wochnik -- multi-language plugin for posts, pages and includes
- [**Polyglot**](https://github.com/untra/polyglot) ★299 (gem: [`jekyll-polyglot`](https://rubygems.org/gems/jekyll-polyglot)) by Samuel Volin -- multi-lingual and I18n support tool
- [**i18n Tags**](https://github.com/KrzysiekJ/jekyll-i18n_tags) ★11 (gem: [jekyll-i18n_tags](https://rubygems.org/gems/jekyll-i18n_tags)) -- Translate your templates.
- [**Localization**](https://github.com/prometheus-ev/jekyll-localization) ★68 (gem: [jekyll-localization](https://rubygems.org/gems/jekyll-localization)) -- plugin that adds localization features to the rendering engine. **Archived**

## Search

- [**Algolia**](https://github.com/algolia/jekyll-algolia) ★185 (gem: [jekyll-algolia](https://rubygems.org/gems/jekyll-algolia/)) -- Add fast and relevant search to your Jekyll site using the Algolia API.
- [**Searchyll**](https://github.com/omc/searchyll) ★43 (gem: [searchyll](https://rubygems.org/gems/searchyll/)) - Index your Jekyll pages to Elasticsearch, and works with Github pages.

## Feeds & Syndication

- [**Feed**](https://github.com/jekyll/jekyll-feed) ★197 (gem: [jekyll-feed](https://rubygems.org/gems/jekyll-feed)) -- a plugin to generate an Atom (RSS-like) feed of your posts **#Official** **#GitHub Pages**
- [**Planet**](https://github.com/feedreader/jekyll-planet) ★2 (gem: [jekyll-planet](https://rubygems.org/gems/jekyll-planet)) -- add articles, blogs to your site via web feeds (and planet pluto)

## Bibliography & Citiations

- [**Scholar**](https://github.com/inukshuk/jekyll-scholar) ★974 (gem: [jekyll-scholar](https://rubygems.org/gems/jekyll-scholar)) by Sylvester Keil -- extensions for the blogging scholar.
- [**BibSonomy**](https://github.com/rjoberon/bibsonomy-jekyll) ★5 (gem: [bibsonomy-jekyll](https://rubygems.org/gems/bibsonomy-jekyll)) - generate publication lists from [BibSonomy](https://www.bibsonomy.org/).
- [**jekyll_quote**](https://github.com/mslinn/jekyll_quote)
(gem: [jekyll_quote](https://rubygems.org/gems/jekyll_quote))
by Mike Slinn – Formats quotes with an optional citation and link in a Jekyll website.

## Tags & Taggings, Categories & Categorizations

- [**Archives**](https://github.com/jekyll/jekyll-archives) ★385 (gem: [jekyll-archives](https://rubygems.org/gems/jekyll-archives)) -- archive pages for your tags and categories **#Official**
- [**Tagging**](https://github.com/pattex/jekyll-tagging) ★367 (gem: [jekyll-tagging](https://rubygems.org/gems/jekyll-tagging)) -- plugin to automatically generate a tag cloud and tag pages.
- [**Tagging Related_Posts**](https://github.com/toshimaru/jekyll-tagging-related_posts) ★49 (gem: [jekyll-tagging-related_posts](https://rubygems.org/gems/jekyll-tagging-related_posts)) -- related_posts function based on tags

## Pagination

- [**Paginate**](https://github.com/jekyll/jekyll-paginate) ★94 (gem: [jekyll-paginate](https://rubygems.org/gems/jekyll-paginate)) -- pagination generator **#Official** **#GitHub Pages**
- [**Paginate V2**](https://github.com/sverrirs/jekyll-paginate-v2) ★455 (gem: [jekyll-paginate-v2](https://rubygems.org/gems/jekyll-paginate-v2)) by Sverrir Sigmundarson et al -- enhanced replacement for the old built-in jekyll-paginate
- [**Pagination**](https://github.com/prometheus-ev/jekyll-pagination) ★44 (gem: [jekyll-pagination](https://rubygems.org/gems/jekyll-pagination)) -- plugin to extend the pagination generator. **Archived**
- [**Paginate::Category**](https://github.com/midnightSuyama/jekyll-paginate-category) ★38 (gem: [jekyll-paginate-category](https://rubygems.org/gems/jekyll-paginate-category)) -- pagination generator for category.
- [**Auto Authors**](https://github.com/gouravkhunger/jekyll-auto-authors) ★7 (gem: [jekyll-auto-authors](https://rubygems.org/gems/jekyll-auto-authors)) -- plugin to auto-generate author pages with pagination!

## Figures & Captions

- [**Figure Tag**](https://github.com/lmullen/jekyll_figure) ★33 (gem: [jekyll_figure](https://rubygems.org/gems/jekyll_figure)) -- Generate figures and captions with links to the figure in a variety of formats
- [**Figure Tag**](https://github.com/paulrobertlloyd/jekyll-figure) ★47 (gem: [jekyll-figure](https://rubygems.org/gems/jekyll-figure)) -- A liquid tag for Jekyll that generates `` elements.

## Images & Pictures

- [**Picture Tag**](https://github.com/rbuchberger/jekyll_picture_tag) ★563 (gem: [jekyll_picture_tag](https://rubygems.org/gems/jekyll_picture_tag)) -- Easy responsive images for Jekyll. Based on the proposed `` element, polyfilled with Scott Jehl's Picturefill.
- [**Responsive Image**](https://github.com/wildlyinaccurate/jekyll-responsive-image) ★312 (gem: [jekyll-responsive_image](https://rubygems.org/gems/jekyll-responsive_image)) -- Responsive images for Jekyll. Automatically resizes images, supports all responsive methods (``, `srcset`, Imager.js, etc), super-flexible configuration.
- [**Image Encode Tag**](https://github.com/GSI/jekyll_image_encode) ★14 (gem: [jekyll_image_encode](https://rubygems.org/gems/jekyll_image_encode)) -- tag that renders base64 codes of images fetched from the web.
- [**Cloudinary**](https://github.com/nhoizey/jekyll-cloudinary) ★86 (gem: [jekyll-cloudinary](https://rubygems.org/gems/jekyll-cloudinary)) by Nicolas Hoizey -- tag to use Cloudinary for optimized responsive posts images.
- [**WebP Image Generator**](https://github.com/sverrirs/jekyll-webp) ★49 (gem: [jekyll-webp](https://rubygems.org/gems/jekyll-webp)) by Sverrir Sigmundarson et al -- WebP image generator that automatically generate WebP images for all images on your site and serves them when possible
- [**Image Size**](https://github.com/generalui/jekyll-image-size) ★19 (gem: [jekyll-image-size](https://rubygems.org/gems/jekyll-image-size)) - read images and output image-sizes as: opengraph tags, img-tags, css and more - with retina support
- [**Loading Lazy**](https://github.com/gildesmarais/jekyll-loading-lazy) ★41 (gem: [jekyll-loading-lazy](https://rubygems.org/gems/jekyll-loading-lazy)) -- Adds `loading="lazy"` to lazily load your images and iframes without the need for JavaScript.
- [**jekyll-imgix**](https://github.com/imgix/jekyll-imgix) ★49 (gem: [jekyll-imgix](https://rubygems.org/gems/jekyll-imgix)) -- Transform, optimize, and intelligently cache your entire image library for fast websites and apps. **Freemium/Commercial**
- [**jekyll-postfiles**](https://github.com/nhoizey/jekyll-postfiles) ★109 (gem: [jekyll-postfiles](https://rubygems.org/gems/jekyll-postfiles)) -- Ease the management of images (and other files) attached to Markdown blog posts
- [**jekyll-imgproxy-tag**](https://github.com/jayroh/jekyll-imgproxy-tag) ★0 (gem: [jekyll-imgproxy-tag](https://rubygems.org/gems/jekyll-imgproxy-tag)) -- Generate urls to secure imgproxy images.
- [**jekyll-responsive-magick**](https://github.com/lawmurray/jekyll-responsive-magick) ★0 (gem: [jekyll-responsive-magick](https://rubygems.org/gems/jekyll-responsive-magick)) -- Responsive images via `srcset`, `width` and `height` filters, automatic image resizing with ImageMagick.
- [**jekyll_img**](https://github.com/mslinn/jekyll_img)
(gem: [jekyll_img](https://rubygems.org/gems/jekyll_img))
by Mike Slinn. –
This versatile plugin embeds responsive images using the <picture> element in documents and pages with alignment options,
flexible resizing, default styling, overridable styling, an optional caption, and an optional URL.

## Bundled Icons / Images

- [**Octicons**](https://github.com/primer/jekyll-octicons) ★32 (gem: [jekyll-octicons](https://rubygems.org/gems/jekyll-octicons)) -- liquid plugin that makes including svg Octicons simple. **Archived**
- [**Jekyll PIG**](https://github.com/clnhlzmn/jekyll-pig) ★8 (gem: [jekyll-pig](https://rubygems.org/gems/jekyll-pig)) - Uses ImageMagick and pig.js to create progressive image galleries for Jekyll sites.

## Videos & Screencasts

- [**YouTube**](https://github.com/dommmel/jekyll-youtube) ★79 (gem: [jekyll-youtube](https://rubygems.org/gems/jekyll-youtube)) -- a Liquid tag that embeds YouTube videos. The default emded markup is responsive but you can also specify your own by using an include/partial.
- [**Asciinema**](https://github.com/mnuessler/jekyll-asciinema) ★37 (gem: [jekyll-asciinema](https://rubygems.org/gems/jekyll-asciinema)) -- a tag for embedding asciicasts recorded with asciinema in your Jekyll pages.
- [**ReactPlayer**](https://github.com/jessp01/jekyll-react-player) [![Gem Version](https://img.shields.io/gem/dt/jekyll-react-player.svg)](https://rubygems.org/gems/jekyll-react-player) [![Gem Version](https://badge.fury.io/rb/jekyll-react-player.svg)](https://badge.fury.io/rb/jekyll-react-player) -- a tag for embedding react-player supported formats in your Jekyll pages.

## Audios & Podcasts

- [**Octopod**](https://github.com/jekyll-octopod/jekyll-octopod) ★114 (gem: [jekyll-octopod](https://rubygems.org/gems/jekyll-octopod)) by Stefan Haslinger, Arne Eilermann, et al -- a podcast publishing extension. **Archived**

## Geocoding & Maps

- [**Geocode**](https://github.com/bertrandkeller/jekyll-geocode) ★11 (gem: [jekyll-geocode](https://rubygems.org/gems/jekyll-geocode)) by Bertrand Keller -- geo-encode addresses from a datafile for drawing maps
- [**Maps**](https://github.com/ayastreb/jekyll-maps) ★123 (gem: [jekyll-maps](https://rubygems.org/gems/jekyll-maps)) by Anatoliy Yastreb -- embed maps with filterable locations

## Markup & Markdown Converters

- [**Pug**](https://jekyll-pug.dougie.io), gem: [jekyll-pug](https://rubygems.org/gems/jekyll-pug) -- convert Pug files into HTML
- [**Slim**](https://github.com/slim-template/jekyll-slim) ★36, gem: [jekyll-slim](https://rubygems.org/gems/jekyll-slim) -- Slim converter and includes for Jekyll with support for Liquid tags. **Archived**
- [**AsciiDoc**](https://github.com/asciidoctor/jekyll-asciidoc) ★276, gem: [jekyll-asciidoc](https://rubygems.org/gems/jekyll-asciidoc) -- AsciiDoc convertor for Jekyll using Asciidoctor.
- [**Commonmark**](https://github.com/pathawks/jekyll-commonmark) ★29, gem: [jekyll-commonmark](https://rubygems.org/gems/jekyll-commonmark) -- Markdown converter that uses libcmark, the reference parser for CommonMark.
- [**Textile**](https://github.com/jekyll/jekyll-textile-converter) ★15 (gem: [jekyll-textile-converter](https://rubygems.org/gems/jekyll-textile-converter)) -- convert `.textile` files into HTML; also includes the `textilize` Liquid filter **#Official**
- [**Jektex**](https://github.com/yagarea/jektex) ★17, gem: [jektex](https://rubygems.org/gems/jektex) -- Jekyll plugin for blazing fast server side cached LaTeX rendering with support of macros. Enjoy comfort of latex and markdown without cluttering your site with bloated javascript.

## Text Filters

- [**Mentions**](https://github.com/jekyll/jekyll-mentions) ★185 (gem: [jekyll-mentions](https://rubygems.org/gems/jekyll-mentions)) -- @mentionable support for your site **#Official** **#GitHub Pages**
- [**Jemoji**](https://github.com/jekyll/jemoji) ★503 (gem: [jemoji](https://rubygems.org/gems/jemoji)) -- GitHub-flavored emoji plugin **#Official** **#GitHub Pages**
- [**Time Ago**](https://github.com/markets/jekyll-timeago) ★138 (gem: [jekyll-timeago](https://rubygems.org/gems/jekyll-timeago)) -- Converts a time value to the time ago in words.
- [**jekyll_time_since**](https://github.com/mslinn/jekyll_time_since)
(gem: [jekyll_time_since](https://rubygems.org/gems/jekyll_time_since))
by Mike Slinn –
Jekyll plugin that provides new Liquid filters called years_since, months_since, days_since, hours_since, minutes_since and seconds_since.
- [**Pluralize**](https://github.com/bdesham/pluralize) ★28 (gem: [liquid_pluralize](https://rubygems.org/gems/liquid_pluralize)) by Benjamin Esham -- Easily combine a number and a word into a grammatically-correct amount like “1 minute” or “2 minute**s**”.
- [**Reading Time**](https://github.com/bdesham/reading_time) ★109 (gem: [liquid_reading_time](https://rubygems.org/gems/liquid_reading_time)) by Benjamin Esham -- Count words and estimate reading time for a piece of text, ignoring HTML elements that are unlikely to contain running text.
- [**TOC (Table of Contents)**](https://github.com/toshimaru/jekyll-toc) ★260 (gem: [jekyll-toc](https://rubygems.org/gems/jekyll-toc))-- A liquid filter plugin for Jekyll which generates a table of contents.
- [**Smartify**](https://github.com/pathawks/jekyll-smartify) ★9 (gem: [jekyll-smartify](https://rubygems.org/gems/jekyll-smartify)) by Pat Hawks -- SmartyPants filter. Make "quotes" “curly”. **Archived**
- [**MD5**](https://github.com/pathawks/liquid-md5) ★13 (gem: [liquid-md5](https://rubygems.org/gems/liquid-md5)) by Pat Hawks -- Returns an MD5 hash. Helpful for generating Gravatars in templates
- [**Roman**](https://github.com/paulrobertlloyd/jekyll-roman) ★6 (gem: [jekyll-roman](https://rubygems.org/gems/jekyll-roman)) by Paul Robert Lloyd -- A liquid filter for Jekyll that converts numbers into Roman numerals
- [**Typogrify**](https://github.com/myles/jekyll-typogrify) ★26 (gem: [jekyll-typogrify](https://rubygems.org/gems/jekyll-typogrify)) by Myles Braithwaite -- A Jekyll plugin that brings the functions of typogruby.
- [**Email Protect**](https://github.com/vwochnik/jekyll-email-protect) ★75 (gem: [jekyll-email-protect](https://rubygems.org/gems/jekyll-email-protect)) by Vincent Wochnik -- Email protection liquid filter for Jekyll
- [**Jekyll Liquify**](https://github.com/gemfarmer/jekyll-liquify) ★25 (gem: [jekyll-liquify](https://rubygems.org/gems/jekyll-liquify)) a filter that parses Liquid from front matter
- [**jekyll_from_to_until**](https://www.mslinn.com/jekyll_plugins/#jekyll_from_to_until)
(gem: [jekyll_from_to_until](https://rubygems.org/gems/jekyll_from_to_until))
by Mike Slinn. –
Provides filters that return portions of a multiline string:
- `from` – returns the portion beginning with the line that satisfies a regular expression to the end of the multiline string.
- `to` – returns the portion from the first line to the line that satisfies a regular expression, including the matched line.
- `until` – returns the portion from the first line to the line that satisfies a regular expression, excluding the matched line.
- [**jekyll_basename_dirname**](https://www.mslinn.com/jekyll_plugins/#basename)
(gem: [jekyll_basename_dirname](https://rubygems.org/gems/jekyll_basename_dirname))
by Mike Slinn –
Provides filters that return portions of a string:
`basename`, `dirname` and `basename_without_extension`.
- [**jekyll_begin_end**](https://www.mslinn.com/jekyll_plugins/#begin_end)
(gem: [jekyll_begin_end](https://rubygems.org/gems/jekyll_begin_end))
by Mike Slinn –
These filters return portions of a string:
`begins_with`, `does_not_begin_with`, `ends_with`, `does_not_end_with`, and `append_suffix_if_does_not_start_with`.

## Tags

- [**Gist**](https://github.com/jekyll/jekyll-gist) ★234 (gem: [jekyll-gist](https://rubygems.org/gems/jekyll-gist)) -- Liquid tag for displaying GitHub Gists **#Official** **#GitHub Pages**
- [**Twitter**](https://github.com/rob-murray/jekyll-twitter-plugin) ★225 (gem: [jekyll-twitter-plugin](https://rubygems.org/gems/jekyll-twitter-plugin)) by Robert Murray -- A Liquid tag plugin that renders Tweets from Twitter API. Currently supports the oEmbed API.
- [**Content Blocks**](https://github.com/rustygeldmacher/jekyll-contentblocks) ★144 (gem: [jekyll-contentblocks](https://rubygems.org/gems/jekyll-contentblocks)) by Rusty Geldmacher -- Lets you use Rails-like content_for tags in your templates, for passing content from your posts up to your layouts.
- [**Beastie Press**](https://github.com/okeeblow/jekyll-beastiepress) ★7 (gem: [jekyll-beastiepress](https://rubygems.org/gems/jekyll-beastiepress)) -- FreeBSD utility tags.
- [**SWF Object**](https://github.com/sectore/jekyll-swfobject) ★5 (gem: [jekyll-swfobject](https://rubygems.org/gems/jekyll-swfobject)) -- Liquid plugin for embedding Adobe Flash files (.swf) using SWFObject.
- [**Date Chart**](https://github.com/GSI/jekyll_date_chart) ★9 (gem: [jekyll_date_chart](https://rubygems.org/gems/jekyll_date_chart)) -- Block that renders date line charts based on textile-formatted tables.
- [**Quick Man**](https://github.com/GSI/jekyll_quick_man) ★7 (gem: [jekyll_quick_man](https://rubygems.org/gems/jekyll_quick_man)) -- Tag that renders pretty links to man page sources on the internet.
- [**GitHub Sample Tag**](https://github.com/bwillis/jekyll-github-sample) ★57 (gem: [jekyll_github_sample](https://rubygems.org/gems/jekyll_github_sample)) -- A liquid tag to include a sample of a github repo file in your Jekyll site.
- [**Project Version Tag**](https://github.com/rob-murray/jekyll-version-plugin) ★28 (gem: [jekyll_version_plugin](https://rubygems.org/gems/jekyll_version_plugin)) -- A Liquid tag plugin that renders a version identifier for your Jekyll site sourced from the git repository containing your code.
- [**Inline Highlight**](https://github.com/bdesham/inline_highlight) ★26 (gem: [jekyll_inline_highlight](https://rubygems.org/gems/jekyll_inline_highlight)) -- a tag for inline syntax highlighting.
- [**Mermaid**](https://github.com/jasonbellamy/jekyll-mermaid) ★97 (gem: [jekyll-mermaid](https://rubygems.org/gems/jekyll-mermaid)) -- Simplify the creation of mermaid diagrams and flowcharts in your posts and pages.
- [**Giphy**](https://github.com/vfalanis/jekyll-giphy) ★16 (gem: [jekyll-giphy](https://rubygems.org/gems/jekyll-giphy)) -- a plugin for embedding random giphy GIFs on Jekyll sites according to a user defined topic.
- [**PlantUML**](https://github.com/yegor256/jekyll-plantuml) ★39 (gem: [jekyll-plantuml](https://rubygems.org/gems/jekyll-plantuml)) -- Tag that renders UML diagrams using [PlantUML](http://plantuml.com/).
- [**Jekyll oEmbed**](https://github.com/18F/jekyll-oembed) ★8 (gem: [jekyll_oembed](https://rubygems.org/gems/jekyll_oembed)) -- The tag version of [ruby-oembed](https://github.com/ruby-oembed/ruby-oembed), letting you easily get embeddable HTML representations of supported web pages, based on their URLs. **Archived**
- [**Jekyll PDF Embed**](https://github.com/MihajloNesic/jekyll-pdf-embed) ★35 (gem: [jekyll-pdf-embed](https://rubygems.org/gems/jekyll-pdf-embed)) - Plugin for embedding PDF files to any page or post
- [**Jekyll Github Chart**](https://github.com/kinduff/jekyll-github-chart) ★4 (gem: [jekyll-github-chart](https://rubygems.org/gems/jekyll-github-chart)) - Plugin to generate an SVG of Github contributions data
- [**Jekyll Twitch**](https://github.com/chaelcodes/jekyll-twitch) ★6 (gem: [jekyll-twitch](https://rubygems.org/gems/jekyll-twitch)) - Embed Twitch clips, vods, collections, and even broadcasts!
- [**Jekyll Include**](https://github.com/flant/jekyll_include_plugin) ★12 (gem: [jekyll_include_plugin](https://rubygems.org/gems/jekyll_include_plugin)) - Plugin for including local/remote file contents (or a part of it) into your pages.
- [**jekyll_flexible_include**](https://www.mslinn.com/jekyll_plugins/#flexibleInclude)
(gem: [jekyll_flexible_include](https://rubygems.org/gems/jekyll_flexible_include))
by Mike Slinn.

Jekyll's built-in include tag does not support including files outside of the `_includes` folder.
This plugin supports 4 types of includes:
- Relative paths.
- Absolute paths, with optional security.
- Paths relative to the user home directory, with optional security.
- Executable commands, with optional security.

Paths support environment variables expansion.
Also supports highlighting text matching a regex, and dark mode.
- [**Glossary Tooltip Tag**](https://github.com/erikw/jekyll-glossary_tooltip) ★7 (gem: [jekyll-glossary_tooltip](https://rubygems.org/gems/jekyll-glossary_tooltip)) by Erik Westrup - A tag for showing a tooltip with glossary term definitions on mouse hover. Common terms are defined in a shared file that can be re-used across all pages.
- [**jekyll_archive_display**](https://www.mslinn.com/jekyll_plugins/#archiveDisplay)
(gem: [jekyll_archive_display](https://rubygems.org/gems/jekyll_archive_display))
by Mike Slinn –
Jekyll tag plugin that lists the names and contents of each entry in a `tar` file.
- [**jekyll_download_link**](https://www.mslinn.com/jekyll_plugins/#archive_create)
(gem: [jekyll_download_link](https://rubygems.org/gems/jekyll_download_link))
by Mike Slinn –
Generates a link to download a file.
The path can be absolute or relative to the website.
- [**jekyll_href**](https://github.com/mslinn/jekyll_href)
(gem: [jekyll_href](https://rubygems.org/gems/jekyll_href))
by Mike Slinn.

This plugin provides a versatile Jekyll tag that generates an a HTML href that defaults to `target="_blank"` and `rel="nofollow"`.
URLs can contain environment variable references.
Also provides a convenient way to generate formatted and clickable URIs.
Features optional automatically-generated soft hyphens.
The `href` tags in a page can be summarized by the `href_summary` tag.
- [**jekyll_outline**](https://github.com/mslinn/jekyll_outline)
(gem: [jekyll_outline](https://rubygems.org/gems/jekyll_outline))
by Mike Slinn –
Organizes the index of a collection into chapters.
- [**jekyll_pre**](https://github.com/mslinn/jekyll_pre)
(gem: [jekyll_pre](https://rubygems.org/gems/jekyll_pre))
by Mike Slinn –
Jekyll tags for HTML <pre/>; copy content button, unselectable text, and incorporating command-line output into documents.

## Search Engine Optimization (SEO) & Redirects

- [**Jekyll::NewsSitemap**](https://github.com/skatkov/jekyll-news-sitemap) ★6 (gem: [jekyll-news-sitemap](https://rubygems.org/gems/jekyll-news-sitemap)) -- Jekyll plugin to silently generate Google News Sitemap based on posts **#Official** **#GitHub Pages** **Archived**
- [**SEO Tag**](https://github.com/jekyll/jekyll-seo-tag) ★1.4k (gem: [jekyll-seo-tag](https://rubygems.org/gems/jekyll-seo-tag)) -- a plugin to add metadata tags for search engines and social networks to better index and display your site's content **#Official** **#GitHub Pages**
- [**Sitemap Generator**](https://github.com/jekyll/jekyll-sitemap) ★851 (gem: [jekyll-sitemap](https://rubygems.org/gems/jekyll-sitemap)) -- a plugin to silently generate a sitemaps.org compliant sitemap for your site **#Official** **#GitHub Pages**
- [**Redirect From**](https://github.com/jekyll/jekyll-redirect-from) ★691 (gem: [jekyll-redirect-from](https://rubygems.org/gems/jekyll-redirect-from)) -- seamlessly specify multiple redirections URLs for your pages and posts **#Official** **#GitHub Pages**
- [**Google Search Console Verification File Generator**](https://github.com/erikw/jekyll-google_search_console_verification_file) ★3 (gem: [jekyll-google_search_console_verification_file](https://rubygems.org/gems/jekyll-google_search_console_verification_file)) by Erik Westrup - A very simple plugin that will generate a Google Search Console [verification file](https://support.google.com/webmasters/answer/9008080?hl=en) to your `_site/` directory in a Jekyll project. This file is used by Google to verify that you own the site and could look for example like `googlef47733b3288357e4.html`.

## Analytics

- [**Analytics**](https://github.com/hendrik91/jekyll-analytics) ★191 (gem: [jekyll-analytics](https://rubygems.org/gems/jekyll-analytics)) by Hendrik Schneider -- adds webtracking easily to your site; supports multiple trackers like Google Analytics, Piwik, etc.

## Generators

- [**Emoji**](https://github.com/yihangho/emoji-for-jekyll) ★85, gem: [emoji_for_jekyll](https://rubygems.org/gems/emoji_for_jekyll) -- seamlessly enable emoji for all posts and pages
- [**Autolink Email**](https://github.com/ivantsepp/jekyll-autolink_email) ★13, gem: [jekyll-autolink_email](https://rubygems.org/gems/jekyll-autolink_email) by Ivan Tse -- Autolink your emails.
- [**Git Metadata**](https://github.com/ivantsepp/jekyll-git_metadata) ★67, gem: [jekyll-git_metadata](https://rubygems.org/gems/jekyll-git_metadata) by Ivan Tse -- expose Git metadata for your templates
- [**Auto Image**](https://github.com/merlos/jekyll-auto-image) ★77, gem: [jekyll-auto-image](https://rubygems.org/gems/jekyll-auto-image) by Merlos -- gets the first image of a post; useful to list your posts with images or to add twitter cards to your site
- [**Umlauts**](https://github.com/webchef/jekyll-umlauts) ★8, gem: [jekyll-umlauts](https://rubygems.org/gems/jekyll-umlauts) by Arne Gockeln -- this generator replaces all german umlauts (äöüß) case sensitive with html
- [**Premonition**](https://github.com/lazee/premonition) ★49, gem: [premonition](https://rubygems.org/gems/premonition) by Jakob Vad Nielsen -- Converts blockquotes into customizable styled markup blocks, like notes or warnings.
- [**Jekyll Data Pages Generator**](https://github.com/avillafiorita/jekyll-datapage_gen) ★336, gem: [jekyll-datapage-generator](https://rubygems.org/gems/jekyll-datapage-generator) by Adolfo Villafiorita -- Allows one to specify data files for which we want to generate one HTML page per record.

## Commands & Switches

- [**Compose**](https://github.com/jekyll/jekyll-compose) ★540 (gem: [jekyll-compose](https://rubygems.org/gems/jekyll-compose)) -- streamline your writing with these commands **#Official**
- [**jekyll-gitlab-letsencrypt**](https://github.com/JustinAiken/jekyll-gitlab-letsencrypt) ★60 (gem: [jekyll-gitlab-letsencrypt](https://rubygems.org/gems/jekyll-gitlab-letsencrypt)) -- Automate letsencrypt requests/renewals for gitlab pages

## Importers

- [**Importers**](https://github.com/jekyll/jekyll-import) ★456 (gem: [jekyll-import](https://rubygems.org/gems/jekyll-import)) -- The "import" command for importing from various blogs **#Official**

## Other

- [**GitHub Metadata**](https://github.com/jekyll/github-metadata) ★215 (gem: [jekyll-github-metadata](https://rubygems.org/gems/jekyll-github-metadata)) -- `site.github` **#Official** **#GitHub Pages**
- [**Jekyll Spaceship**](https://github.com/jeffreytse/jekyll-spaceship) ★381 (gem: [jekyll-spaceship](https://rubygems.org/gems/jekyll-spaceship)) -- 🚀 A Jekyll plugin to provide powerful supports for table, mathjax, plantuml, mermaid, emoji, video, youtube, vimeo, dailymotion, audio, spotify, soundcloud, etc.
- [**Rendering**](https://github.com/prometheus-ev/jekyll-rendering) ★22 (gem: [jekyll-rendering](https://rubygems.org/gems/jekyll-rendering)) -- provide alternative rendering engines. **Archived**
- [**Contentful**](https://github.com/contentful/jekyll-contentful-data-import) ★94 (gem: [jekyll-contentful-data-import](https://rubygems.org/gems/jekyll-contentful-data-import)) -- Adds a `contentful` sub-command to Jekyll to import data from Contentful.
- [**Paspagon**](https://github.com/KrzysiekJ/jekyll-paspagon) ★10 (gem: [jekyll-paspagon](https://rubygems.org/gems/jekyll-paspagon)) -- sell your posts in various formats for cryptocurrencies.
- [**PWA-Workbox**](https://github.com/souldanger/jekyll-pwa-workbox) ★22 (gem: [jekyll-pwa-workbox](https://rubygems.org/gems/jekyll-pwa-workbox)) -- Makes your PWA/Website available offline using Workbox. Injects a precache list into the service-worker and takes care of the registration process in a secure way.
- [**Target Blank**](https://github.com/keithmifsud/jekyll-target-blank) ★82 (gem: [jekyll-target-blank](https://rubygems.org/gems/jekyll-target-blank)) -- Automatically adds `target="_blank"` to external links, can add css-classes and/or various `rel=""` attributes.
- [**Workbox**](https://github.com/bmeurer/jekyll-workbox-plugin) ★14 (gem: [jekyll-workbox-plugin](https://rubygems.org/gems/jekyll-workbox-plugin)) -- Generate Service Worker using Google Workbox.
- [**Bootstrap 5 Tabs**](https://github.com/mslinn/jekyll_bootstrap5_tabs) (gem: [jekyll_bootstrap5_tabs](https://rubygems.org/gems/jekyll_bootstrap5_tabs)) – Enables Bootstrap 5 tabs in Jekyll content.
- [**jekyll-http-request**](https://github.com/ntsd/jekyll-http-request) (gem: [jekyll-http-request](https://rubygems.org/gems/jekyll-http-request)) by Jirawat Boonkumnerd -- Liquid Filter for HTTP requests, helps get HTTP response data to the page content and cache.

## Assets & Converters & Minifiers

- [**Sass Converter**](https://github.com/jekyll/jekyll-sass-converter) ★154 (gem: [jekyll-sass-converter](https://rubygems.org/gems/jekyll-sass-converter)) -- a Sass converter **#Official** **#GitHub Pages**
- [**Assets 3**](https://github.com/jekyll/jekyll-assets) ★1.1k (gem: [jekyll-assets](https://rubygems.org/gems/jekyll-assets)) -- asset pipelines **#Official**
- [**Asset Pipeline Reborn**](https://github.com/kitsched/japr) ★52 (gem: [japr](https://rubygems.org/gems/japr)) - powerful asset pipeline that collects, converts and compresses JavaScript and CSS assets.
- [**Mini Bundle**](https://github.com/tkareine/jekyll-minibundle) ★67 (gem: [jekyll-minibundle](https://rubygems.org/gems/jekyll-minibundle)) -- asset bundling and cache busting using external minification tool of your choice. No gem dependencies.
- [**Minifier**](https://github.com/digitalsparky/jekyll-minifier) ★232 (gem: [jekyll-minifier](https://rubygems.org/gems/jekyll-minifier)) -- minifies HTML, XML, CSS, and Javascript both inline and as separate files utilising yui-compressor and htmlcompressor.
- [**Autoprefixer**](https://github.com/vwochnik/jekyll-autoprefixer) ★64 (gem: [jekyll-autoprefixer](https://rubygems.org/gems/jekyll-autoprefixer)) -- autoprefixer integration for Jekyll
- [**jekyll_archive_create**](https://www.mslinn.com/jekyll_plugins/#archive_create)
(gem: [jekyll_archive_create](https://rubygems.org/gems/jekyll_archive_create))
by Mike Slinn –
Makes `tar` and `zip` files based on `_config.yml` entries.
- [**Compass**](https://github.com/mscharley/jekyll-compass) ★57 (gem: [jekyll-compass](https://rubygems.org/gems/jekyll-compass) -- easily integrate Compass and Sass with your site. **Archived**

- [**Coffeescript**](https://github.com/jekyll/jekyll-coffeescript) ★44 (gem: [jekyll-coffeescript](https://rubygems.org/gems/jekyll-coffeescript)) -- a CoffeeScript converter **#Official**
- [**Opal**](https://github.com/jekyll/jekyll-opal) ★34 (gem: [jekyll-opal](https://rubygems.org/gems/jekyll-opal)) -- convert your Ruby into JavaScript using Opal **#Official**

## Coding Support for Plugins & Liquid Programming

- [**jekyll_all_collections**](https://github.com/mslinn/jekyll_all_collections)
(gem: [jekyll_all_collections](https://rubygems.org/gems/jekyll_all_collections))
by Mike Slinn – If your Jekyll website has several collections,
this plugin provides an aggregated collection.
- [**jekyll_draft**](http://localhost:4001/jekyll/3000-jekyll-plugins.html#draft)
(gem: [jekyll_draft](https://rubygems.org/gems/jekyll_draft))
by Mike Slinn –
This plugin’s filters provide a simple means for marking draft pages in development mode.
- [**jekyll_plugin_logger**](https://github.com/mslinn/jekyll_plugin_logger)
(gem: [jekyll_plugin_logger](https://rubygems.org/gems/jekyll_plugin_logger))
by Mike Slinn –
Colored Jekyll logging for plugins.
- [**jekyll_plugin_support**](https://github.com/mslinn/jekyll_plugin_support)
(gem: [jekyll_plugin_support](https://rubygems.org/gems/jekyll_plugin_support))
by Mike Slinn –
Ruby gem that facilitates writing and testing Jekyll plugins.
- [**jekyll_nth**](https://github.com/mslinn/jekyll_nth)
(gem: [jekyll_nth](https://rubygems.org/gems/jekyll_nth))
by Mike Slinn –
Liquid filter that returns item `n` of a Ruby array, origin 1.
- [**jekyll_random_hex**](https://github.com/mslinn/jekyll_random_hex)
(gem: [jekyll_random_hex](https://rubygems.org/gems/jekyll_random_hex))
by Mike Slinn –
Outputs a string of random hexadecimal characters of any length.

## Authentication & Authorization

- [**GitHub OAuth**](https://github.com/benbalter/jekyll-auth) ★821 (gem: [jekyll-auth](https://rubygems.org/gems/jekyll-auth)) by Ben Balter et al -- use GitHub OAuth to serve a protected site to your GitHub org

## Admin & Visual Editors

- [**Admin**](https://github.com/jekyll/jekyll-admin) ★2.6k (gem: [jekyll-admin](https://rubygems.org/gems/jekyll-admin)) by Ben Balter, Mert Kahyaoğlu et al -- adds a traditional content management system-style graphical interface to author content and administer sites **#Official**

- [**Manager**](https://github.com/ashmaroli/jekyll-manager) ★51 (gem: [jekyll-manager](https://rubygems.org/gems/jekyll-manager)) by Ashwin Maroli -- An administrative framework for Jekyll sites, Jekyll Manager is essentially Jekyll Admin repackaged with some alterations.

- [**Notion Fetch**](https://github.com/seroperson/jekyll-fetch-notion) ★4 (gem: [jekyll-fetch-notion](https://rubygems.org/gems/jekyll-fetch-notion)) -- Makes it easy to manage your website content using Notion (git-based approach).

## Watch & Live Reload

- [**Watch**](https://github.com/jekyll/jekyll-watch) ★88 (gem: [jekyll-watch](https://rubygems.org/gems/jekyll-watch)) -- rebuild your site when a file changes with the `--watch` switch **#Official**
- [**Hawkins**](https://github.com/awood/hawkins) ★57 (gem: [hawkins](https://rubygems.org/gems/hawkins)) -- adds a `liveserve` sub-command to Jekyll that incorporates LiveReload into your pages while you preview them. No more hitting the refresh button in your browser! **Archived**

## Testing & Proofing

- [**Front Matter Tests**](https://github.com/18F/jekyll_frontmatter_tests) ★28 (gem: [jekyll_frontmatter_tests](https://rubygems.org/gems/jekyll_frontmatter_tests)) by Greg Boone et al -- tests the front matter of posts and other collection documents against a schema. **Archived**

## Upload & Deploy

- [**Jekyll Deploy Action**](https://github.com/jeffreytse/jekyll-deploy-action) ★177 ([jekyll-deploy-action](https://github.com/jeffreytse/jekyll-deploy-action)) -- 🪂 A Github Action to deploy the Jekyll site conveniently for GitHub Pages.
- [**Deploy**](https://github.com/vwochnik/jekyll-deploy) ★33 (gem: [jekyll-deploy](https://rubygems.org/gems/jekyll-deploy)) -- adds a `deploy` command
- [**ZMediumToJekyll**](https://github.com/ZhgChgLi/ZMediumToJekyll) ★3 -- A public GitHub template repo that can help you easily move your Medium posts to a Jekyll blog and keep them in sync in the future, by simply click 'Use this template' to get started!

## Debugging

- [**Jekyll Debug**](https://github.com/gemfarmer/jekyll-debug) ★12 (gem: [jekyll-debug](https://rubygems.org/gems/jekyll-debug)) a filter that allows a user to debug liquid filters and tags at runtime

## More

> Note: For all jekyll plugin scripts & pasties, see the [scripts & pasties](PASTIES.md) page.

## Meta

**License**

The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.

**Questions? Comments?**

Post them to the [jekyll talk forum](http://talk.jekyllrb.com). Thanks!