Skip to main content

Reusable Wagtail app to manage header and footer scripts sitewide and per-page.

Project description

Wagtail Header & Footer Scripts

A reusable Wagtail app for managing header and footer scripts across different sites using Wagtail Settings. It also supports adding page-specific header and footer scripts.

Features

  • Add header/footer scripts per site
  • Add header/footer scripts specific to individual pages
  • Use Wagtail settings and model clustering
  • Toggle scripts on/off
  • Render scripts using custom template tags
  • Supports easy integration into Wagtail pages via models

Installation

pip install wagtail-headers-footers

Add to INSTALLED_APPS

INSTALLED_APPS = [
    ...
    "wagtail.contrib.settings",
    "wagtail_headers_footers",
]

Add context processor to your settings

TEMPLATES = [
    {
        ...
        "OPTIONS": {
            "context_processors": [
                ...
                "wagtail.contrib.settings.context_processors.settings",
            ],
        },
    },
]

Migrate Wagtail H/F

python manage.py migrate wagtail_headers_footers

Usage

Add Site-wide scripts

Go to Settings > Headers & Footers in the Wagtail Admin to manage your scripts.

Wagtail Admin Screenshot

Add page-specific scripts

For page-specific headers and footers, you can add them by inheriting the following in your page models:

from wagtail.models import Page
from wagtail_headers_footers.models import PageHeaderFooterScriptsMixin

class HomePage(PageHeaderFooterScriptsMixin, Page):
    content_panels = Page.content_panels + PageHeaderFooterScriptsMixin.header_footer_panels

Don't forget to make migrations and migrate if neccessory.

Go to Pages in the Wagtail Admin to manage your page-specific scripts.

Wagtail Admin Page Screenshot

Add to your templates

Add the following code to your base template where you want to render the scripts:

{% load header_footer_tags %}

<head>
	...
    {% render_header_scripts %}
	...
</head>
<body>
    ...
    {% render_footer_scripts %}
	...
</body>

This will render both the site-wide and page-specific header/footer scripts dynamically.

Testing

python -m unittest discover tests

License

MIT

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_headers_footers-0.1.3.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wagtail_headers_footers-0.1.3-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file wagtail_headers_footers-0.1.3.tar.gz.

File metadata

File hashes

Hashes for wagtail_headers_footers-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2ec240ebfa185c33266c9770f83432f282c207c9a5ecf72ebbedcd3a64657260
MD5 69ed55b19df46cf0382f06fc91cba342
BLAKE2b-256 3c83f3a9eb58efa3874caac717cdbb6ebdc8db5b217e7c5685c5926e7f728b21

See more details on using hashes here.

File details

Details for the file wagtail_headers_footers-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for wagtail_headers_footers-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ed922bbf044f1357e9e7184c041d81faf40518608c0976d8662ac960cebcc78d
MD5 c854e01216dfcfeaa7dcb6b9fed045a5
BLAKE2b-256 4ffa236718571d3d2de492cbb73df8bd02b1688b78c71397b37a93ae2f314fd7

See more details on using hashes here.

Supported by

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