Embed PeerTube videos into Wagtail
Project description
wagtailembedpeertube
Embed PeerTube videos into Wagtail.
Introduction
Wagtail has a great support of oEmbed for embedding content. Unfortunately, the oEmbed mechanism is based on services domain names and URI; and this is prone to centralization since it limits to a short list of selected providers.
By the way, there is already hundreds instances and it will probably grow with years - see PeerTube instances.
This app brings oEmbed support for decentralized PeerTube instances. To do this, it only focuses on a string URI filtering, allowing all services from any domain name.
Installation
-
Install using
pip
:pip install wagtailembedpeertube
-
Add
wagtailembedpeertube
to yourINSTALLED_APPS
setting somewhere afterwagtail.embeds
:INSTALLED_APPS = [ ... "wagtail.embeds", ... "wagtailembedpeertube", ... ]
-
Configure embed finders in
WAGTAILEMBEDS_FINDERS
setting to add PeerTube's one at the end, i.e.:WAGTAILEMBEDS_FINDERS = [ { "class": "wagtail.embeds.finders.oembed", }, { "class": "wagtailembedpeertube.finders", }, ]
Since the first matching finder will be used,
wagtailembedpeertube
should be declared as last because others finders are matching domain names and may be more precise. See Configuring embed “finders” for more details.
Usage
That's it! You should now be able to embed any PeerTube content using the
EmbedBlock
:
from wagtail.embeds.blocks import EmbedBlock
class MyStreamField(blocks.StreamBlock):
...
embed = EmbedBlock()
Development
To setup a development environment, clone this repository and follow the installation steps but replace the installation from PyPi by:
pip install -e .[test]
The Python code is formatted and linted thanks to flake8, isort and black. To ease the use of this tools, the following commands are available:
make lint
: check the Python code syntax and imports ordermake format
: fix the Python code syntax and imports order
License
This extension is mainly developed by Cliss XXI and licensed under the AGPLv3+. Any contribution is welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wagtailembedpeertube-0.2.0.tar.gz
.
File metadata
- Download URL: wagtailembedpeertube-0.2.0.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 431ffe09a9ccedd6c69906ff342c37582cf5ee32da421a8fc79aae071bb57a27 |
|
MD5 | a88e561a5b889774259a02ff06a21efa |
|
BLAKE2b-256 | 4aa1ad032fe6df7d52cb07b0a1329d734373a1e8f1adca2ce71e3f40f75ae4f2 |
File details
Details for the file wagtailembedpeertube-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: wagtailembedpeertube-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 175555312e1a9cfefea86bf72a189b73c601733d3952a3bbcd9ecfc9d55430b4 |
|
MD5 | 94b41e7cd4aac0a31ad0f6e429ed4264 |
|
BLAKE2b-256 | 542f09048b9bff0ea9d3bfae4f35540b51e1ca860e88cfb48a04bd356b207ffa |