Awesome Series @ Planet Jekyll
Jekyll •
Jekyll Themes •
Jekyll Plugins •
Jekyll Editors
Awesome (Gem-Packaged) Jekyll Plugins
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 - listing all gem-packaged plugins
listed here; add your plugin here to get added - thanks!
Documentation
See the Official Plugins Page @ Jekyll Docs ».
Settings & Configurations Tweaks
Multi Language / Multi Lingual
Search
- Algolia ★185 (gem: jekyll-algolia) -- Add fast and relevant search to your Jekyll site using the Algolia API.
- Searchyll ★43 (gem: searchyll) - Index your Jekyll pages to Elasticsearch, and works with Github pages.
Feeds & Syndication
- Feed ★197 (gem: jekyll-feed) -- a plugin to generate an Atom (RSS-like) feed of your posts #Official #GitHub Pages
- Planet ★2 (gem: jekyll-planet) -- add articles, blogs to your site via web feeds (and planet pluto)
Bibliography & Citiations
Images & Pictures
- Picture Tag ★563 (gem: jekyll_picture_tag) -- Easy responsive images for Jekyll. Based on the proposed
<picture>
element, polyfilled with Scott Jehl's Picturefill.
- Responsive Image ★312 (gem: jekyll-responsive_image) -- Responsive images for Jekyll. Automatically resizes images, supports all responsive methods (
<picture>
, srcset
, Imager.js, etc), super-flexible configuration.
- Image Encode Tag ★14 (gem: jekyll_image_encode) -- tag that renders base64 codes of images fetched from the web.
- Cloudinary ★86 (gem: jekyll-cloudinary) by Nicolas Hoizey -- tag to use Cloudinary for optimized responsive posts images.
- WebP Image Generator ★49 (gem: 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 ★19 (gem: jekyll-image-size) - read images and output image-sizes as: opengraph tags, img-tags, css and more - with retina support
- Loading Lazy ★41 (gem: jekyll-loading-lazy) -- Adds
loading="lazy"
to lazily load your images and iframes without the need for JavaScript.
- jekyll-imgix ★49 (gem: jekyll-imgix) -- Transform, optimize, and intelligently cache your entire image library for fast websites and apps. Freemium/Commercial
- jekyll-postfiles ★109 (gem: jekyll-postfiles) -- Ease the management of images (and other files) attached to Markdown blog posts
- jekyll-imgproxy-tag ★0 (gem: jekyll-imgproxy-tag) -- Generate urls to secure imgproxy images.
- jekyll-responsive-magick ★0 (gem: jekyll-responsive-magick) -- Responsive images via
srcset
, width
and height
filters, automatic image resizing with ImageMagick.
- jekyll_img
(gem: 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 ★32 (gem: jekyll-octicons) -- liquid plugin that makes including svg Octicons simple. Archived
- Jekyll PIG ★8 (gem: jekyll-pig) - Uses ImageMagick and pig.js to create progressive image galleries for Jekyll sites.
Videos & Screencasts
- YouTube ★79 (gem: 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 ★37 (gem: jekyll-asciinema) -- a tag for embedding asciicasts recorded with asciinema in your Jekyll pages.
- ReactPlayer -- a tag for embedding react-player supported formats in your Jekyll pages.
Audios & Podcasts
- Octopod ★114 (gem: jekyll-octopod) by Stefan Haslinger, Arne Eilermann, et al -- a podcast publishing extension. Archived
Geocoding & Maps
- Geocode ★11 (gem: jekyll-geocode) by Bertrand Keller -- geo-encode addresses from a datafile for drawing maps
- Maps ★123 (gem: jekyll-maps) by Anatoliy Yastreb -- embed maps with filterable locations
Markup & Markdown Converters
- Pug, gem: jekyll-pug -- convert Pug files into HTML
- Slim ★36, gem: jekyll-slim -- Slim converter and includes for Jekyll with support for Liquid tags. Archived
- AsciiDoc ★276, gem: jekyll-asciidoc -- AsciiDoc convertor for Jekyll using Asciidoctor.
- Commonmark ★29, gem: jekyll-commonmark -- Markdown converter that uses libcmark, the reference parser for CommonMark.
- Textile ★15 (gem: jekyll-textile-converter) -- convert
.textile
files into HTML; also includes the textilize
Liquid filter #Official
- Jektex ★17, gem: 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 ★185 (gem: jekyll-mentions) -- @mentionable support for your site #Official #GitHub Pages
- Jemoji ★503 (gem: jemoji) -- GitHub-flavored emoji plugin #Official #GitHub Pages
- Time Ago ★138 (gem: jekyll-timeago) -- Converts a time value to the time ago in words.
- jekyll_time_since
(gem: 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 ★28 (gem: liquid_pluralize) by Benjamin Esham -- Easily combine a number and a word into a grammatically-correct amount like “1 minute” or “2 minutes”.
- Reading Time ★109 (gem: 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) ★260 (gem: jekyll-toc)-- A liquid filter plugin for Jekyll which generates a table of contents.
- Smartify ★9 (gem: jekyll-smartify) by Pat Hawks -- SmartyPants filter. Make "quotes" “curly”. Archived
- MD5 ★13 (gem: liquid-md5) by Pat Hawks -- Returns an MD5 hash. Helpful for generating Gravatars in templates
- Roman ★6 (gem: jekyll-roman) by Paul Robert Lloyd -- A liquid filter for Jekyll that converts numbers into Roman numerals
- Typogrify ★26 (gem: jekyll-typogrify) by Myles Braithwaite -- A Jekyll plugin that brings the functions of typogruby.
- Email Protect ★75 (gem: jekyll-email-protect) by Vincent Wochnik -- Email protection liquid filter for Jekyll
- Jekyll Liquify ★25 (gem: jekyll-liquify) a filter that parses Liquid from front matter
- jekyll_from_to_until
(gem: 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
(gem: jekyll_basename_dirname)
by Mike Slinn –
Provides filters that return portions of a string:
basename
, dirname
and basename_without_extension
.
- jekyll_begin_end
(gem: 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
.
Also supports highlighting text matching a regex, and dark mode.
- Glossary Tooltip Tag ★7 (gem: 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
(gem: 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
(gem: 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
(gem: 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
(gem: jekyll_outline)
by Mike Slinn –
Organizes the index of a collection into chapters.
- jekyll_pre
(gem: 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
Analytics
- Analytics ★191 (gem: jekyll-analytics) by Hendrik Schneider -- adds webtracking easily to your site; supports multiple trackers like Google Analytics, Piwik, etc.
Generators
Commands & Switches
Importers
Other
- GitHub Metadata ★215 (gem: jekyll-github-metadata) --
site.github
#Official #GitHub Pages
- Jekyll Spaceship ★381 (gem: jekyll-spaceship) -- 🚀 A Jekyll plugin to provide powerful supports for table, mathjax, plantuml, mermaid, emoji, video, youtube, vimeo, dailymotion, audio, spotify, soundcloud, etc.
- Rendering ★22 (gem: jekyll-rendering) -- provide alternative rendering engines. Archived
- Contentful ★94 (gem: jekyll-contentful-data-import) -- Adds a
contentful
sub-command to Jekyll to import data from Contentful.
- Paspagon ★10 (gem: jekyll-paspagon) -- sell your posts in various formats for cryptocurrencies.
- PWA-Workbox ★22 (gem: 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 ★82 (gem: jekyll-target-blank) -- Automatically adds
target="_blank"
to external links, can add css-classes and/or various rel=""
attributes.
- Workbox ★14 (gem: jekyll-workbox-plugin) -- Generate Service Worker using Google Workbox.
- Bootstrap 5 Tabs (gem: jekyll_bootstrap5_tabs) – Enables Bootstrap 5 tabs in Jekyll content.
- jekyll-http-request (gem: 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
Coding Support for Plugins & Liquid Programming
Authentication & Authorization
- GitHub OAuth ★821 (gem: jekyll-auth) by Ben Balter et al -- use GitHub OAuth to serve a protected site to your GitHub org
Admin & Visual Editors
Admin ★2.6k (gem: 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 ★51 (gem: jekyll-manager) by Ashwin Maroli -- An administrative framework for Jekyll sites, Jekyll Manager is essentially Jekyll Admin repackaged with some alterations.
Notion Fetch ★4 (gem: jekyll-fetch-notion) -- Makes it easy to manage your website content using Notion (git-based approach).
Watch & Live Reload
- Watch ★88 (gem: jekyll-watch) -- rebuild your site when a file changes with the
--watch
switch #Official
- Hawkins ★57 (gem: 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
Upload & Deploy
- Jekyll Deploy Action ★177 (jekyll-deploy-action) -- 🪂 A Github Action to deploy the Jekyll site conveniently for GitHub Pages.
- Deploy ★33 (gem: jekyll-deploy) -- adds a
deploy
command
- 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
More
Note: For all jekyll plugin scripts & pasties, see the scripts & pasties page.
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. Thanks!