govuk_tech_docs 5.1.1 → 5.2.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.
- checksums.yaml +4 -4
- data/.github/workflows/test.yaml +2 -2
- data/CHANGELOG.md +6 -0
- data/example/config/tech-docs.yml +5 -3
- data/lib/assets/javascripts/_modules/cookie-banner.js +39 -0
- data/lib/assets/javascripts/_start-modules.js +1 -0
- data/lib/assets/stylesheets/_govuk_tech_docs.scss +1 -0
- data/lib/govuk_tech_docs/version.rb +1 -1
- data/lib/source/layouts/{_analytics_head.erb → _analytics_ga4_gtag.erb} +1 -1
- data/lib/source/layouts/_analytics_ga4_gtm.erb +18 -0
- data/lib/source/layouts/_cookie_banner.erb +24 -0
- data/lib/source/layouts/core.erb +3 -1
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 815d430d2f6a2cc8dcf9141688e49ad697bac3c166d719b5cc73d6075c7e945c
|
|
4
|
+
data.tar.gz: 9e177ece8704db4e26b59851d7c0e7a82ae6ed4ec5637b14f3502d651b14078f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 661ddbea41fa5e33921213f230e74fe300cb65883f7f3c88f926851d7ef5dfc917365f33412fdbf559204591a3213bc749f476484ea104019ccdeb1bd1e86c51
|
|
7
|
+
data.tar.gz: ac22c72e66a82cf66c8366ee1bc26c1991433b2da627406221c4465ed073757a0ca1635010ea0a5872e9f53b1d9374cf560b2dcea99cd2f7c002bfe3bf1aec2f
|
data/.github/workflows/test.yaml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -19,10 +19,12 @@ footer_links:
|
|
|
19
19
|
Accessibility: /hidden-page.html
|
|
20
20
|
Hidden Page: /hidden-page.html
|
|
21
21
|
|
|
22
|
-
# Tracking
|
|
22
|
+
# Tracking IDs
|
|
23
|
+
# Google Analytics 4 using gtag.js (e.g G-XXXXXX)
|
|
23
24
|
ga4_tracking_id:
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
# Google Analytics 4 using Google Tag Manager (e.g GTM-XXXXXXXX)
|
|
26
|
+
ga4_gtm_tracking_id:
|
|
27
|
+
# Google Universal Analytics (e.g. UA-XXXX-Y)
|
|
26
28
|
ga_tracking_id:
|
|
27
29
|
|
|
28
30
|
# Enable multipage navigation in the sidebar
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
(function ($, Modules) {
|
|
2
|
+
'use strict'
|
|
3
|
+
|
|
4
|
+
Modules.CookieBanner = function () {
|
|
5
|
+
let $cookieBanner
|
|
6
|
+
|
|
7
|
+
this.start = function ($element) {
|
|
8
|
+
$cookieBanner = $element
|
|
9
|
+
|
|
10
|
+
if ($cookieBanner && getCookie('cookies_preferences_set') !== 'true') {
|
|
11
|
+
$('#cookie-banner__accept').on('click', acceptCookies)
|
|
12
|
+
$('#cookie-banner__reject').on('click', rejectCookies)
|
|
13
|
+
|
|
14
|
+
$cookieBanner.removeAttr('hidden')
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function acceptCookies () {
|
|
19
|
+
document.cookie = 'cookies_preferences_set=true'
|
|
20
|
+
document.cookie = 'cookies_policy={"usage":true}'
|
|
21
|
+
|
|
22
|
+
$cookieBanner.attr('hidden', 'hidden')
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function rejectCookies () {
|
|
26
|
+
document.cookie = 'cookies_preferences_set=true'
|
|
27
|
+
document.cookie = 'cookies_policy={"usage":false}'
|
|
28
|
+
|
|
29
|
+
$cookieBanner.attr('hidden', 'hidden')
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function getCookie (name) {
|
|
33
|
+
return document.cookie
|
|
34
|
+
.split('; ')
|
|
35
|
+
.find(cookie => cookie.split('=')[0] === name)
|
|
36
|
+
?.split('=')[1]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
})(jQuery, window.GOVUK.Modules)
|
|
@@ -17,6 +17,7 @@ $govuk-new-link-styles: true;
|
|
|
17
17
|
@import "govuk/core/index";
|
|
18
18
|
@import "govuk/objects/index";
|
|
19
19
|
|
|
20
|
+
@import "govuk/components/cookie-banner/index";
|
|
20
21
|
@import "govuk/components/footer/index";
|
|
21
22
|
@import "govuk/components/header/index";
|
|
22
23
|
@import "govuk/components/inset-text/index";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<% if config[:tech_docs][:ga4_gtm_tracking_id].is_a?(String) && !config[:tech_docs][:ga4_gtm_tracking_id].empty? %>
|
|
2
|
+
<!-- Google Tag Manager -->
|
|
3
|
+
<script>
|
|
4
|
+
const cookies_policy_cookie = document.cookie
|
|
5
|
+
.split('; ')
|
|
6
|
+
.find(cookie => cookie.split('=')[0] === 'cookies_policy')
|
|
7
|
+
?.split('=')[1]
|
|
8
|
+
|
|
9
|
+
if (cookies_policy_cookie && JSON.parse(cookies_policy_cookie).usage) {
|
|
10
|
+
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
11
|
+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
12
|
+
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
|
13
|
+
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
14
|
+
})(window,document,'script','dataLayer','<%= config[:tech_docs][:ga4_gtm_tracking_id] %>');
|
|
15
|
+
}
|
|
16
|
+
</script>
|
|
17
|
+
<!-- End Google Tag Manager -->
|
|
18
|
+
<% end %>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<% if config[:tech_docs][:ga4_gtm_tracking_id].is_a?(String) && !config[:tech_docs][:ga4_gtm_tracking_id].empty? %>
|
|
2
|
+
<div class="govuk-cookie-banner" data-nosnippet role="region" aria-label="Cookies on <%= config[:tech_docs][:service_name] %>" hidden="hidden" data-module="cookie-banner">
|
|
3
|
+
<div class="govuk-cookie-banner__message govuk-width-container">
|
|
4
|
+
<div class="govuk-grid-row">
|
|
5
|
+
<div class="govuk-grid-column-two-thirds">
|
|
6
|
+
<h2 class="govuk-cookie-banner__heading govuk-heading-m">
|
|
7
|
+
Cookies on <%= config[:tech_docs][:service_name] %>
|
|
8
|
+
</h2>
|
|
9
|
+
<div class="govuk-cookie-banner__content">
|
|
10
|
+
<p class="govuk-body">We’d like to use analytics cookies so we can understand how you use the service and make improvements.</p>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="govuk-button-group">
|
|
15
|
+
<button id="cookie-banner__accept" type="button" class="govuk-button" data-module="govuk-button">
|
|
16
|
+
Accept analytics cookies
|
|
17
|
+
</button>
|
|
18
|
+
<button id="cookie-banner__reject" type="button" class="govuk-button" data-module="govuk-button">
|
|
19
|
+
Reject analytics cookies
|
|
20
|
+
</button>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<% end %>
|
data/lib/source/layouts/core.erb
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en" class="govuk-template <%= config[:tech_docs][:show_govuk_logo] ? 'govuk-template--rebranded ' : '' %>no-js">
|
|
3
3
|
<head>
|
|
4
|
-
<%= partial 'layouts/
|
|
4
|
+
<%= partial 'layouts/analytics_ga4_gtag' %>
|
|
5
|
+
<%= partial 'layouts/analytics_ga4_gtm' %>
|
|
5
6
|
|
|
6
7
|
<meta content="IE=edge" http-equiv="X-UA-Compatible">
|
|
7
8
|
<meta charset="utf-8">
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
<script>document.body.className += ' js-enabled' + ('noModule' in HTMLScriptElement.prototype ? ' govuk-frontend-supported' : '');</script>
|
|
52
53
|
|
|
53
54
|
<div class="app-pane">
|
|
55
|
+
<%= partial 'layouts/cookie_banner' %>
|
|
54
56
|
<div class="app-pane__header toc-open-disabled">
|
|
55
57
|
<a href="#content" class="govuk-skip-link" data-module="govuk-skip-link">Skip to main content</a>
|
|
56
58
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: govuk_tech_docs
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.
|
|
4
|
+
version: 5.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Government Digital Service
|
|
@@ -417,6 +417,7 @@ files:
|
|
|
417
417
|
- lib/assets/javascripts/_govuk/modules.js
|
|
418
418
|
- lib/assets/javascripts/_modules/anchored-headings.js
|
|
419
419
|
- lib/assets/javascripts/_modules/collapsible-navigation.js
|
|
420
|
+
- lib/assets/javascripts/_modules/cookie-banner.js
|
|
420
421
|
- lib/assets/javascripts/_modules/in-page-navigation.js
|
|
421
422
|
- lib/assets/javascripts/_modules/navigation.js
|
|
422
423
|
- lib/assets/javascripts/_modules/page-expiry.js
|
|
@@ -481,7 +482,9 @@ files:
|
|
|
481
482
|
- lib/source/images/search-button.png
|
|
482
483
|
- lib/source/images/search-result-caret.svg
|
|
483
484
|
- lib/source/layouts/_analytics.erb
|
|
484
|
-
- lib/source/layouts/
|
|
485
|
+
- lib/source/layouts/_analytics_ga4_gtag.erb
|
|
486
|
+
- lib/source/layouts/_analytics_ga4_gtm.erb
|
|
487
|
+
- lib/source/layouts/_cookie_banner.erb
|
|
485
488
|
- lib/source/layouts/_footer.erb
|
|
486
489
|
- lib/source/layouts/_header.erb
|
|
487
490
|
- lib/source/layouts/_page_review.erb
|