Skip to main content

Implements Wagtail CMS asciinema integration

Project description

Implements asciinema-player embedding block.

Requirements (tested)

  • Python 3.5+

  • Wagtail 1.9+

  • Django 1.10

Installation

Install the library with pip:

$ pip install wagtail-asciinema

Add wagtail_asciinema to your INSTALLED_APPS setting like this:

INSTALLED_APPS = [
    ...
    'wagtail_asciinema',
]

Download asciinema-player sources from it’s release page and then place it in your STATIC directory.

Add AsciinemaBlock to your StreamField:

from wagtail_asciinema.blocks import AsciinemaBlock
asciinema = AsciinemaBlock(classname='full')

You can add a method to determine if you need to include asciinema code into your static/js blocks:

from wagtail.wagtailcore.models import Page
class ArticlePage(Page):
    @property
    def has_asciinema(self):
        for stream_child in self.content:
            if stream_child.block.name == 'asciinema':
                return True
        return False

And then add asciinema on your page on demand:

{% block extra_css %}
  {% if self.has_asciinema %}
    <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}frontend/asciinema/v2.4.1/asciinema-player.css">
  {% endif %}
{% endblock %}
{% block extra_js %}
  {% if self.has_asciinema %}
    <script src="{{ STATIC_URL }}frontend/asciinema/v2.4.1/asciinema-player.js"></script>
  {% endif %}
{% endblock %}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wagtail-asciinema-0.0.2.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page