A wagtail implementation of the NHS frontend v6.2.0 standard components.
Install the pypi package
pip install wagtail-nhsuk-frontend
Add to your INSTALLED_APPS
in wagtail settings
INSTALLED_APPS = [
...
'wagtailnhsukfrontend',
...
]
Use blocks in your streamfields
from wagtail.admin.panels import FieldPanel
from wagtail.models import Page
from wagtail.fields import StreamField
from wagtailnhsukfrontend.blocks import ActionLinkBlock, WarningCalloutBlock
class HomePage(Page):
body = StreamField([
# Include any of the blocks you want to use.
('action_link', ActionLinkBlock()),
('callout', WarningCalloutBlock()),
], use_json_field=True)
content_panels = Page.content_panels + [
FieldPanel('body'),
]
Use templatetags
{% load nhsukfrontend_tags %}
<html>
...
<body>
{% breadcrumb %}
</body>
</html>
Use template includes
{% include 'wagtailnhsukfrontend/header.html' with show_search=True %}
See the component documentation for a list of components you can use.
Include the CSS in your base template
<link rel="stylesheet" type="text/css" href="{% static 'wagtailnhsukfrontend/css/nhsuk.min.css' %}">
Include the Javascript in your base template
<script type="text/javascript" src="{% static 'wagtailnhsukfrontend/js/nhsuk.min.js' %}" defer></script>
If you are upgrading from v0 to v1, see the changelog.
This CSS and JS is taken directly from the nhsuk-frontend library and provided in this package for convenience.
If you have a more complicated frontend build such as compiling your own custom styles, you might want to install from npm instead.
See the contributing documentation to run the application locally and contribute changes.
See more documentation