jekyll-bunny
bunny.net — the global edge platform that truly hops. jekyll-bunny makes embedding Bunny Stream videos in Jekyll as simple as one tag.
Open Source Plugin

jekyll-bunny

A Jekyll plugin that provides a {% bunny %} Liquid tag for embedding Bunny Stream videos with a responsive iframe wrapper.

jekyll-bunny is a Jekyll plugin that makes embedding Bunny Stream-hosted videos as simple as one tag. It outputs a clean, responsive iframe wrapper using the official Bunny Stream embed URL.

Demo

{% bunny 51808 3f2bd49c-0496-4fc4-ad42-026f09d474ea autoplay=false loop=false showSpeed=true chromecast=true %}

Why This Exists

Bunny Stream is a fast, affordable video hosting platform with a solid embedded player. If you’re already using Bunny for CDN or storage and want a clean way to embed Bunny Stream videos in Jekyll, this plugin handles the iframe and all the embed parameters for you.

Source Code

Installation

Add to your Gemfile:

gem "jekyll-bunny", "~> 0.1"

Add to _config.yml:

plugins:
  - jekyll-bunny

Then run bundle install.

Usage

The tag requires both your Library ID and Video ID:

Basic embed:

{% bunny LIBRARY_ID VIDEO_ID %}

With parameters:

{% bunny LIBRARY_ID VIDEO_ID autoplay=false loop=true showSpeed=true %}
{% bunny LIBRARY_ID VIDEO_ID t=30s muted=true %}

Both IDs are available in your Bunny Stream dashboard. The library ID is the number in the embed URL; the video ID is the UUID.

Supported Parameters

Parameter Values Description
autoplay true, false Autoplay on load
loop true, false Loop playback
muted true, false Start muted
preload true, false Preload video files
playsinline true, false Inline playback on mobile
t 30s, 1h20m45s, seconds Start position
captions caption short-code Default caption language
chromecast true, false Enable Chromecast
disableAirplay true, false Disable AirPlay
showHeatmap true, false Show engagement heatmap
showSpeed true, false Show playback speed control
rememberPosition true, false Remember last playback position
compactControls true, false Compact player UI

Styling

The plugin outputs a wrapper div with the class bunny-embed. No spacing is applied by default. Add your own in your site CSS:

.bunny-embed {
  margin-bottom: 2rem;
}