This plugin adds a {% youtube %}
Jekyll Liquid tag that generates a YouTube embed code.
Move youtube.rb
into the _plugins
folder at the root of your Jekyll project.
{% youtube video_id [width] [height] [data-attr:value]... %}
Note: If a width
value is defined without a height
value, a height have will be automatically defined based on the width using a 16:9
aspect ratio.
All YouTube player parameters are configurable with this extension.
Parameter | Default | Notes |
---|---|---|
autoplay | 0 | autoplay |
cc_load_policy | User Prefs | Closed Captions |
color | red | red/white (white disables modestbranding) |
controls | 1 | Display video player controls |
disablekb | 0 | Disable keyboard controls |
enablejsapi | 0 | Enable JavaScript API |
end | none | Stop video at seconds |
fs | 1 | Display fullscreen button |
hl | none | Player's interface language |
iv_load_policy | 1 | 1/3 Display video annotations |
list | none | Read docs |
listType | none | Read docs |
loop | 0 | Loop video |
modestbranding | 0 | 0/1 Hide YouTube logo |
origin | none | Read docs |
playlist | none | List of video IDs |
playsinline | 0 | Play inline on iOS |
rel | 1 | Show related videos |
showinfo | 1 | Display video information |
start | none | Start video at seconds |
widget_referrer | none | Read docs |
Note: All default values are assigned by YouTube, not this plugin.
{% youtube dQw4w9WgXcQ %}
{% youtube dQw4w9WgXcQ 600 rel:0 modestbranding:1 %}
Options may also be set globally by defining a youtube
entry in the _config.yml
file.
youtube:
rel: 0
modestbranding: 1
iv_load_policy: 3
Note: Inline options overwrite the global options.
This extension allows you to define a template located at _includes/youtube.html
, exposing width
, height
, video_id
and query_string
variables, to override the default output.
<div class="video-embed">
<iframe width="{{ width }}" height="{{ height }}" src="https://www.youtube.com/embed/{{ video_id }}{{ query_string }}" allowfullscreen></iframe>
</div>