Mike Slinn

My Jekyll Plugins

Published 2023-05-18. Last modified 2025-04-09.
Time to read: 4 minutes.

This page is part of the jekyll_plugins collection.

Packaging

All plugins are packaged as RubyGems, and I maintain them on GitHub. The plugins are available as open source under the terms of the MIT License.

Usage

To use Jekyll plugins, you must set up a Ruby environment. To learn more about Jekyll, please read my other articles about Jekyll.

The rules for specifying options when using Jekyll tags defined by these plugins are described here.

CSS

Many of these plugins were designed with CSS in mind. Some CSS is common between certain plugins. I’ve broken out the CSS into files.

The benefit to you is that regardless of whether you only install one of these plugins or install several, you will have manageable CSS. Each project’s README.md has a section that discusses the CSS files.

Jekyll_plugin_support and Nugem

The jekyll_plugin_support gem is a framework for building Jekyll plugins.

Nugem is a code generator for writing “plain old gems” and Jekyll plugins that are packaged as gems. Nugem uses the jekyll_plugin_support framework.

Most of my Jekyll plugins began their existence as the scaffolding generated by Nugem.

Organized
By Last Modified
By Original Publication Date

Organization

2025-06-09 jekyll_outline – Organizes the index of a collection into chapters. 2023-05-18 jekyll_archive_create – This Jekyll generator plugin creates tar and zip archives. 2023-05-18 jekyll_archive_display – This Jekyll tag plugin lists the names and contents of each file in a tar file. 2023-05-18 jekyll_reading_time – A Liquid filter to estimate how long a passage of text will take to read.

Filters

2024-07-26 jekyll_basename_dirname – This Jekyll plugin provides 3 filters that return portions of a string: basename, basename_without_extension, dirname and wbr. 2023-05-23 jekyll_begin_end – Defines Jekyll filters: append_suffix_if_does_not_start_with, begins_with, does_not_begin_with, does_not_end_with, and ends_with. 2023-11-19 jekyll_from_to_until – This Jekyll plugin provides filters that return portions of a multiline string: from, to and until. 2023-05-18 evaluate – Liquid filter that returns the result of evaluating a Ruby expression. 2023-05-18 jekyll_badge – Displays a badge on a Jekyll page for the package showing its version. 2023-05-18 jekyll_nth – Liquid filter that returns item n of a Ruby array, origin 1. 2023-05-18 jekyll_time_since – A collection of Liquid filters that return the elapsed time since a date or date and time.

HTML

2023-05-18 jekyll_bootstrap5_tabs – Enables Bootstrap 5 tabs in Jekyll websites. 2023-07-07 jekyll_emoji – Jekyll tag that inserts an emoji. 2023-12-27 jekyll_google_translate – Jekyll plugin that includes a Google Translate pull-down into a web page. 2025-02-07 jekyll_href – Jekyll plugin that generates an HTML a href tag, possibly with target='_blank' and rel='nofollow'. The titles of linked Jekyll pages can automatically be used as link text, and if the pages do not exist an error is displayed. URLs can be composed from 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. 2025-05-17 jekyll_img – This versatile plugin embeds responsive images in documents and pages with alignment options, flexible resizing, default styling, overridable styling, an optional caption, and an optional URL. 2025-03-28 jekyll_pre – Jekyll tags for HTML <pre/>, copy content button, unselectable text, and incorporating command-line output into documents. 2025-01-14 jekyll_quote – Formats citations and quotes in a Jekyll website. 2023-05-18 jekyll_download_link – Generates a link to download a file. The path can be absolute or relative to the website. 2023-05-18 jekyll_run – Jekyll tag plugin that executes a program and returns the output from STDOUT. 2023-11-08 jekyll_video – Jekyll tag plugin that embeds an HTML5 video into a web page.

Utilities

2023-05-18 jekyll_flexible_include – Jekyll’s built-in include tag does not support including files outside the _includes folder. This plugin supports 4 types of includes. 2023-05-18 jekyll_site_inspector – Dumps lots of information from site when enabled by the site_inspector setting in _config.yml.

Plugin Components

2023-11-21 jekyll_plugin_logger – Colored Jekyll logging for plugins. 2025-06-12 jekyll_plugin_support – A Ruby gem that provides a framework for writing and testing Jekyll plugins. 2025-02-07 jekyll_all_collections – This plugin has been retired; Its functionality now resides in jekyll_plugin_support. 2023-05-18 jekyll_sort_natural – Provides a Jekyll filter that provides case-insensitive hash key sorting. 2025-02-07 jekyll_draft – Provides special handling for draft Jekyll documents and detects several draft variants. 2023-05-18 jekyll_random_hex – Outputs a string of random hexadecimal characters of any length.
2025-06-12jekyll_plugin_support 2025-06-09jekyll_outline 2025-05-17jekyll_img 2025-04-09My Jekyll Plugins 2025-03-28jekyll_pre 2025-02-07jekyll_href 2025-02-07jekyll_all_collections 2025-02-07jekyll_draft 2025-01-14jekyll_quote 2024-07-26jekyll_basename_dirname 2023-12-27jekyll_google_translate 2023-11-21jekyll_plugin_logger 2023-11-19jekyll_from_to_until 2023-11-08jekyll_video 2023-07-07jekyll_emoji 2023-05-23jekyll_begin_end 2023-05-18jekyll_archive_create 2023-05-18jekyll_archive_display 2023-05-18jekyll_reading_time 2023-05-18evaluate 2023-05-18jekyll_badge 2023-05-18jekyll_nth 2023-05-18jekyll_time_since 2023-05-18jekyll_bootstrap5_tabs 2023-05-18jekyll_download_link 2023-05-18jekyll_run 2023-05-18jekyll_flexible_include 2023-05-18jekyll_site_inspector 2023-05-18jekyll_sort_natural 2023-05-18jekyll_random_hex
2023-12-27jekyll_google_translate 2023-05-18My Jekyll Plugins 2023-02-12jekyll_plugin_support 2020-10-03evaluate 2020-10-03jekyll_all_collections 2020-10-03jekyll_archive_create 2020-10-03jekyll_archive_display 2020-10-03jekyll_badge 2020-10-03jekyll_basename_dirname 2020-10-03jekyll_begin_end 2020-10-03jekyll_bootstrap5_tabs 2020-10-03jekyll_download_link 2020-10-03jekyll_draft 2020-10-03jekyll_emoji 2020-10-03jekyll_flexible_include 2020-10-03jekyll_from_to_until 2020-10-03jekyll_href 2020-10-03jekyll_img 2020-10-03jekyll_nth 2020-10-03jekyll_outline 2020-10-03jekyll_plugin_logger 2020-10-03jekyll_pre 2020-10-03jekyll_quote 2020-10-03jekyll_random_hex 2020-10-03jekyll_reading_time 2020-10-03jekyll_run 2020-10-03jekyll_site_inspector 2020-10-03jekyll_sort_natural 2020-10-03jekyll_time_since 2020-10-03jekyll_video
* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.