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.2.tar.gz (8.5 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.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for wagtail_headers_footers-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4c659ef23539e41ccdf8e1426cee8bf27509b29fd044d46dc9f2237ed84a8d02
MD5 aa0beb42432e2caa8bf30fdab2f2591d
BLAKE2b-256 4a3bff300de00591e12f0a8cb4abc41540d1b5d1658c085e585ed02229ee5fdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wagtail_headers_footers-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9aca316cc3112a028b980d4e77eace6b7f6e499e24d4ea8ed6302a1add9d93e0
MD5 877c3e8613e0f7b3c3b82d289ffcf535
BLAKE2b-256 f97c4aa7bedb4ff0fd8aa8998936edda28577335d7bcd834335e31848e23f023

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