j1-template 2022.0.4 → 2022.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_layouts/default.html +34 -75
- data/assets/error_pages/HTTP444.html +4 -4
- data/assets/error_pages/HTTP445.html +3 -3
- data/assets/error_pages/HTTP446.html +110 -0
- data/assets/themes/j1/adapter/js/cookieConsent.js +53 -25
- data/assets/themes/j1/adapter/js/j1.js +81 -196
- data/assets/themes/j1/adapter/js/themer.js +0 -1
- data/assets/themes/j1/adapter/js/translator.js +107 -56
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +6 -0
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/js/template.js +5 -6
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +29 -13
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +0 -1
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
- data/assets/themes/j1/modules/translator/js/translator.js +98 -63
- data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +2 -3
- data/lib/starter_web/_data/modules/cookies.yml +30 -0
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/cookies.yml +103 -0
- data/lib/starter_web/_data/modules/navigator_menu.yml +10 -1
- data/lib/starter_web/_includes/attributes.asciidoc +6 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/_test_pages/google-translate-tester.1.adoc +0 -2
- data/lib/starter_web/pages/_test_pages/google-translate-tester.4.adoc +0 -2
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/index.html +1 -1
- data/lib/starter_web/pages/public/learn/quickstart.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +1 -1
- data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +2 -12
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -12
- data/lib/starter_web/pages/public/manuals/dropdown-help.adoc +1 -1
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -1
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -1
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -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: d677a1415debd2c17a1533eefd370b21cfa0a60f7e25095a425c7646bdc90b58
|
4
|
+
data.tar.gz: '0891f43e5335fbec2b2c8021f2fe52db8c3ed866952c187ed0183936aeb67e13'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 468acaed0d9669f4dc9655571ad8febba31dae985ffe26bb3a7adec076899ad2f1a7baa1368eeff249e7dab2ef65dfbcf99215ea99a4a8aa0b258f2f2d7a1578
|
7
|
+
data.tar.gz: 68bef50dfe0ef71d51ed2d8245a54d0de996c32583b1224646a84c7af3cb94bf4d8b4046f465343503365078949f96fdd4ae49e0c712c2acef0bf47c0cb60f73
|
data/_layouts/default.html
CHANGED
@@ -74,11 +74,6 @@ layout: compress
|
|
74
74
|
-------------------------------------------------------------------------------- {% endcomment %}
|
75
75
|
{% assign tooltips_options = template_config.bootstrap.tooltips %}
|
76
76
|
{% assign popovers_options = template_config.bootstrap.popovers %}
|
77
|
-
{% assign smoothscroll_options = template_config.smoothScroll %}
|
78
|
-
|
79
|
-
|
80
|
-
{% comment %} tooltips_options: {{ tooltips_options | debug }}{% endcomment %}
|
81
|
-
|
82
77
|
|
83
78
|
{% comment %} Webhooks disabled
|
84
79
|
--------------------------------------------------------------------------------
|
@@ -89,20 +84,12 @@ layout: compress
|
|
89
84
|
{% assign logon_client = data.modules.j1_sign_in_up %}
|
90
85
|
{% assign body_scrollbar = data.j1_config.body.scrollbar %}
|
91
86
|
|
92
|
-
{% if smoothscroll_options.enabled and smoothscroll_options.scrollInPageHashes %}
|
93
|
-
{% assign scroll_inpage_hashes = true %}
|
94
|
-
{% endif %}
|
95
|
-
|
96
87
|
{% comment %} Overload properties from page options
|
97
88
|
-------------------------------------------------------------------------------- {% endcomment %}
|
98
89
|
{% if page.scrollbar %}
|
99
90
|
{% assign body_scrollbar = page.scrollbar %}
|
100
91
|
{% endif %}
|
101
92
|
|
102
|
-
{% if page.scrollInPageHashes != nil %}
|
103
|
-
{% assign scroll_inpage_hashes = page.scrollInPageHashes %}
|
104
|
-
{% endif %}
|
105
|
-
|
106
93
|
{% comment %} main
|
107
94
|
-------------------------------------------------------------------------------- {% endcomment %}
|
108
95
|
<!DOCTYPE {{ site.doctype }}>
|
@@ -133,23 +120,39 @@ layout: compress
|
|
133
120
|
|
134
121
|
<body>
|
135
122
|
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
<!-- [INFO ] [j1.layout.default.html ] [
|
145
|
-
|
146
|
-
<!--
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
123
|
+
{% comment %} wrapper to suppress "DOM flicker"|"Overflows"
|
124
|
+
NOTE:
|
125
|
+
2021-11-13:
|
126
|
+
Since moved to bs@5, a overflow is on the HOME page
|
127
|
+
!!! NOT seen on content pages !!!
|
128
|
+
------------------------------------------------------------------------------ {% endcomment %}
|
129
|
+
<!-- [INFO ] [j1.layout.default.html ] [ start page processing for region: 'body' ] -->
|
130
|
+
<!-- [INFO ] [j1.layout.default.html ] [ place wrapper to prevent "DOM flicker" ] -->
|
131
|
+
<!-- [INFO ] [j1.layout.default.html ] [ make page hidden (suppress flicker) ] -->
|
132
|
+
<!-- [INFO ] [j1.layout.default.html ] [ suppress page overflows (overflow: hidden) ] -->
|
133
|
+
<!-- div id="no_flicker" style="display: none" -->
|
134
|
+
<div id="no_flicker" style="overflow: hidden; display: none">
|
135
|
+
|
136
|
+
{% comment %} collect the BODY-NAVIGATION region
|
137
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
138
|
+
<!-- [INFO ] [j1.layout.default.html ] [ call default_writer for region: 'body-navigation' ] -->
|
139
|
+
{% include {{default_writer}} region='body-navigation' items=lanes_collate %}
|
140
|
+
<!-- [INFO ] [j1.layout.default.html ] [ end processing default_writer for region: 'body-navigation' ] -->
|
141
|
+
|
142
|
+
{% comment %} inherit CONTENT from other LAYOUTS
|
143
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
144
|
+
<!-- [INFO ] [j1.layout.default.html ] [ place content inherited by layout: {{ page.layout}} ] -->
|
145
|
+
{{ content }}
|
146
|
+
<!-- [INFO ] [j1.layout.default.html ] [ end content inherited by layout: {{ page.layout}} ] -->
|
147
|
+
|
148
|
+
{% comment %} collect the BODY-FOOTER region
|
149
|
+
-------------------------------------------------------------------------- {% endcomment %}
|
150
|
+
<!-- [INFO ] [j1.layout.default.html ] [ call default_writer for region: 'body-footer' ] -->
|
151
|
+
{% include {{default_writer}} region='body-footer' items=lanes_collate %}
|
152
|
+
<!-- [INFO ] [j1.layout.default.html ] [ end content_writer default_writer for region: 'body-footer' ] -->
|
153
|
+
|
154
|
+
</div>
|
155
|
+
<!-- [INFO ] [j1.layout.default.html ] [ end suppress flicker ] -->
|
153
156
|
|
154
157
|
<!-- [INFO ] [j1.layout.default.html ] [ place noscript info|error page ] -->
|
155
158
|
{% assign language = site.language %}
|
@@ -204,8 +207,8 @@ layout: compress
|
|
204
207
|
|
205
208
|
<!-- [INFO ] [j1.layout.default.html ] [ place hidden color selector/themes: bg-primary ] -->
|
206
209
|
<div id="bg-primary" class="bg-primary" style="display: none"></div>
|
207
|
-
<!-- [INFO ] [j1.layout.default.html ] [ end default writer] -->
|
208
210
|
|
211
|
+
<!-- [INFO ] [j1.layout.default.html ] [ end default writer] -->
|
209
212
|
</body>
|
210
213
|
|
211
214
|
{% comment %} Place container for WebHook modals
|
@@ -243,50 +246,6 @@ layout: compress
|
|
243
246
|
return new bootstrap.Popover(popoverTriggerEl)
|
244
247
|
});
|
245
248
|
{% endif %}
|
246
|
-
|
247
|
-
{% comment %} Update cookie for lastpage
|
248
|
-
---------------------------------------------------------------------------- {% endcomment %}
|
249
|
-
// save the current page to userstate cookie
|
250
|
-
var dependencies_met_page_ready = setInterval (function (options) {
|
251
|
-
if (j1.getState() === 'finished') {
|
252
|
-
var logger = log4javascript.getLogger('j1.layout.default');
|
253
|
-
|
254
|
-
function setLastPage() {
|
255
|
-
var cookie_names = j1.getCookieNames();
|
256
|
-
const user_state_cookie_name = cookie_names.user_session;
|
257
|
-
var user_state = j1.readCookie(user_state_cookie_name);
|
258
|
-
var user_state_last_page = window.location.pathname;
|
259
|
-
user_state.last_page = user_state_last_page;
|
260
|
-
|
261
|
-
j1.writeCookie({
|
262
|
-
name: user_state_cookie_name,
|
263
|
-
data: user_state,
|
264
|
-
samesite: 'Strict'
|
265
|
-
});
|
266
|
-
logger.debug('\n' + 'saved current page to cookie :' + user_state_last_page);
|
267
|
-
}
|
268
|
-
setLastPage();
|
269
|
-
clearInterval(dependencies_met_page_ready);
|
270
|
-
}
|
271
|
-
});
|
272
|
-
|
273
|
-
{% if scroll_inpage_hashes %}
|
274
|
-
// In-page HASH anchor links on click based on Chris Coyier's solution
|
275
|
-
// See: https://css-tricks.com/snippets/jquery/smooth-scrolling/
|
276
|
-
$('a[href^="#"]:not([href="#"])').click(function(e) {
|
277
|
-
if (location.hostname == this.hostname) {
|
278
|
-
var target = $(this.hash);
|
279
|
-
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
|
280
|
-
if (target.length) {
|
281
|
-
$('html, body').animate({
|
282
|
-
scrollTop: target.offset().top - 100 + 'px'
|
283
|
-
}, 200);
|
284
|
-
return false;
|
285
|
-
}
|
286
|
-
}
|
287
|
-
});
|
288
|
-
{% endif %}
|
289
|
-
|
290
249
|
});
|
291
250
|
</script>
|
292
251
|
<!-- [INFO ] [j1.layout.default.html ] [ end page processing ] -->
|
@@ -18,8 +18,8 @@ sitemap: false
|
|
18
18
|
|
19
19
|
{% comment %}
|
20
20
|
# -----------------------------------------------------------------------------
|
21
|
-
# ~/assets/http_error_pages/
|
22
|
-
# Liquid TEMPLATE to generate customized HTML error pages:
|
21
|
+
# ~/assets/http_error_pages/HTTP444.html
|
22
|
+
# Liquid TEMPLATE to generate customized HTML error pages: 444 - Blocked Content
|
23
23
|
#
|
24
24
|
# Product/Info:
|
25
25
|
# https://jekyll.one
|
@@ -65,14 +65,14 @@ sitemap: false
|
|
65
65
|
{% if language == 'en' %}
|
66
66
|
{% assign title = "Blocked Content" %}
|
67
67
|
{% assign back_url_text = "Back Home" %}
|
68
|
-
{% assign reason = "
|
68
|
+
{% assign reason = "Access to the page has been disabled for technical reasons. <br/> Because your privacy settings disabled personalization, this page cannot be presented." %}
|
69
69
|
{% assign contact_issue = "Technical Contact" %}
|
70
70
|
{% endif %}
|
71
71
|
|
72
72
|
{% if language == 'de' %}
|
73
73
|
{% assign title = "Gesperrter Inhalt" %}
|
74
74
|
{% assign back_url_text = "Zurück zur Startseite" %}
|
75
|
-
{% assign reason = "
|
75
|
+
{% assign reason = "Die Anzeige dieser Seite ist aus technischen Gründen gesperrt. <br/>Die Einstellungen zu Ihrer Privatsphäre erlauben keine Personalisierung. Diese Seite kann daher nicht angezeigt werden." %}
|
76
76
|
{% assign contact_issue = "Technischer Kontakt" %}
|
77
77
|
{% endif %}
|
78
78
|
|
@@ -18,8 +18,8 @@ sitemap: false
|
|
18
18
|
|
19
19
|
{% comment %}
|
20
20
|
# -----------------------------------------------------------------------------
|
21
|
-
# ~/assets/http_error_pages/
|
22
|
-
# Liquid TEMPLATE to generate customized HTML error pages: 445 -
|
21
|
+
# ~/assets/http_error_pages/HTTP445.html
|
22
|
+
# Liquid TEMPLATE to generate customized HTML error pages: 445 - Blocked Content
|
23
23
|
#
|
24
24
|
# Product/Info:
|
25
25
|
# https://jekyll.one
|
@@ -65,7 +65,7 @@ sitemap: false
|
|
65
65
|
{% if language == 'en' %}
|
66
66
|
{% assign title = "Site Blocked" %}
|
67
67
|
{% assign back_url_text = "Back Home" %}
|
68
|
-
{% assign reason = "
|
68
|
+
{% assign reason = "Access to the site has been disabled for technical reasons. <br/> Because your cookie settings are disabled for this website, the content cannot be presented." %}
|
69
69
|
{% assign contact_issue = "Technical Contact" %}
|
70
70
|
{% endif %}
|
71
71
|
|
@@ -0,0 +1,110 @@
|
|
1
|
+
---
|
2
|
+
date: 2021-01-01 00:00:00
|
3
|
+
description: >
|
4
|
+
Customized HTML error page
|
5
|
+
|
6
|
+
categories: [ Error page ]
|
7
|
+
tags: [ HTML, 446 ]
|
8
|
+
|
9
|
+
exclude_from_search: true
|
10
|
+
|
11
|
+
regenerate: false
|
12
|
+
permalink: /446.html
|
13
|
+
http_error: 446
|
14
|
+
back_url: "https://jekyll.one/"
|
15
|
+
sitemap: false
|
16
|
+
---
|
17
|
+
{% capture j1_cache %}
|
18
|
+
|
19
|
+
{% comment %}
|
20
|
+
# -----------------------------------------------------------------------------
|
21
|
+
# ~/assets/http_error_pages/HTTP446.html
|
22
|
+
# Liquid TEMPLATE to generate customized HTML error pages: 446 - Blocked Content
|
23
|
+
#
|
24
|
+
# Product/Info:
|
25
|
+
# https://jekyll.one
|
26
|
+
#
|
27
|
+
# Copyright (C) 2021 Juergen Adams
|
28
|
+
# Copyright (C) 2020 Andi Dittrich
|
29
|
+
#
|
30
|
+
# J1 Template is licensed under the MIT License.
|
31
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
32
|
+
# HttpErrorPages are licensed under the MIT License.
|
33
|
+
# See: https://github.com/AndiDittrich/HttpErrorPages
|
34
|
+
# -----------------------------------------------------------------------------
|
35
|
+
# NOTE
|
36
|
+
# German translation, see: https://de.wikipedia.org/wiki/HTTP-Statuscode
|
37
|
+
# -----------------------------------------------------------------------------
|
38
|
+
# Test data:
|
39
|
+
# liquid_var: {{ liquid_var | debug }}
|
40
|
+
# config: {{ config | debug }}
|
41
|
+
# -----------------------------------------------------------------------------
|
42
|
+
{% endcomment %}
|
43
|
+
|
44
|
+
{% assign language = site.language %}
|
45
|
+
{% assign webmaster_email = site.webmaster.email %}
|
46
|
+
{% assign copyright_info = site.copyright %}
|
47
|
+
{% assign favicon = site.favicon.image %}
|
48
|
+
{% assign images_dir = site.asciidoc_attributes.imagesdir %}
|
49
|
+
{% assign brand_text = site.brand.text %}
|
50
|
+
{% assign brand_image_source = site.brand.image %}
|
51
|
+
{% assign brand_image_height = site.brand.image_height %}
|
52
|
+
|
53
|
+
{% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
|
54
|
+
|
55
|
+
{% comment %} language detection
|
56
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
57
|
+
{% if site.language == "en" %}
|
58
|
+
{% assign language = "en" %}
|
59
|
+
{% elsif site.language == "de"%}
|
60
|
+
{% assign language = "de" %}
|
61
|
+
{% else %}
|
62
|
+
{% assign language = "en" %}
|
63
|
+
{% endif %}
|
64
|
+
|
65
|
+
{% if language == 'en' %}
|
66
|
+
{% assign title = "Site Blocked" %}
|
67
|
+
{% assign back_url_text = "Back to J1 Template (Home)" %}
|
68
|
+
{% assign reason = "Access to the site has been blocked for technical reasons. <br> Access to cookies for this site failed. Possibly, a third-party domain tries to access it." %}
|
69
|
+
{% assign contact_issue = "Technical Contact" %}
|
70
|
+
{% endif %}
|
71
|
+
|
72
|
+
{% if language == 'de' %}
|
73
|
+
{% assign title = "Website gesperrt" %}
|
74
|
+
{% assign back_url_text = "Zurück zu J1 Template (Home)" %}
|
75
|
+
{% assign reason = "Diese Webseiten sind aus technischen Gründen nicht verfügbar. <br> Der Zugriff auf Cookies ist für diese Website fehlgeschlagen. Möglicherweise versucht eine Drittanbieter-Domain darauf zuzugreifen." %}
|
76
|
+
{% assign contact_issue = "Technischer Kontakt" %}
|
77
|
+
{% endif %}
|
78
|
+
|
79
|
+
<!DOCTYPE html>
|
80
|
+
<html lang="{{language}}">
|
81
|
+
<head>
|
82
|
+
<!-- [INFO ] [j1.error.pages ] [ Simple HttpErrorPages | MIT License | https://github.com/AndiDittrich/HttpErrorPages ] -->
|
83
|
+
<!-- [INFO ] [j1.error.pages ] [ detected language (site): {{language}} ] -->
|
84
|
+
<meta charset="utf-8" />
|
85
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
86
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
87
|
+
<meta name="robots" content="noindex, nofollow">
|
88
|
+
<link rel="icon" type="image/ico" href="{{favicon}}">
|
89
|
+
<title>{{title}} · {{page.http_error}}</title>
|
90
|
+
<style> .attic { background-image: -webkit-gradient(linear, left top, left bottom, from(#263238), to(#3F51B5));background-image: -webkit-linear-gradient(top, #263238 0%, #3F51B5 100%);background-image: -o-linear-gradient(top, #263238 0%, #3F51B5 100%);background-image: linear-gradient(to bottom, #263238 0%, #3F51B5 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#263238", endColorstr="#3F51B5", GradientType=0); } </style>
|
91
|
+
<style type="text/css">/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{cursor: pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{cursor: pointer ;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}body,html{width:100%;height:100%;background-color:#21232a}body{color:#fff;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.5);padding:0;min-height:100%;-webkit-box-shadow:inset 0 0 100px rgba(0,0,0,.8);box-shadow:inset 0 0 100px rgba(0,0,0,.8);display:table;font-family:"Open Sans",Arial,sans-serif}h1{font-family:inherit;font-weight:500;line-height:1.1;color:inherit;font-size:36px}h1 small{font-size:68%;font-weight:400;line-height:1;color:#777}a{text-decoration:none;color:#fff;font-size:inherit;border-bottom:dotted 1px #707070}.lead{color:silver;font-size:21px;line-height:1.4}.cover{display:table-cell;vertical-align:middle;padding:0 20px}footer{position:fixed;width:100%;height:40px;left:0;bottom:0;color:#a0a0a0;font-size:14px}</style>
|
92
|
+
</head>
|
93
|
+
<body>
|
94
|
+
<div style="margin-top: 1rem;">
|
95
|
+
<a href="/"><img src="{{brand_image}}" height="{{brand_image_height}}" alt="{{brand_text}}"></a>
|
96
|
+
</div>
|
97
|
+
<div class="cover attic">
|
98
|
+
<h1>{{title}} <small>{{page.http_error}}</small></h1>
|
99
|
+
<p class="lead">{{reason}}</p>
|
100
|
+
<div><a href="{{page.back_url}}">{{back_url_text}}</a></div>
|
101
|
+
</div>
|
102
|
+
<footer>
|
103
|
+
<p>{{copyright_info}} · {{contact_issue}}: <a href="mailto:{{webmaster_email}}?subject={{title}}"> {{webmaster_email}} </a></p>
|
104
|
+
</footer>
|
105
|
+
</body>
|
106
|
+
</html>
|
107
|
+
|
108
|
+
{% endcapture %}
|
109
|
+
{{ j1_cache | strip_empty_lines }}
|
110
|
+
{% assign j1_cache = nil %}
|
@@ -34,6 +34,9 @@ regenerate: true
|
|
34
34
|
|
35
35
|
{% comment %} Set config data
|
36
36
|
-------------------------------------------------------------------------------- {% endcomment %}
|
37
|
+
{% assign cookie_defaults = modules.defaults.cookies.defaults %}
|
38
|
+
{% assign cookie_settings = modules.cookies.settings %}
|
39
|
+
|
37
40
|
{% assign consent_defaults = modules.defaults.cookieconsent.defaults %}
|
38
41
|
{% assign consent_settings = modules.cookieconsent.settings %}
|
39
42
|
{% assign tracking_enabled = template_config.analytics.enabled %}
|
@@ -44,6 +47,7 @@ regenerate: true
|
|
44
47
|
{% comment %} Set config options
|
45
48
|
-------------------------------------------------------------------------------- {% endcomment %}
|
46
49
|
{% assign consent_options = consent_defaults | merge: consent_settings %}
|
50
|
+
{% assign cookie_options = cookie_defaults | merge: cookie_settings %}
|
47
51
|
|
48
52
|
{% assign production = false %}
|
49
53
|
{% if environment == 'prod' or environment == 'production' %}
|
@@ -87,12 +91,14 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
87
91
|
var moduleOptions = {};
|
88
92
|
var _this;
|
89
93
|
var $modal;
|
94
|
+
var cookie_names;
|
90
95
|
var user_cookie;
|
91
96
|
var logger;
|
92
97
|
var url;
|
93
98
|
var baseUrl;
|
94
99
|
var hostname;
|
95
100
|
var domain;
|
101
|
+
var domain_enabled;
|
96
102
|
var cookie_domain;
|
97
103
|
var secure;
|
98
104
|
var logText;
|
@@ -122,21 +128,16 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
122
128
|
// -----------------------------------------------------------------------
|
123
129
|
_this = j1.adapter.cookieConsent;
|
124
130
|
logger = log4javascript.getLogger('j1.adapter.cookieConsent');
|
131
|
+
cookie_names = j1.getCookieNames();
|
125
132
|
url = new liteURL(window.location.href);
|
126
133
|
baseUrl = url.origin;
|
127
134
|
hostname = url.hostname;
|
128
135
|
domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
|
136
|
+
domain_enabled = '{{cookie_options.domain}}';
|
129
137
|
secure = (url.protocol.includes('https')) ? true : false;
|
130
138
|
contentLanguage = '{{site.language}}';
|
131
139
|
navigatorLanguage = navigator.language || navigator.userLanguage;
|
132
140
|
|
133
|
-
// set domain used by cookies
|
134
|
-
if(domain !== 'localhost') {
|
135
|
-
cookie_domain = '.' + hostname;
|
136
|
-
} else {
|
137
|
-
cookie_domain = hostname;
|
138
|
-
}
|
139
|
-
|
140
141
|
// initialize state flag
|
141
142
|
_this.state = 'pending';
|
142
143
|
|
@@ -169,6 +170,16 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
169
170
|
// initializer
|
170
171
|
// -----------------------------------------------------------------------
|
171
172
|
var dependencies_met_page_ready = setInterval (function (options) {
|
173
|
+
var expires = '{{cookie_options.expires}}';
|
174
|
+
var same_site = '{{cookie_options.same_site}}';
|
175
|
+
|
176
|
+
// set domain used by cookies
|
177
|
+
if (domain != hostname) {
|
178
|
+
cookie_domain = domain_enabled ? '.' + domain : hostname;
|
179
|
+
} else {
|
180
|
+
cookie_domain = hostname;
|
181
|
+
}
|
182
|
+
|
172
183
|
if ( j1.getState() === 'finished' ) {
|
173
184
|
_this.setState('started');
|
174
185
|
logger.info('\n' + 'state: ' + _this.getState());
|
@@ -176,8 +187,10 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
176
187
|
|
177
188
|
j1.cookieConsent = new CookieConsent ({
|
178
189
|
contentURL: moduleOptions.contentURL, // dialog content (modals) for all supported languages
|
179
|
-
cookieName:
|
180
|
-
|
190
|
+
cookieName: cookie_names.user_consent, // name of the consent cookie
|
191
|
+
cookieStorageDays: expires, // lifetime of a cookie [0..365], 0: session cookie
|
192
|
+
cookieSameSite: same_site, // restrict consent cookie
|
193
|
+
cookieDomain: cookie_domain, // set domain (hostname|domain)
|
181
194
|
dialogLanguage: moduleOptions.dialogLanguage, // language for the dialog (modal)
|
182
195
|
whitelisted: moduleOptions.whitelisted, // pages NOt dialog is shown
|
183
196
|
reloadPageOnChange: moduleOptions.reloadPageOnChange, // reload if setzings has changed
|
@@ -190,12 +203,9 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
190
203
|
logger.info('\n' + 'state: ' + _this.getState());
|
191
204
|
logger.debug('\n' + 'module initialized successfully');
|
192
205
|
|
193
|
-
//
|
194
|
-
//
|
195
|
-
//
|
196
|
-
// logger.info('\n' + 'call default action');
|
197
|
-
// j1.cookieConsent.showDialog();
|
198
|
-
// });
|
206
|
+
// -------------------------------------------------------------------
|
207
|
+
// NOTE: Click events moved to Navigator (core)
|
208
|
+
// -------------------------------------------------------------------
|
199
209
|
|
200
210
|
clearInterval(dependencies_met_page_ready);
|
201
211
|
}
|
@@ -301,23 +311,27 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
301
311
|
}
|
302
312
|
}
|
303
313
|
|
304
|
-
// Managing providers
|
314
|
+
// Managing providers using personalization OptIn/Out
|
315
|
+
// (Comments|Ads|Translation)
|
305
316
|
//
|
306
317
|
if (!user_consent.analysis || !user_consent.personalization) {
|
307
|
-
// expire consent|state cookies to session
|
308
|
-
j1.expireCookie({ name: cookie_names.user_state });
|
309
|
-
j1.expireCookie({ name: cookie_names.user_consent });
|
310
|
-
j1.expireCookie({ name: cookie_names.user_translate });
|
311
318
|
|
319
|
+
// overload cookie consent settings
|
320
|
+
user_translate.analysis = user_consent.analysis;
|
321
|
+
user_translate.personalization = user_consent.personalization;
|
322
|
+
// disable translation service
|
312
323
|
user_translate.translationEnabled = false;
|
324
|
+
|
313
325
|
cookie_written = j1.writeCookie({
|
314
326
|
name: cookie_names.user_translate,
|
315
327
|
data: user_translate,
|
316
|
-
|
317
|
-
secure: secure,
|
318
|
-
expires: 365
|
328
|
+
secure: secure
|
319
329
|
});
|
320
330
|
|
331
|
+
// expire permanent cookies to session
|
332
|
+
j1.expireCookie({ name: cookie_names.user_state });
|
333
|
+
j1.expireCookie({ name: cookie_names.user_consent });
|
334
|
+
j1.expireCookie({ name: cookie_names.user_translate });
|
321
335
|
}
|
322
336
|
if (moduleOptions.reloadPageOnChange) {
|
323
337
|
// reload current page (skip cache)
|
@@ -331,14 +345,28 @@ j1.adapter['cookieConsent'] = (function (j1, window) {
|
|
331
345
|
j1.removeCookie({ name: item, domain: cookie_domain });
|
332
346
|
});
|
333
347
|
|
334
|
-
// Managing providers
|
348
|
+
// Managing providers using personalization OptIn/Out
|
349
|
+
// (Comments|Ads|Translation)
|
335
350
|
//
|
336
351
|
if (!user_consent.analysis || !user_consent.personalization) {
|
337
|
-
//
|
352
|
+
// overload cookie consent settings
|
353
|
+
user_translate.analysis = user_consent.analysis;
|
354
|
+
user_translate.personalization = user_consent.personalization;
|
355
|
+
// disable translation service
|
356
|
+
user_translate.translationEnabled = false;
|
357
|
+
|
358
|
+
cookie_written = j1.writeCookie({
|
359
|
+
name: cookie_names.user_translate,
|
360
|
+
data: user_translate,
|
361
|
+
secure: secure
|
362
|
+
});
|
363
|
+
|
364
|
+
// expire permanent cookies to session
|
338
365
|
j1.expireCookie({ name: cookie_names.user_state });
|
339
366
|
j1.expireCookie({ name: cookie_names.user_consent });
|
340
367
|
j1.expireCookie({ name: cookie_names.user_translate });
|
341
368
|
}
|
369
|
+
|
342
370
|
if (moduleOptions.reloadPageOnChange) {
|
343
371
|
// reload current page (skip cache)
|
344
372
|
location.reload(true);
|