Pelican YouTube is a Pelican plugin, which allows you to embed YouTube videos in your pages and articles.
You can install pelican-youtube from PyPI as usual, e.g.
pip install pelican-youtube
Pelican 4.5+ will detect the newly installed plugin automatically.
See the Pelican documentation on plugins if you use an older version or you want to manually integrate the plugin in your pelicanconf.py.
$ mkdir plugins
$ cd plugins
$ git clone https://github.com/kura/pelican_youtube.git
Then enable it in your pelicanconf.py, e.g.
PLUGIN_PATHS = ["plugins/"]
PLUGINS = [
# ...
"pelican_youtube",
# ...
]
In your article or page, you simply need to add a line to embed your video.
.. youtube:: VIDEO_ID
Which will result in:
<div class="youtube youtube-16x9">
<iframe src="https://www.youtube.com/embed/VIDEO_ID" allowfullscreen seamless frameBorder="0"></iframe>
</div>
Note
This code will render you a fully responsive YouTube video, spanning the whole available container width. Note that you will need to integrate the code from youtube.css in your project or template style sheet. Alternatively, you can specify width and height as detailed below.
Attribute | default | |
---|---|---|
allowfullscreen | yes |
allow video to be displayed full-screen |
seamless | yes |
no borders around iframe |
class | youtube-16x9 |
additional CSS classes, usually for responsive behavior |
empty° | (° when width or height are specified) | |
width, height | empty | video dimensions when responsive design is not desired |
Example 1: (responsive design)
.. youtube:: 4_X6EyqXa2s
:class: youtube-4x3
:allowfullscreen: no
:seamless: no
Will result in:
<div class="youtube youtube-4x3">
<iframe src="https://www.youtube.com/embed/4_X6EyqXa2s"></iframe>
</div>
Example 2: (non-responsive design)
.. youtube:: 4_X6EyqXa2s
:width: 800
:height: 500
:allowfullscreen: no
Will result in:
<div class="youtube">
<iframe width="800" height="500" src="https://www.youtube.com/embed/4_X6EyqXa2s" seamless frameBorder="0"></iframe>
</div>
YouTube offers more control via player parameters, which you simply attach to the VIDEO_ID as query parameters. See YouTube documentation for a list of possible parameters.
Example: (start video at time 00:20, start playing automatically, don't show related content at end of video)
.. youtube:: 4_X6EyqXa2s?start=20&autoplay=1&rel=0
The presence of the frameBorder
attribute causes an HTML5 validation error. Unfortunately,
this attribute is still necessary for supporting older versions of Internet Explorer.
MIT license.