@x-govuk/govuk-eleventy-plugin 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +23 -0
- package/README.md +31 -0
- package/components/all.js +13 -0
- package/components/all.scss +10 -0
- package/components/aside/_aside.scss +17 -0
- package/components/aside/macro.njk +3 -0
- package/components/aside/template.njk +13 -0
- package/components/contents-list/_contents-list.scss +59 -0
- package/components/definition-list/_definition-list.scss +16 -0
- package/components/document-header/_document-header.scss +4 -0
- package/components/document-header/macro.njk +3 -0
- package/components/document-header/template.njk +49 -0
- package/components/document-list/_document-list.scss +51 -0
- package/components/document-list/macro.njk +3 -0
- package/components/document-list/template.njk +34 -0
- package/components/footer/_ogl.svg +3 -0
- package/components/footer/macro.njk +3 -0
- package/components/footer/template.njk +72 -0
- package/components/footnotes-list/_footnotes-list.scss +50 -0
- package/components/header/_crown.svg +8 -0
- package/components/header/_header.scss +29 -0
- package/components/header/_royal-arms.svg +3 -0
- package/components/header/_x-govuk.svg +3 -0
- package/components/header/macro.njk +3 -0
- package/components/header/template.njk +29 -0
- package/components/link/_link.scss +22 -0
- package/components/prose-scope/_prose-scope.scss +136 -0
- package/components/prose-scope/macro.njk +3 -0
- package/components/prose-scope/template.njk +4 -0
- package/components/site-search/_site-search.scss +243 -0
- package/components/site-search/macro.njk +3 -0
- package/components/site-search/site-search.js +142 -0
- package/components/site-search/template.njk +4 -0
- package/index.js +50 -0
- package/layouts/base.njk +75 -0
- package/layouts/collection.njk +57 -0
- package/layouts/page.njk +19 -0
- package/layouts/post.njk +45 -0
- package/layouts/product.njk +36 -0
- package/layouts/search-index.njk +12 -0
- package/layouts/shared/related.njk +7 -0
- package/layouts/sitemap.njk +42 -0
- package/layouts/sub-navigation.njk +28 -0
- package/layouts/tag.njk +24 -0
- package/layouts/tags.njk +27 -0
- package/lib/collections/ordered.js +12 -0
- package/lib/collections/sitemap.js +7 -0
- package/lib/collections/tag-pages.js +2 -0
- package/lib/collections/tags.js +28 -0
- package/lib/data/eleventy-computed.js +48 -0
- package/lib/data/options.js +38 -0
- package/lib/events/generate-govuk-assets.js +67 -0
- package/lib/extensions/scss.js +27 -0
- package/lib/filters/date.js +33 -0
- package/lib/filters/includes.js +21 -0
- package/lib/filters/items-from-collection.js +15 -0
- package/lib/filters/items-from-navigation.js +49 -0
- package/lib/filters/items-from-pagination.js +20 -0
- package/lib/filters/markdown.js +20 -0
- package/lib/filters/no-orphans.js +26 -0
- package/lib/filters/pretty.js +12 -0
- package/lib/filters/smart.js +17 -0
- package/lib/filters/tokenize.js +32 -0
- package/lib/govuk.js +11 -0
- package/lib/govuk.scss +15 -0
- package/lib/markdown-it/deflist.js +11 -0
- package/lib/markdown-it/footnote.js +49 -0
- package/lib/markdown-it/table-of-contents.js +14 -0
- package/lib/markdown-it/table.js +19 -0
- package/lib/markdown-it.js +53 -0
- package/lib/nunjucks.js +49 -0
- package/lib/utils.js +38 -0
- package/package.json +93 -0
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 X-GOVUK
|
|
4
|
+
Copyright (c) 2019 Paul Robert Lloyd
|
|
5
|
+
Copyright (c) 2014 Crown Copyright (Government Digital Service)
|
|
6
|
+
|
|
7
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
8
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
9
|
+
the Software without restriction, including without limitation the rights to
|
|
10
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
11
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
12
|
+
so, subject to the following conditions:
|
|
13
|
+
|
|
14
|
+
The above copyright notice and this permission notice shall be included in all
|
|
15
|
+
copies or substantial portions of the Software.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# GOV.UK Eleventy Plugin • [](https://github.com/x-govuk/govuk-eleventy-plugin/actions/workflows/test.yml)
|
|
2
|
+
|
|
3
|
+
Build documentation websites using Markdown and GOV.UK styles.
|
|
4
|
+
|
|
5
|
+
You’re welcome to use the plugin even if your service isn’t considered part of GOV.UK, but your site or service must not:
|
|
6
|
+
|
|
7
|
+
* identify itself as being part of GOV.UK
|
|
8
|
+
* use the crown or GOV.UK logotype in the header
|
|
9
|
+
* use the GDS Transport typeface
|
|
10
|
+
* suggest that it’s an official UK government website if it’s not
|
|
11
|
+
|
|
12
|
+
## Requirements
|
|
13
|
+
|
|
14
|
+
* [Node.js](https://nodejs.org) v16 or above
|
|
15
|
+
* [Eleventy](https://www.11ty.dev) v2.0.0 or above
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
`npm install @x-govuk/govuk-eleventy-plugin`
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
```js
|
|
24
|
+
const govukEleventyPlugin = require('@x-govuk/govuk-eleventy-plugin')
|
|
25
|
+
|
|
26
|
+
eleventyConfig.addPlugin(govukEleventyPlugin, {
|
|
27
|
+
// Options
|
|
28
|
+
})
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Learn more about how to [get started](https://x-govuk.github.io/govuk-eleventy-plugin/get-started/) and which [options you can provide](https://x-govuk.github.io/govuk-eleventy-plugin/options/).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import SiteSearch from './site-search/site-search.js'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Initiate all component modules
|
|
5
|
+
*/
|
|
6
|
+
export const initAll = function () {
|
|
7
|
+
const scope = document.documentElement
|
|
8
|
+
|
|
9
|
+
const siteSearch = scope.querySelectorAll('[data-module="app-site-search"]')
|
|
10
|
+
siteSearch.forEach(element => {
|
|
11
|
+
new SiteSearch(element).init()
|
|
12
|
+
})
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@import "aside/aside";
|
|
2
|
+
@import "contents-list/contents-list";
|
|
3
|
+
@import "definition-list/definition-list";
|
|
4
|
+
@import "document-header/document-header";
|
|
5
|
+
@import "document-list/document-list";
|
|
6
|
+
@import "footnotes-list/footnotes-list";
|
|
7
|
+
@import "header/header";
|
|
8
|
+
@import "link/link";
|
|
9
|
+
@import "prose-scope/prose-scope";
|
|
10
|
+
@import "site-search/site-search";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.app-aside {
|
|
2
|
+
@include govuk-responsive-margin(6, "bottom");
|
|
3
|
+
@include govuk-text-colour;
|
|
4
|
+
border-top: 2px solid $govuk-brand-colour;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.app-aside__heading {
|
|
8
|
+
@include govuk-font(19, $weight: bold);
|
|
9
|
+
margin-top: govuk-spacing(3);
|
|
10
|
+
margin-bottom: govuk-spacing(2);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.app-aside__body {
|
|
14
|
+
> * {
|
|
15
|
+
@include govuk-font(16);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{% set headingLevel = params.headingLevel or 2 %}
|
|
2
|
+
|
|
3
|
+
<aside class="app-aside">
|
|
4
|
+
{% if params.title %}
|
|
5
|
+
<h{{ headingLevel }} class="app-aside__heading">
|
|
6
|
+
{{ params.title }}
|
|
7
|
+
</h{{ headingLevel }}>
|
|
8
|
+
{% endif %}
|
|
9
|
+
|
|
10
|
+
<div class="app-aside__body">
|
|
11
|
+
{{ params.content | markdown }}
|
|
12
|
+
</div>
|
|
13
|
+
</aside>
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Based on the GOV.UK ‘Contents list’ component
|
|
2
|
+
// https://components.publishing.service.gov.uk/component-guide/contents_list
|
|
3
|
+
.app-contents-list {
|
|
4
|
+
@extend %govuk-list;
|
|
5
|
+
@include govuk-responsive-margin(8, "bottom");
|
|
6
|
+
|
|
7
|
+
ul {
|
|
8
|
+
@extend %govuk-list;
|
|
9
|
+
margin-top: 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
ul ul {
|
|
13
|
+
margin-bottom: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
li {
|
|
17
|
+
@include govuk-font($size: 16, $weight: bold);
|
|
18
|
+
@include govuk-text-colour;
|
|
19
|
+
padding-top: govuk-spacing(2);
|
|
20
|
+
|
|
21
|
+
@include govuk-media-query($from: tablet) {
|
|
22
|
+
padding-top: govuk-spacing(6) / 4;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
li li {
|
|
27
|
+
font-weight: normal;
|
|
28
|
+
padding-left: govuk-spacing(5);
|
|
29
|
+
position: relative;
|
|
30
|
+
|
|
31
|
+
&:before {
|
|
32
|
+
content: "—";
|
|
33
|
+
left: 0;
|
|
34
|
+
overflow: hidden;
|
|
35
|
+
position: absolute;
|
|
36
|
+
width: govuk-spacing(4);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Focus styles on IE8 and older include the left margin, creating an odd
|
|
40
|
+
// white box with yellow border around the em dash.
|
|
41
|
+
// https://github.com/alphagov/government-frontend/pull/420#issuecomment-320632386
|
|
42
|
+
@include govuk-if-ie8 {
|
|
43
|
+
display: inline-block;
|
|
44
|
+
vertical-align: top;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
a {
|
|
49
|
+
@include govuk-link-common;
|
|
50
|
+
@include govuk-link-style-default;
|
|
51
|
+
@include govuk-link-style-no-underline;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.app-contents-list__title {
|
|
56
|
+
@include govuk-text-colour;
|
|
57
|
+
@include govuk-font($size: 16, $weight: regular, $line-height: 1.5);
|
|
58
|
+
margin: 0;
|
|
59
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.app-definition-list {
|
|
2
|
+
@extend %govuk-list;
|
|
3
|
+
|
|
4
|
+
dt {
|
|
5
|
+
@include govuk-font($size: 19, $weight: bold);
|
|
6
|
+
margin-bottom: govuk-spacing(1);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
dd + dt {
|
|
10
|
+
margin-top: govuk-spacing(4);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
dd {
|
|
14
|
+
margin-left: govuk-spacing(5);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{%- macro _authorLink(author) -%}
|
|
2
|
+
{%- if author.url -%}
|
|
3
|
+
<a class="govuk-link" href="{{ author.url }}">{{ author.name }}</a>
|
|
4
|
+
{%- else -%}
|
|
5
|
+
{{- author.name or author -}}
|
|
6
|
+
{%- endif -%}
|
|
7
|
+
{% endmacro -%}
|
|
8
|
+
|
|
9
|
+
<header class="app-document-header">
|
|
10
|
+
<h1 class="app-document-header__title govuk-heading-xl">
|
|
11
|
+
{{ params.title | smart }}
|
|
12
|
+
</h1>
|
|
13
|
+
{% if params.description %}
|
|
14
|
+
<p class="app-document-header__description govuk-body-l">
|
|
15
|
+
{{ params.description | markdown("inline") }}
|
|
16
|
+
</p>
|
|
17
|
+
{% endif %}
|
|
18
|
+
|
|
19
|
+
{% if params.date or params.modified or params.authors or params.author %}
|
|
20
|
+
<p class="app-document-header__metadata">
|
|
21
|
+
{%- if params.authors -%}
|
|
22
|
+
<span class="govuk-visually-hidden">Posted by</span>
|
|
23
|
+
{%- for author in params.authors -%}
|
|
24
|
+
{{- " and " if loop.last else (", " if not loop.first) -}}
|
|
25
|
+
{{- _authorLink(author) -}}
|
|
26
|
+
{%- endfor -%}
|
|
27
|
+
<span aria-hidden="true"> • </span>
|
|
28
|
+
{%- elif params.author -%}
|
|
29
|
+
{{- _authorLink(params.author) -}}
|
|
30
|
+
<span aria-hidden="true"> • </span>
|
|
31
|
+
{%- endif -%}
|
|
32
|
+
{%- if params.date -%}
|
|
33
|
+
<span class="govuk-visually-hidden">Posted on </span><time datetime="{{ params.date | date }}">{{ params.date | date("d LLLL y") }}</time>
|
|
34
|
+
{%- endif -%}
|
|
35
|
+
{%- if params.modified -%}
|
|
36
|
+
<span aria-hidden="true"> • </span>Last updated <time datetime="{{ params.modified | date }}">{{ params.modified | date("d LLLL y") }}</time>
|
|
37
|
+
{%- endif -%}
|
|
38
|
+
{%- if params.tags | length > 0 -%}
|
|
39
|
+
<span aria-hidden="true"> • </span>Tags:
|
|
40
|
+
{%- for tag in params.tags %}
|
|
41
|
+
{% set item = params.tagPages | includes("data.tag", tag) | first %}
|
|
42
|
+
<a href="{{ item.url }}" class="govuk-link">{{ item.data.tag }}</a>
|
|
43
|
+
{%- if not loop.last %}, {% endif %}
|
|
44
|
+
{%- endfor -%}
|
|
45
|
+
{%- endif -%}
|
|
46
|
+
</p>
|
|
47
|
+
{% endif %}
|
|
48
|
+
</header>
|
|
49
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
.app-document-list {
|
|
2
|
+
list-style: none;
|
|
3
|
+
margin: 0;
|
|
4
|
+
padding: 0;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.app-document-list__item {
|
|
8
|
+
border-top: 1px solid $govuk-border-colour;
|
|
9
|
+
margin-bottom: govuk-spacing(5);
|
|
10
|
+
padding-top: govuk-spacing(2);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.app-document-list__item-title {
|
|
14
|
+
@include govuk-font($size: 19, $weight: "bold");
|
|
15
|
+
margin: 0 0 govuk-spacing(1);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.app-document-list__item-metadata {
|
|
19
|
+
padding: 0;
|
|
20
|
+
margin: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.app-document-list__item-description {
|
|
24
|
+
@include govuk-font($size: 16);
|
|
25
|
+
margin: govuk-spacing(1) 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.app-document-list__attribute {
|
|
29
|
+
@include govuk-font($size: 14);
|
|
30
|
+
color: $govuk-secondary-text-colour;
|
|
31
|
+
display: inline-block;
|
|
32
|
+
margin: 0;
|
|
33
|
+
|
|
34
|
+
& + .app-document-list__attribute:before {
|
|
35
|
+
content: "\2002•\2002";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.app-document-list--large {
|
|
40
|
+
.app-document-list__item-title {
|
|
41
|
+
@include govuk-font($size: 24, $weight: "bold");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.app-document-list__item-description {
|
|
45
|
+
@include govuk-font($size: 19);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.app-document-list__attribute {
|
|
49
|
+
@include govuk-font($size: 16);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{% set headingLevel = params.headingLevel or 2 %}
|
|
2
|
+
|
|
3
|
+
{% if params.items.length > 0 %}
|
|
4
|
+
<ol class="app-document-list{%- if params.classes %} {{ params.classes }}{% endif %}">
|
|
5
|
+
{% for item in params.items %}
|
|
6
|
+
<li class="app-document-list__item">
|
|
7
|
+
<h{{ headingLevel }} class="app-document-list__item-title">
|
|
8
|
+
<a class="govuk-link" href="{{ item.url | url | pretty }}">{{ item.data.title | smart }}</a>
|
|
9
|
+
</h{{ headingLevel }}>
|
|
10
|
+
{% if item.data.description %}
|
|
11
|
+
<p class="app-document-list__item-description">
|
|
12
|
+
{{ item.data.description | markdown("inline") | safe }}
|
|
13
|
+
</p>
|
|
14
|
+
{% endif %}
|
|
15
|
+
{% if item.data.date or item.data.tags %}
|
|
16
|
+
<ul class="app-document-list__item-metadata">
|
|
17
|
+
{% if item.data.date %}
|
|
18
|
+
<li class="app-document-list__attribute">
|
|
19
|
+
<time datetime="{{ item.data.date | date }}">{{ item.data.date | date("d LLLL y") }}</time>
|
|
20
|
+
</li>
|
|
21
|
+
{% endif %}
|
|
22
|
+
{% if item.data.tags %}
|
|
23
|
+
<li class="app-document-list__attribute">
|
|
24
|
+
Tags: {{ item.data.tags | join(", ") }}
|
|
25
|
+
</li>
|
|
26
|
+
{% endif %}
|
|
27
|
+
</ul>
|
|
28
|
+
{% endif %}
|
|
29
|
+
</li>
|
|
30
|
+
{% endfor %}
|
|
31
|
+
</ol>
|
|
32
|
+
{% else %}
|
|
33
|
+
<p class="govuk-body">No documents found.</p>
|
|
34
|
+
{% endif %}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="govuk-footer__licence-logo" aria-hidden="true" focusable="false" height="17" width="41" viewBox="0 0 483.2 195.7" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill="currentColor" d="M421.5 142.8V.1l-50.7 32.3v161.1h112.4v-50.7zm-122.3-9.6A47.12 47.12 0 0 1 221 97.8c0-26 21.1-47.1 47.1-47.1 16.7 0 31.4 8.7 39.7 21.8l42.7-27.2A97.63 97.63 0 0 0 268.1 0c-36.5 0-68.3 20.1-85.1 49.7A98 98 0 0 0 97.8 0C43.9 0 0 43.9 0 97.8s43.9 97.8 97.8 97.8c36.5 0 68.3-20.1 85.1-49.7a97.76 97.76 0 0 0 149.6 25.4l19.4 22.2h3v-87.8h-80l24.3 27.5zM97.8 145c-26 0-47.1-21.1-47.1-47.1s21.1-47.1 47.1-47.1 47.2 21 47.2 47S123.8 145 97.8 145"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<footer class="govuk-footer app-footer {{ params.classes if params.classes }}" role="contentinfo"{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}>
|
|
2
|
+
<div class="govuk-width-container {{ params.containerClasses if params.containerClasses }}">
|
|
3
|
+
{% if params.navigation | length %}
|
|
4
|
+
<div class="govuk-footer__navigation">
|
|
5
|
+
{% for nav in params.navigation %}
|
|
6
|
+
<div class="govuk-footer__section govuk-grid-column-{{ nav.width | default("full") }}">
|
|
7
|
+
<h2 class="govuk-footer__heading govuk-heading-m">{{ nav.title }}</h2>
|
|
8
|
+
{% if nav.items | length %}
|
|
9
|
+
{% set listClasses %}
|
|
10
|
+
{% if nav.columns %}
|
|
11
|
+
govuk-footer__list--columns-{{ nav.columns }}
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% endset %}
|
|
14
|
+
<ul class="govuk-footer__list {{ listClasses | trim }}">
|
|
15
|
+
{% for item in nav.items %}
|
|
16
|
+
{% if item.href and item.text %}
|
|
17
|
+
<li class="govuk-footer__list-item">
|
|
18
|
+
<a class="govuk-footer__link" href="{{ item.href }}"{% for attribute, value in item.attributes %} {{attribute}}="{{value}}"{% endfor %}>
|
|
19
|
+
{{ item.text }}
|
|
20
|
+
</a>
|
|
21
|
+
</li>
|
|
22
|
+
{% endif %}
|
|
23
|
+
{% endfor %}
|
|
24
|
+
</ul>
|
|
25
|
+
{% endif %}
|
|
26
|
+
</div>
|
|
27
|
+
{% endfor %}
|
|
28
|
+
</div>
|
|
29
|
+
<hr class="govuk-footer__section-break">
|
|
30
|
+
{% endif %}
|
|
31
|
+
<div class="govuk-footer__meta">
|
|
32
|
+
<div class="govuk-footer__meta-item govuk-footer__meta-item--grow">
|
|
33
|
+
{% if params.meta %}
|
|
34
|
+
<h2 class="govuk-visually-hidden">{{ params.meta.visuallyHiddenTitle | default("Support links") }}</h2>
|
|
35
|
+
{% if params.meta.items | length %}
|
|
36
|
+
<ul class="govuk-footer__inline-list">
|
|
37
|
+
{% for item in params.meta.items %}
|
|
38
|
+
<li class="govuk-footer__inline-list-item">
|
|
39
|
+
<a class="govuk-footer__link" href="{{ item.href }}"{% for attribute, value in item.attributes %} {{attribute}}="{{value}}"{% endfor %}>
|
|
40
|
+
{{ item.text }}
|
|
41
|
+
</a>
|
|
42
|
+
</li>
|
|
43
|
+
{% endfor %}
|
|
44
|
+
</ul>
|
|
45
|
+
{% endif %}
|
|
46
|
+
{% if params.meta.text or params.meta.html %}
|
|
47
|
+
<div class="govuk-footer__meta-custom">
|
|
48
|
+
{{ params.meta.html | safe if params.meta.html else params.meta.text }}
|
|
49
|
+
</div>
|
|
50
|
+
{% endif %}
|
|
51
|
+
{% endif %}
|
|
52
|
+
{% if params.contentLicence.html or params.contentLicence.text %}
|
|
53
|
+
<span class="govuk-footer__licence-description">
|
|
54
|
+
{{ params.contentLicence.html | safe if params.contentLicence.html else params.contentLicence.text }}
|
|
55
|
+
</span>
|
|
56
|
+
{% else %}
|
|
57
|
+
{% include "./_ogl.svg" %}
|
|
58
|
+
<span class="govuk-footer__licence-description">
|
|
59
|
+
All content is available under the <a class="govuk-footer__link" href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" rel="license">Open Government Licence v3.0</a>, except where otherwise stated
|
|
60
|
+
</span>
|
|
61
|
+
{% endif %}
|
|
62
|
+
</div>
|
|
63
|
+
<div class="govuk-footer__meta-item">
|
|
64
|
+
{%- if params.copyright.html or params.copyright.text -%}
|
|
65
|
+
{{ params.copyright.html | safe if params.copyright.html else params.copyright.text }}
|
|
66
|
+
{% else %}
|
|
67
|
+
<a class="govuk-footer__link govuk-footer__copyright-logo" href="https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/">© Crown copyright</a>
|
|
68
|
+
{% endif %}
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</footer>
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Link to footnote
|
|
2
|
+
a[aria-describedby="footnotes-label"] {
|
|
3
|
+
@include govuk-font(14, $tabular: true);
|
|
4
|
+
@include govuk-link-style-no-visited-state;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
a[aria-describedby="footnotes-label"]:before {
|
|
8
|
+
color: currentcolor;
|
|
9
|
+
content: "[";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
a[aria-describedby="footnotes-label"]:after {
|
|
13
|
+
color: currentcolor;
|
|
14
|
+
content: "]";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Footnotes
|
|
18
|
+
.app-footnotes-list {
|
|
19
|
+
@extend %govuk-list;
|
|
20
|
+
counter-reset: footnotes;
|
|
21
|
+
|
|
22
|
+
li {
|
|
23
|
+
counter-increment: footnotes;
|
|
24
|
+
padding: govuk-spacing(3);
|
|
25
|
+
padding-left: govuk-spacing(8);
|
|
26
|
+
position: relative;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
li:before {
|
|
30
|
+
@include govuk-font(19, $tabular: true);
|
|
31
|
+
content: counter(footnotes) ".";
|
|
32
|
+
position: absolute;
|
|
33
|
+
left: govuk-spacing(4);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
a[aria-label="Back to content"] {
|
|
37
|
+
@include govuk-link-style-no-visited-state;
|
|
38
|
+
position: relative;
|
|
39
|
+
text-underline-offset: 0;
|
|
40
|
+
top: 2px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:target {
|
|
44
|
+
background-color: govuk-tint($govuk-focus-colour, 75%);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
:last-child {
|
|
48
|
+
margin-bottom: 0;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<!--[if gt IE 8]><!-->
|
|
2
|
+
<svg class="govuk-header__logotype-crown" aria-hidden="true" focusable="false" height="30" width="36" viewBox="0 0 132 97" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path fill="currentColor" fill-rule="evenodd" d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z"></path>
|
|
4
|
+
</svg>
|
|
5
|
+
<!--<![endif]-->
|
|
6
|
+
<!--[if IE 8]>
|
|
7
|
+
<img src="{{ params.assetsPath | default('/assets/images') }}/govuk-logotype-crown.png" class="govuk-header__logotype-crown-fallback-image" width="36" height="32">
|
|
8
|
+
<![endif]-->
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Forked from header fork on GOV.UK Design System
|
|
2
|
+
// See: https://github.com/alphagov/govuk-design-system/blob/master/src/stylesheets/components/_header.scss
|
|
3
|
+
|
|
4
|
+
@include govuk-exports("app-header") {
|
|
5
|
+
// Override the default 33% width on the logo in GOV.UK Frontend (prevents
|
|
6
|
+
// unnecessary wrapping of product name on smaller tablet / desktop
|
|
7
|
+
// viewports)
|
|
8
|
+
.app-header__logo {
|
|
9
|
+
width: auto;
|
|
10
|
+
|
|
11
|
+
// Remove right padding of product name as affects appearance on hover
|
|
12
|
+
.govuk-header__product-name {
|
|
13
|
+
padding-right: 0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Height of crown is 30px.
|
|
18
|
+
// Accept slightly larger icons with a height of 35px
|
|
19
|
+
.app-header__logotype--large {
|
|
20
|
+
// Visually adjust placement
|
|
21
|
+
margin: -3px 0 -8px;
|
|
22
|
+
|
|
23
|
+
.govuk-header__link--homepage:not(:focus):hover & {
|
|
24
|
+
// Prevent underline interfering with larger logo, whose height means
|
|
25
|
+
// it falls below the baseline
|
|
26
|
+
background-color: govuk-colour("black");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="app-header__logotype-royal-arms app-header__logotype--large" aria-hidden="true" focusable="false" height="35" width="42" viewBox="0 0 360 300" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill="currentColor" fill-rule="evenodd" d="M235 224c11 0 23 8 37 17l2 1 1 1 1 1 1 1c14 9 28 17 39 14h2l-1 2-11 7c-4 4-9 7-14 7-4 0-9-1-15-5-6-2-11-6-16-10l-2-1-1-1-2-1-1-1c-9-5-17-10-25-11l3 3c3 3 6 5 6 10l-3 9-2 4-3 8-1 4c0 2-2 7-9 10-9 5-23 7-44 7s-35-2-44-7c-7-3-9-8-9-10l-1-4-3-8-1-3-3-10c0-5 2-7 5-10l3-3c-9 1-18 7-27 12l-1 1-2 1-1 1c-5 4-10 8-16 10-6 4-11 5-15 5-5 0-10-3-14-7l-11-7-1-2h2c10 3 23-4 36-13h1l4-3 1-1 2-1c14-9 26-17 37-17 4 0 7 1 10 3 4 2 7 5 8 9l6 10 3 7-3 6-7 4-2 1c-2 1-4 2-4 4 5 3 12 5 19 6l28 2 28-2c7-1 14-3 19-6l-4-3-2-1c-3-2-6-3-7-5l-3-6 3-7 6-10c1-4 4-7 8-10l10-2Zm-66 9 17 2v12a6 6 0 0 1 8 6c0 3-2 5-3 7l-3-3c-2 0-1 10-6 10v2a4 4 0 1 1-9-2c-5 0-4-10-6-10l-3 3c-1-2-3-4-3-7a6 6 0 0 1 8-6Zm9 33c-2 0-3 1-3 3a3 3 0 1 0 3-3Zm-1-27c-2 2-5 5-5 8s4 4 4 7l-2 1-2-2c-1-2-1-5-5-5-3 0-4 3-4 5l1 4c1-2 2-2 3-2 2 0 2 2 3 4v1c1 3 1 5 4 5 2 0 3-1 3-3l-1-3 1-1 2 1-1 3c0 2 1 3 3 3 3 0 3-2 4-5s1-5 3-5c1 0 2 0 3 2l1-4c0-2-1-5-4-5-5 0-4 7-7 7l-2-1c0-3 4-4 4-7s-3-6-6-8ZM253 9l36 35 1-8c4 2 8 6 9 10 11 0 14 7 17 5 0 1-1 3-5 4 13 3 10 12 17 13-1 1-3 2-5 1 8 12 0 19 6 25-3 0-6-2-8-5 2 9-1 15 0 18-2 1-4-1-5-5v1l-2 4v1l3 2-1 1-1 1-8 8-1 1h-1c-3 4-5 7-5 11s5 11 11 19v-3l1-3 4-2 6 3 2 5-2 4-4 1-4-1h1c4 6 8 11 9 15 4 8 8 13 13 13s9-4 9-10c0-10-6-15-12-21l-1-1h-1c-6-6-13-13-13-25 0-11 9-16 15-16 4 0 6 1 8 3h3c6 0 7 4 8 9v2c1 4 2 7 7 8-5 2-11-1-14-9 1 15 16 12 14 23v1-1c-1-7-23-7-24-22v-1c0-3 1-6 3-7l-5-2c-4 0-11 5-11 13 0 20 27 23 27 45 0 5-1 9-5 12 3 0 6-1 7-3-2 9-11 9-14 5a14 14 0 0 1-3 0c2 4 4 7 8 7-8 6-18-2-16-11l-5-9c-1-2-2-1-2 2 0 7-6 13-6 18 0 6 6 11 7 11 2 0 4-3 5-2l1 6v15l4-4c2-2 4-2 6-2l3 2a5 5 0 0 1 1 4l-4 5-5 2a5 5 0 0 1-4-3v5c0 5-2 7-4 8 0 0-1-2-3-2l-3 2c0 2 3 2 3 5s-7 8-12 7l3-11-4 7c-1 4-3 4-5 3 2-2 5-10 9-13 4-2 6-3 7-9 1-7-1-10-1-16 0-5-2-5-3-5h-2c-5 0-23-12-23-24v-3c-8-1-13 2-13 9l2 7c2 2 3 3 0 4l-29 12c-3 1-3 0-5-2-1-1-2-2-4-1s1 3 1 4c0 2-1 6-12 6l3-5v-3l-2 3-4 4h-3l9-9c2-3 5-4 10-5 6-1 26-3 26-10s-8-7-8-16 4-18 27-18c-2-5-8-9-13-11-12-3-16-11-17-19l-9-1c-7 0-11-2-12-1s-2 2-1 3l6 9 4 3-2 3 2 1 1-1h6l6 8-9-2v1l6 2v4l-10-6c-4-1-6-2-7-6-2-4-7-14-10-17v-4l2-3 4-2h9l1-1-2-3h-1v-1h-1l-7-9v-1l-3-2-3 1-1 1a65 65 0 0 0-4-4l3-3h1l3-2h3l3 1 7 6 1 1 1-1 3-1 4 1 1 5v2l5 5c1-6 4-12 8-18h1l-1-1v-1a898 898 0 0 0 4-12l1-1 7 2 8-5 2-2h2c5-4 10-7 10-12 0-2-1-5-3-6l1 5c0 2-4 7-10 7-3 0-5-3-7-3l-2 1c0 4-2 7-4 7v-4l-2 3c0 3-2 6-5 7l1-6h-2l-1 1-2-2-2-1c0-1 2-3 4-3 2-1 6-3 5-4-1-2-7 1-10 3s-3 1-3 0v-2c-2-4-1-5 1-6l14-9 2-4 6-2 1-1-31-38V8l2 1ZM102 36c2 4 2 7 1 11 4 1 6 4 10 3-3 4-6 3-9 3h-2c11 3 13 14 19 15-4 3-7 1-10-1l-1-1-6-2c15 7 15 16 19 16-4 5-8-1-14-2 12 7 13 14 12 19 3 2 2 5 2 9l8-2-2 2c-6 7-11 13-14 22l-7-7c-2-2-4-1-5-1l20 22c3 3 3 6 4 8v3c0 3 5 6 4 8v4l1 2c0 2-2 4-5 4 2-4 0-6-3-6 1 7-5 8-7 7 2-1 3-4 2-7-2 2-4 4-6 4-3 0-4-1-5-3 2 1 5-1 5-2s-3-2-3-4c0-5 5-3 5-7 0-2-1-3-2-3s-3 1-3 3c-3-2 0-7-1-11 0 4-2 5-3 6l-2 2c-2-2 0-6-2-11l-2 5-2 3c-5-3-14-2-18 2l6 3v1c8 4 14 9 14 17 0 9-13 12-13 17 0 6 14 18 21 18 2 0 3-3 5-3h5c2 1 3 2 3 4 3 0 7 5 3 9 0-2-3-6-7-3 2 3 1 7-4 8 1-2 2-5-1-5h-2l-4 1h-2c-3 0-3 0-4-2l-5-4c-1 0-2 3 0 5-7 0-8-5-9-9 0-2-1-5-3-6v8c-4-3-7-7-7-10-1-3-1-5-3-6l-2-3 3-2c2-1 5-3 5-9 0-4-1-11-8-15 1 10 1 17-4 25-5 9-14 15-20 17-5 2-12 4-12 11 0 12 6 20 11 20 4 0 3-4 8-4 3 0 5 1 6 3 3-1 6 1 6 3 0 3-1 5-3 5 1-3-3-4-4-3-2 0 0 2 0 4s-1 4-5 5c1-1 1-3-1-3s-3 4-6 4c-5 0-6-2-11-1-3 0-3 2-2 3-6 0-5-7-4-8 2-2 3-3 1-4s-5 0-6 3c-5-9 2-9 0-20-1 5-4 8-6 9 1-2-2-6-2-10 0-8 6-11 6-14 0-1-2-3 0-5 1-1 3 1 5 1 6 0 11-8 12-18 1-11 5-19 10-27l1-4c-5 6-9 15-15 20 1 7-13 15-21 9 2 0 7-1 9-5l-3-1c-5 3-13-1-13-6 2 2 5 3 7 2l-3-9c0-21 33-35 33-52 0-6-4-9-8-9l-6 3c1 1 3 3 3 5 0 19-31 17-34 30-1-9 4-12 9-14l1-1h1v-1c4-2 8-5 9-10-4 6-11 10-15 8 10 0 7-21 18-21l4 1c3-2 7-4 10-4 5 0 12 3 12 12 0 10-7 18-15 26l-1 1-1 1-1 1c-7 7-15 15-15 24 0 6 4 9 9 9 12 0 19-20 31-37 8-11 13-33 18-44l-5 8-1 1c-2 4-4 7-8 8 4-4 1-14 4-21v-8l-3 10v2c-1 5-3 9-6 10 2-3-1-8-1-13 0-9 5-10 6-19-5 2-3 14-12 14 3-3 3-6 3-9v-1c0-3 1-6 4-10-4-1-7-5-7-8l9-3c-2-2 0-4 2-6 1 1 2 3 3 2a74 74 0 0 1 26-11l1-3c2 0 5 0 5 3 2-2 5-3 8-3Zm33 132a56 56 0 0 0 12 26l4 5 3-1 6 3c2 2 2 4 2 6v1l31 11 17 2h-1a42 42 0 0 1-22 11l-19-3-17-6c-2 1-5 2-7 0-3-1-5-5-5-7v-1l-6-6a72 72 0 0 1-17-35c5 2 8 0 9-1l1 2c5 0 9-4 9-7Zm170 53 6-1c4 1 6 4 6 7 0 2-1 3-3 4l-5 1c-2 0-3-1-5-3l-1-4 2-4Zm5 1-4 1-1 2c0 2 1 4 4 4 2 1 5 0 5-2v-1c0-2-2-3-4-4Zm-127-1a4 4 0 1 0 0 7 4 4 0 0 0 0-7Zm149-1-3 3v3c2 1 4 2 7 0l2-3v-3l-2-1-4 1Zm-167-6a4 4 0 0 0 0 8 4 4 0 0 0 0-8Zm184-10a9 9 0 1 1 0 18 9 9 0 0 1 0-18Zm-195-4c-4 0-8 4-9 5h-3l1 2v1l-3 8 4 5h5l-2-1h-1v-1l-2-2 1-4h1v-2l1 1 4 1 1-1c0-1 0-3-2-4l-1-1 1-1 2-2c2-1 3-2 5 0l1 1 2 1-2-4-4-2Zm195 6a7 7 0 1 0-1 13 7 7 0 0 0 1-13Zm-51-1 4 2 2 5-2 5-4 2-4-2-2-5 2-5 4-2ZM185 54c-3 2-5 5-6 8 2 0 5-2 7-5v12c-1-3-5-4-7-5 0 7 7 8 10 8 4 0 7-1 7-3 1-3-1-3-2-3-1-1-2 1-2 3-2-2-3-9 1-9 3 0 4 3 5 7 1-3 3-7 6-6 4 1 2 8-1 9 1-1 1-4-1-4s-3 2-3 3c0 2 3 4 6 5 5 1 9-2 10-4-2-1-4-1-6 1l3-9c0 2 2 4 4 6 1-2 1-6-1-9l-1-1 9 4c-4 4-9 14-11 23l2 5c0 4-2 7-5 8a64 64 0 0 1 21 22l-2 1-2 3-1 4 1 3 4 8 1 1 2 5 2 4c1 3 3 5 5 6v4a78 78 0 0 1-18 50l-8 8h-1l-3 1h-1a69 69 0 0 1-20-4 16 16 0 0 1 3-8l2-1c5-3 10-6 13-11 4-4 7-10 10-16 2-5 3-11 3-17v-1h-41v46l10 1c-2 1-3 3-3 6l-14-5c1-2 3-2 5-2v-46h-42l-1-5c-2-3-3-4-3-8l-4-7-3-4v-1l-4-4a71 71 0 0 1 26-33c-3-1-5-4-5-8 0-2 1-4 3-5-3-8-8-18-12-23l9-4c-3 4-3 8-2 10l5-6 3 9c-3-2-5-2-7-1 1 2 5 5 10 4 3-1 6-3 6-5 0-1-1-3-3-3s-2 3-1 4c-3-1-5-8-1-9 2-1 5 3 6 6 1-4 2-7 5-7 4 0 3 7 1 9 0-2-1-4-2-3-1 0-3 0-2 3 0 2 3 3 7 3 3 0 9-1 10-8-2 1-6 3-7 5V57c2 3 5 4 7 5-1-3-3-6-6-8h15Zm113 153-2 1-2 3 1 4 3 1 2-1 1-3c0-3-1-5-3-5Zm-131-43c3 0 4 2 4 4v1h1l1 1-1 1h-1l-1 22h1v2l-2 1c1 3-2 4-4 4-1 0-2-1-2-3l2-2 1 1-2 1 2 1 1-2c0-2-2-2-3-1-13-4-20-16-19-26h-1l1-2-1 1-2-2a2 2 0 0 1 3 0l1-1 8 2c6 0 11-3 13-3Zm22 24h1l1 1v1h1l-1 1-1 2h9l4-1c0-1-9 1-9-2l2-1 6-1-3 1h7c-2-1-6 2-9 1l-1-1-1 1 4 1 5 1c0 1-2 2-5 1l-1 1 1 1v1h1l-1 1c0-1 0 0 0 0s-1 0 0 0h-1v1h-1v1h-1 1l-1-1h1l-1-1v1-1l-1 1v-1h1v-1h-1 3v-1h-4l1 2v2h-2c0 1 0 0 0 0h-1v1-1h-1 1-1c0 1 0 0 0 0v-1h-1l1-1 2 1-1-2 1-1-3 1v2l-1 1v-1l-2 1v-1h-1l-1 1v-1l-1 1v-1h-1v1h-1v-1h1v-1h-2 2l-1-1h1l1 1 2-1h1l-1-1-1-2h-1l-1-1h1l-1-1c0-1 0 0 0 0v-1l-1 1v-1h1v-1h-1 1l1 1v-2 2l1 1 2 2v-2h-1l1-1 1-1v-1h1Zm-40-17c-1 11 7 19 15 22l-15-22Zm150 15v6c2 2 5 1 6-1 2-2 2-5 0-6-2-2-4-1-6 1Zm-111 4h1l-1 1h1-1v1h1v-1h1l-1-1h-1Zm2 0v1l1-1h-1Zm-35-20h-4l14 20 1-3v-1l-11-16Zm33 19v1l1-1h-1Zm3-14h1v1h1v2l-1 1 11 1 4-1-2-1c-2 0-9 2-9-1l3-1h1l5-1-3 1h7c-2-1-6 2-9 1h-3l4 1h4l3 1-5 1v1h5v1h-1 1l-1 1v2h-1 1-1v-1l-1 1v1-1h-1l1-1h-1v-1h2v-1h-5v2h-1l-1 1h-3v-1h1l-1-1v1l1-1h2-1v-2l-1 1h-3l-1 1h-1l-2 2v-1l-1 2-1-1v-1l-1 1v-1l-1 1v-1 1-1l-1 1v-1l-1 1v1l-1-1h1-1l1-1-1-1h-1v1l1-1h1l-1-1h2v1h2l1-1v-1h-2v-1 1l-1-1-1-1h1v-1h-1c-1 0 0 0 0 0l1-1h-1v-1h1v1-1h1v3h2v-1l1-1h-1l1-1v-1h2Zm-32-6-2 1h-1l10 14 1-3v-1l-8-11Zm31 8h1l-1 1h1-1v1h1v-2h-1Zm1 0h1v1-1h-1Zm-23-11-7 2 6 10a1958 1958 0 0 0 1-7c-1 0-2 0-1-1l1-1h1l-1-3Zm22 10v1h1l-1-1Zm120-7v6c2 2 5 1 6-1 2-2 2-5 0-6-2-2-4-1-6 1Zm-125-6v3l2 1h1v-3l1-1v-1l1 1 1-1 1 1 1 1v1l-1 2h19l-3-1c-2 0-12 2-12-1 0-2 2-2 5-2a52 52 0 0 0 1 0h6l-3 1h3v-1l4 1c-2-1-6 2-10 1v-1h-2l-3 1h11c3 0 4 1 4 2l-5 1h3l1 1h1-1v1h1-1v3h-1v-1 1h-1v-1h-1v-1 1-1h2v-2l-2 1h-4v1l1 1h-2v1h-2 1-1v-1l-1 1v-1c-1-1 0 0 0 0v-1 1-1h-1 1v-1c1 0 1 2 2 1h1-1l-1-2-4 1-3 1h-1l-1 1-2 1 1-1-2 1v-1h-2l-1 1 1-1-1 1v-1l-1 1v-1l-1 1v1-1l-1-1 1-1h-2 1v-1l1 1-1-1h1l-1-1 1 1h1v1l2-1h2l-1-1h-1l-2-2v1-1s-1 0 0 0h-1c-1 0-2 0-1-1h1v-1h-1l-1-1h1v-1l-1-1 1 1 1 1v-2l1 1Zm5 2h1l-1 1h1-1v1h1v-1h1v-1h-2Zm1-1v1l1-1h-1Zm-1-1v1h1l-1-1Zm-11-54v49h41a51 51 0 0 0-13-35c-3-4-8-8-13-10-5-3-10-4-15-4Zm-2 0c-5 0-11 1-16 4-5 2-10 6-13 11-4 4-7 9-10 15l-3 18v1h42v-49Zm9 7h-1l10 4a39 39 0 0 1 9 10l3-1-2 2c4 6 7 13 8 21v-2c2 0 2 2 2 2l-1 1v2l-1-1-1 1c-1 1-2 0-2-1l2-1h-14v3l-1-2v-1h-12l2 1-2 1-1-1-2 1 1-2-1-1 1-2 1 2v-18h-3l2-1h1v-16l-1 2-1-2 1-1-1-2 2 1 1-1s2 0 1 2Zm-41 29v3l2 1h1v-1l1-1-1-1 1-1v-1l1 1c0-1 0-1 0 0l1-1 1 1h1v1l1 1h-1l-1 2h19l-3-1c-2 0-12 2-12-1 0-2 3-2 6-2h6l-3 1c2 0 5-2 7 0-3-1-6 2-10 1v-1l-5 1h11c3 0 4 1 4 2l-5 1h3l1 1v1h1-1v3h-1v-1 1h-1v-1h-1v-1 1-1h2v-1l-1-1-1 1h-4v1l1 1h-2v1h-2 1-1v-1l-1 1v-1c-1-1 0 0 0 0v-1 1-1h-1 1v-1c1 0 1 2 2 1h1-1l-1-2c-5 0-3 3-7 2h-1l-1 1-1 1v-1l-1 1v-1l-2 1-1-1h-1l-1 1 1-1-1 1v-1l-1 1v-1l-1 1v1-1h-1v-1h1v-1h-2 1v-1l1 1-1-1h1l-1-1 1 1h1v1l2-1h2v-1h-1l-2-2v1-1h-1l-1-1h1v-1h-1v-1h1l-1-1v-1 1h1v1-2l1 1Zm169 2-1 2 2 4 3 2 2-1h1l1-2-2-4-4-2-2 1Zm-128-29v2l-1-1v12l1 1v1l2 1-2 1v1l-1 1v14l2-1-1 2h9v-1h2v-2l1 2h2v1h10v-2l1 1c-1-6-3-12-6-17h-1l-1-1h-1l1-2-2-1 1-1-8-7-8-4Zm9 7v1h2v2c1 0 2 3 1 4v1l1 4 3 4 1 1h1l1-1-4-4c-2-2-2-4-1-5v1l2 4 1 1 3 3-2 2h-1l-1-1-1-1c0 3 3 4 4 3h1v1h1l-1 1h1l-1 1-1 1 1 1v1h-1v-1h-1v1l-1-1v-1h-1v-1h2v-2l-2 1-3-4-3 2 1 2v1h-5v1l-1-1h-1v-1h1l-1-1h5l-2-2 3-2h3l-2-1c-1-1-2-1-2-3l-1 1h-1l-1 1h-2v1h-1v1h-1v-2l-1 1h-1v-1h2-1v-1l1-1v1h1l1-1 2-2-3-3v-1h-1v-3h-1l1-1v-1h1v3l2 1 1 2 1 1c0-2 2-2 2-3l-2-1h-1l2-1h-2l-1-1 1-1h2l1-1Zm-45 22h1l-1 1h1-1v1h1v-1h1v-1h-2Zm1-1v1l1-1h-1Zm-1-1v1h1l-1-1Zm100-13 6 1 4 4v4l-4 3-6-1c-3-1-5-5-4-8l4-3Zm-101 0v1l1 2 1 1h1v-3l1-1v-1h3l1 1v1h1l-1 1-1 2h17l-3-1c-3 0-11 2-11-1 0-2 2-2 4-2h6-3c3 1 5-1 8 1h-11l-3 1h10c2 0 3 1 3 2l-4 1 3 1c0-1 0 0 0 0h1v5l-1-1v-1l-1 1v1-1h-1l1-1h-2l1-1h1l1-1h-6v2h-1l-1 1h-2l1 1-1-1c-1 0 0 0 0 0h-1l1-1h-1v-1l-1 1 1-1c1-1 1 1 2 1l1-1h-1v-2l-1 1h-3l-2 1h-1l-2 2v-1c-1 1-2 0-2 2v-1h-1v-1l-1 1v-1 1l-1-1v1l-1-1-1 1v1-1h-1l1-1-1-1-1 1 1-1h1v-1h-1 2v1l2-1h2v-1h-1l-1-1h-1v-1 1-1c-1 1-2 0-2-1h1v-1h-1v-1h1l-1-1v-1l1 1 1 1v-1c-1 0 0 0 0 0v-1 1Zm105 3-4-1-2 2c-1 1 1 3 3 5h4l2-1v-3c0-1-1-2-3-2Zm-67 3h-1 1Zm-33-5h1l-1 1h1-1v1h1v-2h-1Zm1 0h1v1-1h-1Zm-1-1v1h1l-1-1Zm33-3 1 1c-1 1-1 0-1-1Zm-13-14c-3 1-3 3-7 4h-1v1c0 2 8 0 8 3 0 1-1 2-4 2-1 0-1 0 0 0h2l1 1v4h-1v-1h-1v1-1s0-1 0 0l-1-1h2v-2h-2v1h-2l1 2h-3v1h-1 1-1v-1h-1l1 1-1-1 1-1h-2l1-1c1 0 1 2 2 1h1l-1-1v-1h-1l-2 1-1 1h-2l-1 1-2 1v-1h-1l-1 1v-1h-2v1l-1-1 1-1h-2l1-1 1 1-1-1v-1h1v1h4l2-1-1-1v1-1h-1l-1-1h1v-1h-1l1-1h-1v-1h1v1h1c-1 0 0 0 0 0v-1 3h1l1-1-1-1 1-1 1-1v-1 1l1-1 1 1h1v1h1l-1 1-1 2h6l4-1c0-2-8 0-8-3l1-1v-1l3-2-1 1c2 0 2-2 6-2Zm13 13v1-1Zm0 0h-1 1Zm1-2v1h-1v-1h1Zm-1 0h-1 1Zm-26-5h1-1l1 1h-1v1h1v-1h1l-1-1h-1Zm2 0v1l1-1h-1Zm-2-1v1l1-1h-1Zm111-34-2 6v1l-1 1-1 4 38 22 4-4 1-1 4-4-4-3v5l-2-3v-1l-2 4 3 1c-2 3-5 1-6 0-3-1-4-2-3-4 1-1 4-1 4 2 2-1 2-3 2-4l-4-1c3-2 5-4 4-8-3 1-5 3-6 6l-2-2c-2 0-3 1-3 3 2-1 4 1 3 3-1 1-3 1-5-1-3-1-3-4-2-6l2 4 3-5h-4c1-1 2-3 4-3h1l-6-3-1 5-1-3-3 5 4-1c-2 2-4 3-7 2-2-2-3-3-2-4 0-2 3-2 3 1 2-1 3-3 2-4l-4-1c3-2 4-5 3-8-4 1-5 4-5 7l-2-2c-2 0-3 1-3 3 2-1 4 1 3 3-1 1-2 1-5-1-1 0-4-2-3-5l3 2 2-4h-4l4-2-4-2Zm-26 21-1 3c0 2 1 4 3 4h2l1-4-1-3-2-1-2 1Zm9-14c1-2 3-2 5-2l3 2 1 4-3 4c-3 3-6 3-8 0-2-2-1-6 2-8Zm4 0-3 1-2 4v1c1 2 4 2 5 0l2-3v-2l-2-1Zm-81-11h-1c-12 0-33 1-33 9 0 2 1 4 5 6 5-4 15-8 28-8 14 0 24 4 29 8 4-2 5-4 5-6 0-8-21-9-33-9ZM87 59l-11 5c-2 0-3 1-3 2l1 3c1 1 1-2 3-3 2 0 2 2 0 4 3-1 6-2 7 1 1 2 0 3-2 5l1 5c1 2 4 5 8 4 4-2 3-6 2-8l-3-4c-2 0-4-1-4-3-1-2 2-3 4-5-3-1-4-2-2-3h4c1-1-1-2-2-2l-3-1Zm68-10 4 7c0 3-2 5-3 8-1-3-4-4-4-7s1-5 3-8Zm44 0c2 3 3 5 3 8s-3 4-4 7c-1-3-3-5-3-8l4-7ZM74 54l-13 4c5 1 5 4 8 4 4 0 6-5 5-8Zm150 1c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-93 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm149-1c-3 0-4 2-4 4l-1 2 12-3-7-3Zm-55-6c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-96 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-35-3-12 5c2 3 6 5 9 3 2-2 0-4 3-8Zm78-7 3 1v13h-3V38Zm10 0v14h-3V39l3-1ZM77 24c3 2 3 3 2 6 1-1 3-1 3 2-1-1-2 0-2 1l2 2c2 0 3-2 3-5l-2 2v-5l2 2-1-3h3v11l-14 4-6 3-1 1-6 3-8-8 2-2 2 3v-3l3 4h-3c3 2 5 2 6 1v-3c-1-1-2-1-2 1-2-2-1-3 1-3-3-2-4-3-3-6 3 1 4 2 4 5 0-2 3-2 3 1-2-1-2 0-2 2h5c3-1 2-3 2-5l-3 3-2-4h4l-3-3 5-2-1 4c2 0 3-1 3-3l2 5-4-1c1 2 2 4 5 3 2-1 3-2 3-4h-3c-2-2 0-3 2-2-2-3-2-4-1-7Zm53 17c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm94 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-91-7c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm88 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-35-1c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-17 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3ZM52 34l2 2-2 2-2-2 2-2Zm141-4c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-31 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm24-2c-1 4-5 7-9 7s-8-3-9-7h18Zm-47 1c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm76 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-61-1c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm46 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm8-1c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-61 0c2 0 3 1 3 3s-1 3-3 3-3-1-3-3 1-3 3-3Zm-96 1 2 2-2 2-2-2 2-2Zm3-4 2 2-2 2-2-2 2-2Zm6-1 2 2-2 2-2-2 2-2Zm5-9v4l3-2 1 3h-4l4 3 1 2c0 2-1 3-3 3-1 0-3-1-3-3v-4l-2 2-2-3 3-1-2-3 4-1Zm114 3c4 1 7 4 7 8h-7Zm-4 0v8h-7c1-4 4-7 7-8Zm-87 4v3h-3v-3h3Zm-14-2v3h-3v-3h3Zm7-3h3v3h-3v-3Zm-3-1v3h-3v-3h3ZM182 0l-4 7c3 0 5-2 7-4v10c-2-2-4-4-7-4 0 2 2 4 4 6h-10c2-2 4-4 4-6-3 0-5 2-7 4V3c2 2 4 4 7 4l-4-7Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg class="app-header__logotype--large" aria-hidden="true" focusable="false" height="35" width="35" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill="currentColor" d="M180 251v1c-17 7-26 12-26 16s19 6 19-5c4 18-11 21-20 13 4 7 6 18-4 23-11-5-9-16-5-23-10 8-24 4-20-12v-1c0 11 18 9 19 5 0-4-9-9-26-16v-1c11 3 21 4 32 4 10 0 20-1 31-4Zm61-52 1 1c-6 18-8 29-5 34 6-6 11-14 11-24l19 9c-11 5-20 10-27 17 5 2 15-1 21-4l-32 32c3-6 6-16 4-21-7 6-12 16-16 27l-10-19c11 0 18-5 24-11-5-3-16-2-34 5v-1c10-6 18-12 25-19 8-8 14-15 19-26Zm-186 0c6 10 12 18 20 25 7 8 15 14 25 20h-1c-17-6-29-7-33-4 6 5 13 11 24 11l-10 19c-4-12-10-21-16-28-2 5 1 16 3 21l-31-31c5 2 16 5 21 3-7-6-16-12-28-16l19-10c0 11 6 18 11 24 3-5 2-16-4-33Zm152-5a15 15 0 0 1 10 25 15 15 0 0 1-25-10 15 15 0 0 1 15-15Zm-115 0a15 15 0 0 1 11 25 15 15 0 0 1-25-10 15 15 0 0 1 14-15Zm88-27a15 15 0 0 1 10 25 15 15 0 0 1-25-10 15 15 0 0 1 15-15Zm-63 0a15 15 0 0 1 10 25 15 15 0 0 1-25-10 15 15 0 0 1 15-15Zm133-48c7 17 12 26 16 26s6-19-5-19c18-4 21 11 13 20 7-4 18-6 23 5-5 10-16 8-23 4 8 9 5 24-13 20 11 0 9-19 5-19s-9 9-16 26h-1c3-11 4-21 4-31 0-11-1-21-4-32h1Zm-202 0c-3 11-4 21-4 32 0 10 1 20 4 31h-1c-7-17-12-26-15-26-5 0-7 19 4 19-18 4-21-11-13-20-7 4-18 6-23-4 5-11 16-9 23-5-8-9-5-24 13-20-11 0-9 19-4 19 3 0 8-9 15-26Zm101 11a20 20 0 1 1-1 41 20 20 0 0 1 1-41Zm-32-26a15 15 0 0 1 10 25 15 15 0 0 1-25-10 15 15 0 0 1 15-15Zm63 0a15 15 0 0 1 10 25 15 15 0 0 1-25-10 15 15 0 0 1 15-15ZM92 80a15 15 0 0 1 11 25 15 15 0 0 1-25-11 15 15 0 0 1 14-14Zm115 0a15 15 0 0 1 10 25 15 15 0 0 1-25-11 15 15 0 0 1 15-14ZM80 32l9 19c-10 0-18 5-24 11 5 3 16 1 34-5l1 1c-11 5-18 11-26 19-7 7-13 15-19 25h-1c7-18 8-29 5-34-6 6-11 13-11 24L29 82c11-4 21-9 27-16-5-2-15 1-21 4l32-32c-3 6-6 16-4 21 7-7 12-16 17-27Zm137-1c4 12 10 21 16 28 2-5-1-16-3-21l31 31c-5-2-16-5-21-3 7 6 16 12 28 16l-19 10c0-11-6-18-11-24-3 4-2 16 4 33v1c-6-10-12-18-20-25-7-8-15-14-25-20h1c17 6 28 7 33 4-6-5-13-11-24-11l10-19ZM149 2c10 5 8 16 4 23 9-8 24-5 20 13 0-11-19-9-19-4 0 3 9 8 26 15v1c-11-3-21-4-31-4-11 0-21 1-32 4v-1c17-7 26-12 26-15 0-5-19-7-19 4-4-17 10-21 20-13-4-7-6-18 5-23Z"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{%- from "../site-search/macro.njk" import appSiteSearch -%}
|
|
2
|
+
<header class="govuk-header app-header" role="banner" data-module="govuk-header">
|
|
3
|
+
<div class="govuk-header__container govuk-width-container app-header__container">
|
|
4
|
+
<div class="govuk-header__logo app-header__logo">
|
|
5
|
+
<a href="{{ params.homepageUrl | default("/") | url }}" class="govuk-header__link govuk-header__link--homepage">
|
|
6
|
+
<span class="govuk-header__logotype">
|
|
7
|
+
{% if params.organisationLogo == "crown" %}
|
|
8
|
+
{% include "./_crown.svg" %}
|
|
9
|
+
{% elif params.organisationLogo == "royal-arms" %}
|
|
10
|
+
{% include "./_royal-arms.svg" %}
|
|
11
|
+
{% elif params.organisationLogo == "x-govuk" %}
|
|
12
|
+
{% include "./_x-govuk.svg" %}
|
|
13
|
+
{% elif params.organisationLogo %}
|
|
14
|
+
{{ params.organisationLogo | safe }}
|
|
15
|
+
{% endif %}
|
|
16
|
+
<span class="govuk-header__logotype-text">
|
|
17
|
+
{{ params.organisationName | default("GOV.UK") }}
|
|
18
|
+
</span>
|
|
19
|
+
</span>
|
|
20
|
+
{% if params.productName %}
|
|
21
|
+
<span class="govuk-header__product-name">
|
|
22
|
+
{{ params.productName }}
|
|
23
|
+
</span>
|
|
24
|
+
{% endif %}
|
|
25
|
+
</a>
|
|
26
|
+
</div>
|
|
27
|
+
{{ appSiteSearch(params.search) if params.search.indexPath | indent(4) }}
|
|
28
|
+
</div>
|
|
29
|
+
</header>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.govuk-link.app-link--heading {
|
|
2
|
+
@include govuk-link-style-text;
|
|
3
|
+
@include govuk-link-style-no-underline;
|
|
4
|
+
|
|
5
|
+
&:hover {
|
|
6
|
+
text-decoration: none;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&:hover:after,
|
|
10
|
+
:target &:after {
|
|
11
|
+
color: govuk-colour("dark-grey");
|
|
12
|
+
content: "#";
|
|
13
|
+
font-variant: all-small-caps;
|
|
14
|
+
font-weight: normal;
|
|
15
|
+
margin-left: govuk-spacing(1);
|
|
16
|
+
opacity: .5;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
[class^="govuk-heading"][tabindex] {
|
|
21
|
+
outline: none;
|
|
22
|
+
}
|