
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
- GitHub: github.com/jchance/jekyll-bunny
- RubyGems: rubygems.org/gems/jekyll-bunny
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;
}

