Embed peertube videos into wagtail.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
François Poulain dff205ea23 adding dist tarball 1 year ago
dist adding dist tarball 1 year ago
wagtailembedpeertube Initial adding 1 year ago
.gitignore Initial adding 1 year ago
CHANGELOG.md Initial adding 1 year ago
CONTRIBUTORS.txt Initial adding 1 year ago
LICENSE Initial adding 1 year ago
MANIFEST.in Initial adding 1 year ago
README Initial adding 1 year ago
README.md Initial adding 1 year ago
setup.py Initial adding 1 year ago

README.md

wagtailembedpeertube

Embed peertube videos into wagtail.

Table of content

Introduction

Wagtail has a great support of Oembed, for embedding content. Unfortunately the Oembed mecanism 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, currently there is for now more than 300 instances and it will probably grow with years. See e.g. https://instances.joinpeertube.org

This app bring Oembed support for decentralized peertube instances.

To do this we only focus on a string URI filtering, allowing all services from any domain name.

Installation

Requirements

You will need wagtail.embeds which is part of Wagtail’s core modules.

Pip installation

$ pip install wagtailembedpeertube

Settings

Add the app to your project

You have to add wagtailembedpeertube anywhere after wagtail.embeds in your project settings.

Configure embeds finders

You have to declare the peertube finder in your project settings, so Wagtail will make use of it.

WAGTAILEMBEDS_FINDERS = [
    {
        'class': 'wagtail.embeds.finders.oembed',
    },
    {
        'class': 'wagtailembedpeertube.finders',
    },
]

Since the first matching finder will be used, you should declare wagtailembedpeertube as last because others finders are matching domain names and may be more precise.

See Configuring embed “finders” for more informations.

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()

License

wagtailembedpeertube is developed by Cliss XXI and licensed under the AGPLv3+.