j1-template 2021.1.4 → 2021.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +4 -4
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +7 -15
- data/_includes/themes/j1/modules/connectors/ads +18 -7
- data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +7 -3
- data/_includes/themes/j1/modules/connectors/analytics +17 -3
- data/_includes/themes/j1/modules/connectors/comments +22 -8
- data/_includes/themes/j1/modules/connectors/translator +20 -6
- data/_includes/themes/j1/modules/navigator/generator.html +2 -2
- data/_includes/themes/j1/procedures/global/select_location.proc +3 -3
- data/_layouts/default.html +4 -7
- data/assets/data/cookieconsent.html +249 -0
- data/assets/data/quicklinks.html +18 -16
- data/assets/data/themes.json +6 -6
- data/assets/error_pages/HTTP204.html +30 -10
- data/assets/error_pages/HTTP400.html +29 -8
- data/assets/error_pages/HTTP401.html +29 -9
- data/assets/error_pages/HTTP403.html +29 -8
- data/assets/error_pages/HTTP404.html +29 -8
- data/assets/error_pages/HTTP500.html +29 -8
- data/assets/error_pages/HTTP501.html +29 -8
- data/assets/error_pages/HTTP502.html +29 -8
- data/assets/error_pages/HTTP503.html +30 -8
- data/assets/themes/j1/adapter/js/cookieConsent.js +290 -0
- data/assets/themes/j1/adapter/js/fam.js +2 -1
- data/assets/themes/j1/adapter/js/j1.js +154 -153
- data/assets/themes/j1/adapter/js/navigator.js +157 -200
- data/assets/themes/j1/adapter/js/themer.1.js +326 -0
- data/assets/themes/j1/adapter/js/themer.js +41 -57
- data/assets/themes/j1/adapter/js/toccer.js +4 -45
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +2 -2
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/js/template.js +3 -9
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +3 -9
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/cookieConsent/LICENSE +21 -0
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +301 -0
- data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +301 -0
- data/assets/themes/j1/modules/fam/css/{uno → theme/uno}/fam.css +0 -0
- data/assets/themes/j1/modules/fam/css/theme/uno/fam.min.css +15 -0
- data/assets/themes/j1/modules/fam/js/fam.js +1 -6
- data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
- data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
- data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
- data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
- data/assets/themes/j1/modules/mmenuLight/css/{mmenu.css → mmenu-light.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/{mmenu.min.css → mmenu-light.min.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.css → uno/mmenu.css} +0 -0
- data/assets/themes/j1/modules/mmenuLight/css/theme/{uno.min.css → uno/mmenu.min.css} +0 -0
- data/assets/themes/j1/modules/rtable/css/theme/{uno.css → uno/rtable.css} +0 -0
- data/assets/themes/j1/modules/rtable/css/theme/{uno.min.css → uno/rtable.min.css} +0 -0
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +34 -49
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +410 -2
- data/assets/themes/j1/modules/util/js/domready.js +146 -0
- data/assets/themes/j1/modules/util/js/gtag-opt-in.js +1 -0
- data/lib/j1/version.rb +3 -3
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +2 -3
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/_config.yml +19 -10
- data/lib/starter_web/_data/_defaults/resources.yml +11 -8
- data/lib/starter_web/_data/j1_config.yml +21 -18
- data/lib/starter_web/_data/modules/{cookiebar.yml → cookieconsent.yml} +5 -4
- data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +136 -0
- data/lib/starter_web/_data/modules/defaults/themer.yml +2 -1
- data/lib/starter_web/_data/pages/builder.yml +7 -7
- data/lib/starter_web/_data/private.default.yml +119 -0
- data/lib/starter_web/_data/private.yml +6 -6
- data/lib/starter_web/_data/resources.yml +15 -14
- data/lib/starter_web/_includes/attributes.asciidoc +10 -1
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/modules/attics/{cookies-1920x1200-bw.jpg → cookies-1920x1200.jpg} +0 -0
- data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +2 -2
- data/lib/starter_web/dot.gitignore +1 -1
- data/lib/starter_web/index.html +3 -3
- data/lib/starter_web/package.json +2 -2
- data/lib/starter_web/pages/public/blog/navigator/archive.html +5 -3
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -2
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +6 -4
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +23 -5
- data/lib/starter_web/pages/public/cookieConsent.adoc +93 -0
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +2 -1
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +111 -213
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +24 -76
- data/_includes/themes/j1/modules/navigator/generator.org.html +0 -232
- data/assets/data/cookiebar.html +0 -288
- data/assets/data/footer.new.1.html +0 -256
- data/assets/data/footer.new.2.html +0 -256
- data/assets/data/footer.org.html +0 -249
- data/assets/error_pages/HTTP520.html +0 -68
- data/assets/error_pages/HTTP521.html +0 -68
- data/assets/error_pages/HTTP533.html +0 -68
- data/assets/themes/j1/adapter/js/cookiebar.js +0 -212
- data/assets/themes/j1/adapter/js/j1.new.js +0 -1878
- data/assets/themes/j1/adapter/js/j1.org.js +0 -1874
- data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.css +0 -58
- data/assets/themes/j1/modules/_lightGallery/css/core/lg-fb-comment-box.min.css +0 -5
- data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.css +0 -778
- data/assets/themes/j1/modules/_lightGallery/css/core/lg-transitions.min.css +0 -5
- data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.css +0 -981
- data/assets/themes/j1/modules/_lightGallery/css/core/lightgallery.min.css +0 -5
- data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.eot +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.svg +0 -47
- data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.ttf +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/fonts/lg.woff +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/img/loading.gif +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/img/video-play.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/img/vimeo-play.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/img/youtube-play.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/animation-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/customize-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/dynamic-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/facebook-icon.svg +0 -10
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/googleplus-icon.svg +0 -30
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/html5-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/linked-in.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/module-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/play-button.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/responsive-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/thumb-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/touch-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter-icon.svg +0 -15
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/twitter.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/video1-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom-w.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/icons/zoom.png +0 -0
- data/assets/themes/j1/modules/_lightGallery/css/themes/uno.css +0 -262
- data/assets/themes/j1/modules/_lightGallery/css/themes/uno.min.css +0 -15
- data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.js +0 -1362
- data/assets/themes/j1/modules/_lightGallery/js/core/lightgallery.min.js +0 -4
- data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.js +0 -402
- data/assets/themes/j1/modules/_lightGallery/js/modules/j1/j1-video.min.js +0 -8
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.js +0 -206
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-autoplay.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.js +0 -126
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-fullscreen.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.js +0 -101
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-hash.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.js +0 -105
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-pager.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.js +0 -107
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-share.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.js +0 -478
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-thumbnail.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.js +0 -342
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-video.min.js +0 -5
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.js +0 -527
- data/assets/themes/j1/modules/_lightGallery/js/modules/lg-zoom.min.js +0 -5
- data/lib/starter_web/_data/modules/defaults/cookiebar.yml +0 -133
@@ -0,0 +1,146 @@
|
|
1
|
+
(function(){
|
2
|
+
|
3
|
+
var DomReady = window.DomReady = {};
|
4
|
+
|
5
|
+
// Everything that has to do with properly supporting our document ready event. Brought over from the most awesome jQuery.
|
6
|
+
|
7
|
+
var userAgent = navigator.userAgent.toLowerCase();
|
8
|
+
|
9
|
+
// Figure out what browser is being used
|
10
|
+
var browser = {
|
11
|
+
version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1],
|
12
|
+
safari: /webkit/.test(userAgent),
|
13
|
+
opera: /opera/.test(userAgent),
|
14
|
+
msie: (/msie/.test(userAgent)) && (!/opera/.test( userAgent )),
|
15
|
+
mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent))
|
16
|
+
};
|
17
|
+
|
18
|
+
var readyBound = false;
|
19
|
+
var isReady = false;
|
20
|
+
var readyList = [];
|
21
|
+
|
22
|
+
// Handle when the DOM is ready
|
23
|
+
function domReady() {
|
24
|
+
// Make sure that the DOM is not already loaded
|
25
|
+
if(!isReady) {
|
26
|
+
// Remember that the DOM is ready
|
27
|
+
isReady = true;
|
28
|
+
|
29
|
+
if(readyList) {
|
30
|
+
for(var fn = 0; fn < readyList.length; fn++) {
|
31
|
+
readyList[fn].call(window, []);
|
32
|
+
}
|
33
|
+
|
34
|
+
readyList = [];
|
35
|
+
}
|
36
|
+
}
|
37
|
+
};
|
38
|
+
|
39
|
+
// From Simon Willison. A safe way to fire onload w/o screwing up everyone else.
|
40
|
+
function addLoadEvent(func) {
|
41
|
+
var oldonload = window.onload;
|
42
|
+
if (typeof window.onload != 'function') {
|
43
|
+
window.onload = func;
|
44
|
+
} else {
|
45
|
+
window.onload = function() {
|
46
|
+
if (oldonload) {
|
47
|
+
oldonload();
|
48
|
+
}
|
49
|
+
func();
|
50
|
+
}
|
51
|
+
}
|
52
|
+
};
|
53
|
+
|
54
|
+
// does the heavy work of working through the browsers idiosyncracies (let's call them that) to hook onload.
|
55
|
+
function bindReady() {
|
56
|
+
if(readyBound) {
|
57
|
+
return;
|
58
|
+
}
|
59
|
+
|
60
|
+
readyBound = true;
|
61
|
+
|
62
|
+
// Mozilla, Opera (see further below for it) and webkit nightlies currently support this event
|
63
|
+
if (document.addEventListener && !browser.opera) {
|
64
|
+
// Use the handy event callback
|
65
|
+
document.addEventListener("DOMContentLoaded", domReady, false);
|
66
|
+
}
|
67
|
+
|
68
|
+
// If IE is used and is not in a frame
|
69
|
+
// Continually check to see if the document is ready
|
70
|
+
if (browser.msie && window == top) (function(){
|
71
|
+
if (isReady) return;
|
72
|
+
try {
|
73
|
+
// If IE is used, use the trick by Diego Perini
|
74
|
+
// http://javascript.nwbox.com/IEContentLoaded/
|
75
|
+
document.documentElement.doScroll("left");
|
76
|
+
} catch(error) {
|
77
|
+
setTimeout(arguments.callee, 0);
|
78
|
+
return;
|
79
|
+
}
|
80
|
+
// and execute any waiting functions
|
81
|
+
domReady();
|
82
|
+
})();
|
83
|
+
|
84
|
+
if(browser.opera) {
|
85
|
+
document.addEventListener( "DOMContentLoaded", function () {
|
86
|
+
if (isReady) return;
|
87
|
+
for (var i = 0; i < document.styleSheets.length; i++)
|
88
|
+
if (document.styleSheets[i].disabled) {
|
89
|
+
setTimeout( arguments.callee, 0 );
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
// and execute any waiting functions
|
93
|
+
domReady();
|
94
|
+
}, false);
|
95
|
+
}
|
96
|
+
|
97
|
+
if(browser.safari) {
|
98
|
+
var numStyles;
|
99
|
+
(function(){
|
100
|
+
if (isReady) return;
|
101
|
+
if (document.readyState != "loaded" && document.readyState != "complete") {
|
102
|
+
setTimeout( arguments.callee, 0 );
|
103
|
+
return;
|
104
|
+
}
|
105
|
+
if (numStyles === undefined) {
|
106
|
+
var links = document.getElementsByTagName("link");
|
107
|
+
for (var i=0; i < links.length; i++) {
|
108
|
+
if(links[i].getAttribute('rel') == 'stylesheet') {
|
109
|
+
numStyles++;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
var styles = document.getElementsByTagName("style");
|
113
|
+
numStyles += styles.length;
|
114
|
+
}
|
115
|
+
if (document.styleSheets.length != numStyles) {
|
116
|
+
setTimeout( arguments.callee, 0 );
|
117
|
+
return;
|
118
|
+
}
|
119
|
+
|
120
|
+
// and execute any waiting functions
|
121
|
+
domReady();
|
122
|
+
})();
|
123
|
+
}
|
124
|
+
|
125
|
+
// A fallback to window.onload, that will always work
|
126
|
+
addLoadEvent(domReady);
|
127
|
+
};
|
128
|
+
|
129
|
+
// This is the public function that people can use to hook up ready.
|
130
|
+
DomReady.ready = function(fn, args) {
|
131
|
+
// Attach the listeners
|
132
|
+
bindReady();
|
133
|
+
|
134
|
+
// If the DOM is already ready
|
135
|
+
if (isReady) {
|
136
|
+
// Execute the function immediately
|
137
|
+
fn.call(window, []);
|
138
|
+
} else {
|
139
|
+
// Add the function to the wait list
|
140
|
+
readyList.push( function() { return fn.call(window, []); } );
|
141
|
+
}
|
142
|
+
};
|
143
|
+
|
144
|
+
bindReady();
|
145
|
+
|
146
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.GTagOptIn=t():e.GTagOptIn=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"register",(function(){return i})),n.d(t,"optIn",(function(){return f})),n.d(t,"optOut",(function(){return a}));let r=!1,o=void 0;const i=e=>{u(e),o=e},u=e=>{if(!e)throw new Error("gtag-opt-in: invalid value passed to `register` method. Make sure to use a valid Analytics ID.")},a=()=>{d(),window["ga-disable-"+o]=!0},f=()=>{d(),c(),window["ga-disable-"+o]=!1},d=()=>{if(!o)throw new Error("gtag-opt-in: no value found for Analytics ID. Make sure to register before by calling the `register` method.")},c=()=>{r||(l(),r=!0)},l=()=>{const e=s();p(e)},s=()=>(window.dataLayer=window.dataLayer||[],function(){dataLayer.push(arguments)}),p=e=>{e("js",new Date),e("config",o,{anonymize_ip:!0})}}])}));
|
data/lib/j1/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module J1
|
2
|
-
VERSION = '2021.1.
|
3
|
-
end
|
1
|
+
module J1
|
2
|
+
VERSION = '2021.1.9'
|
3
|
+
end
|
@@ -154,10 +154,9 @@ module J1App
|
|
154
154
|
# --------------------------------------------------------------------------
|
155
155
|
j1_mw_auth_mgr.info 'initialize web session cookie'
|
156
156
|
use Rack::Session::Cookie,
|
157
|
-
http_only: true,
|
157
|
+
http_only: true,
|
158
158
|
key: 'j1.app.session',
|
159
|
-
|
160
|
-
same_site: 'Lax',
|
159
|
+
same_site: 'Strict',
|
161
160
|
secret: ENV['J1_SESSION_SECRET'] || SecureRandom.hex
|
162
161
|
|
163
162
|
# use Rack::Cache do |config|
|
data/lib/starter_web/Gemfile
CHANGED
@@ -54,7 +54,7 @@ gem 'jekyll', '~> 4.2'
|
|
54
54
|
|
55
55
|
# Theme Rubies, default: J1 Template (NOT used for the development system)
|
56
56
|
#
|
57
|
-
gem 'j1-template', '~> 2021.1.
|
57
|
+
gem 'j1-template', '~> 2021.1.9'
|
58
58
|
|
59
59
|
# ------------------------------------------------------------------------------
|
60
60
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
data/lib/starter_web/_config.yml
CHANGED
@@ -53,7 +53,7 @@ environment: production
|
|
53
53
|
# ------------------------------------------------------------------------------
|
54
54
|
# Sets the build version of J1 Template Gem
|
55
55
|
#
|
56
|
-
version: 2021.1.
|
56
|
+
version: 2021.1.9
|
57
57
|
|
58
58
|
# version
|
59
59
|
# ------------------------------------------------------------------------------
|
@@ -520,6 +520,7 @@ whitelist:
|
|
520
520
|
# EXCERPT settings
|
521
521
|
#
|
522
522
|
excerpt_separator: excerpt__end
|
523
|
+
excerpt_truncate_words: 100
|
523
524
|
|
524
525
|
# ------------------------------------------------------------------------------
|
525
526
|
# COLLECTION settings
|
@@ -592,9 +593,9 @@ defaults:
|
|
592
593
|
layout: page
|
593
594
|
author: J1 Team
|
594
595
|
|
595
|
-
|
596
|
-
|
597
|
-
|
596
|
+
robots:
|
597
|
+
index: false
|
598
|
+
follow: false
|
598
599
|
|
599
600
|
analytics: false
|
600
601
|
advertising: false
|
@@ -631,9 +632,9 @@ defaults:
|
|
631
632
|
layout: post
|
632
633
|
author: J1 Team
|
633
634
|
|
634
|
-
|
635
|
-
|
636
|
-
|
635
|
+
robots:
|
636
|
+
index: false
|
637
|
+
follow: false
|
637
638
|
|
638
639
|
analytics: false
|
639
640
|
advertising: false
|
@@ -670,9 +671,9 @@ defaults:
|
|
670
671
|
layout: post
|
671
672
|
author: J1 Team
|
672
673
|
|
673
|
-
|
674
|
-
|
675
|
-
|
674
|
+
robots:
|
675
|
+
index: false
|
676
|
+
follow: false
|
676
677
|
|
677
678
|
analytics: false
|
678
679
|
advertising: false
|
@@ -705,6 +706,10 @@ defaults:
|
|
705
706
|
layout: post
|
706
707
|
author: Wikipedia
|
707
708
|
|
709
|
+
robots:
|
710
|
+
index: false
|
711
|
+
follow: false
|
712
|
+
|
708
713
|
analytics: false
|
709
714
|
advertising: false
|
710
715
|
comments: false
|
@@ -740,6 +745,10 @@ defaults:
|
|
740
745
|
layout: page
|
741
746
|
sitemap: false
|
742
747
|
|
748
|
+
robots:
|
749
|
+
index: false
|
750
|
+
follow: false
|
751
|
+
|
743
752
|
# ==============================================================================
|
744
753
|
# 6. LAYOUT configuration
|
745
754
|
#
|
@@ -549,13 +549,13 @@ resources:
|
|
549
549
|
init_function: [ j1.adapter.back2top.init ]
|
550
550
|
|
551
551
|
# ----------------------------------------------------------------------------
|
552
|
-
#
|
552
|
+
# GDPR compatible Cookie Consent for J1 Template
|
553
553
|
#
|
554
|
-
- name:
|
554
|
+
- name: J1 CookieConsent
|
555
555
|
resource:
|
556
|
-
id:
|
556
|
+
id: cookieConsent
|
557
557
|
enabled: true
|
558
|
-
comment: module
|
558
|
+
comment: module cookieConsent
|
559
559
|
region: head
|
560
560
|
layout: [ all ]
|
561
561
|
required: always
|
@@ -565,9 +565,9 @@ resources:
|
|
565
565
|
pass_init_data: false
|
566
566
|
data:
|
567
567
|
css: []
|
568
|
-
files: [ adapter/js/
|
569
|
-
js: []
|
570
|
-
init_function: [ j1.adapter.
|
568
|
+
files: [ adapter/js/cookieConsent.js ]
|
569
|
+
js: [ modules/cookieConsent/js/cookieConsent ]
|
570
|
+
init_function: [ j1.adapter.cookieConsent.init ]
|
571
571
|
|
572
572
|
# ----------------------------------------------------------------------------
|
573
573
|
# jqMouseWheel, jQuery plugin to add cross-browser mouse wheel support
|
@@ -1170,7 +1170,10 @@ resources:
|
|
1170
1170
|
enabled: true
|
1171
1171
|
comment: Floating Button Menu
|
1172
1172
|
region: head
|
1173
|
-
layout: [
|
1173
|
+
layout: [ # TODO: check if FAM makes sense for layout app
|
1174
|
+
home, page, post, collection,
|
1175
|
+
blog_archive
|
1176
|
+
]
|
1174
1177
|
required: always
|
1175
1178
|
preload: false # property currently unused
|
1176
1179
|
script_load: sync
|
@@ -140,6 +140,7 @@ cookies:
|
|
140
140
|
app_session: j1.app.session
|
141
141
|
user_session: j1.user.session
|
142
142
|
user_state: j1.user.state
|
143
|
+
user_consent: j1.user.consent
|
143
144
|
|
144
145
|
|
145
146
|
# ==============================================================================
|
@@ -161,7 +162,7 @@ cookies:
|
|
161
162
|
# NOTE: Used for developent mode ONLY
|
162
163
|
# NOTE: See ~/packages/300_template_src/_layouts/default.html
|
163
164
|
# ------------------------------------------------------------------------------
|
164
|
-
flicker_timeout:
|
165
|
+
flicker_timeout: 150
|
165
166
|
|
166
167
|
# ------------------------------------------------------------------------------
|
167
168
|
# HTML PrettyPrint
|
@@ -386,15 +387,15 @@ comments:
|
|
386
387
|
provider: disqus
|
387
388
|
|
388
389
|
disqus:
|
389
|
-
short_name: '<your-site-
|
390
|
+
short_name: '<your-site-id>'
|
390
391
|
|
391
|
-
# facebook:
|
392
|
+
# facebook: # currently NOT supported
|
392
393
|
# appid: 123
|
393
394
|
# num_posts: 5
|
394
395
|
# width: 580
|
395
396
|
# colorscheme: light
|
396
397
|
|
397
|
-
# custom:
|
398
|
+
# custom: # currently NOT supported
|
398
399
|
# custom_data:
|
399
400
|
|
400
401
|
# ------------------------------------------------------------------------------
|
@@ -410,8 +411,8 @@ analytics:
|
|
410
411
|
google:
|
411
412
|
tracking_id: '<your-tracking-id>'
|
412
413
|
|
413
|
-
|
414
|
-
|
414
|
+
# custom: # currently NOT supported
|
415
|
+
# custom_data:
|
415
416
|
|
416
417
|
# ------------------------------------------------------------------------------
|
417
418
|
# ADVERTISING settings
|
@@ -422,26 +423,28 @@ analytics:
|
|
422
423
|
advertising:
|
423
424
|
enabled: false
|
424
425
|
provider: google
|
426
|
+
|
425
427
|
google:
|
426
428
|
publisher_id: '<your-publisher-id>'
|
427
|
-
|
428
|
-
|
429
|
+
|
430
|
+
# custom: # currently NOT supported
|
431
|
+
# custom_data:
|
429
432
|
|
430
433
|
# ------------------------------------------------------------------------------
|
431
|
-
# TRANSLATOR settings
|
434
|
+
# TRANSLATOR settings (currently NOT supported)
|
432
435
|
#
|
433
436
|
# Set 'enabled' to false to turn translators off globally
|
434
437
|
# Set 'provider' to the translation provider you want to use
|
435
438
|
#
|
436
|
-
translation:
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
439
|
+
# translation:
|
440
|
+
# enabled: false
|
441
|
+
# provider: google
|
442
|
+
#
|
443
|
+
# google:
|
444
|
+
# layout: default
|
445
|
+
# meta_data: [google-translate-customization]
|
446
|
+
# page_language: en
|
447
|
+
# translation_languages: [all]
|
445
448
|
|
446
449
|
# ------------------------------------------------------------------------------
|
447
450
|
# SHARING settings (currently NOT supported)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# ------------------------------------------------------------------------------
|
2
|
-
# ~/_data/modules/
|
3
|
-
# User configuration settings for J1
|
2
|
+
# ~/_data/modules/j1_cookieconsent.yml
|
3
|
+
# User configuration settings for J1 Cookie Consent module
|
4
4
|
#
|
5
5
|
# Product/Info:
|
6
6
|
# https://jekyll.one
|
@@ -16,9 +16,9 @@
|
|
16
16
|
#
|
17
17
|
description:
|
18
18
|
|
19
|
-
title:
|
19
|
+
title: CookieConsent
|
20
20
|
scope: User settings
|
21
|
-
location: _data/modules/
|
21
|
+
location: _data/modules/cookieconsent.yml
|
22
22
|
|
23
23
|
# ------------------------------------------------------------------------------
|
24
24
|
# User configuration settings
|
@@ -27,6 +27,7 @@ settings:
|
|
27
27
|
|
28
28
|
enabled: true
|
29
29
|
show_cookie_icon: true
|
30
|
+
reloadPageOnChange: true
|
30
31
|
|
31
32
|
# ------------------------------------------------------------------------------
|
32
33
|
# END config
|
@@ -0,0 +1,136 @@
|
|
1
|
+
# ------------------------------------------------------------------------------
|
2
|
+
# ~/_data/modules/defaults/cookieconsent.yml
|
3
|
+
# Default configuration settings for J1 Cookie Consent module
|
4
|
+
#
|
5
|
+
# Product/Info:
|
6
|
+
# https://jekyll.one
|
7
|
+
#
|
8
|
+
# Copyright (C) 2021 Juergen Adams
|
9
|
+
#
|
10
|
+
# J1 Template is licensed under the MIT License.
|
11
|
+
# See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
|
12
|
+
# ------------------------------------------------------------------------------
|
13
|
+
|
14
|
+
# ------------------------------------------------------------------------------
|
15
|
+
# About this configuration (used for J1 CC only)
|
16
|
+
#
|
17
|
+
about_config:
|
18
|
+
title: CookieConsent
|
19
|
+
scope: Default settings
|
20
|
+
location: _data/modules/defaults/cookieconsent.yml
|
21
|
+
|
22
|
+
# ------------------------------------------------------------------------------
|
23
|
+
# Default settings
|
24
|
+
#
|
25
|
+
defaults:
|
26
|
+
|
27
|
+
enabled: false
|
28
|
+
|
29
|
+
autoShowDialog: true # show consent dialog if NO consent cookie found
|
30
|
+
language: de # language of the modal is shown. Default: navigator.language
|
31
|
+
languages: [en, de] # supported languages, defaults to FIRST language defined by languages
|
32
|
+
contentURL: /assets/data/cookieconsent # dialogs content for all languages
|
33
|
+
cookieName: j1.user.consent # name of the consent cookie
|
34
|
+
cookieStorageDays: 365 # duration the consent cookie is stored
|
35
|
+
postSelectionCallback: j1.adapter.cookieConsent.cbCookie # currently hardcoded
|
36
|
+
|
37
|
+
reloadPageOnChange: false # reload current page if user settings has been changed
|
38
|
+
xhr_data_element: consent-data # container for the language-specific consent modal (taken from /assets/data/cookieconsent.html)
|
39
|
+
whitelisted: [ /pages/public/legal/en/privacy ] # pages NO consent issued, currently NOT supported
|
40
|
+
|
41
|
+
consent_modal_title:
|
42
|
+
de: Ihre Privatsphäre
|
43
|
+
en: Your Privacy
|
44
|
+
|
45
|
+
body_text:
|
46
|
+
en: >
|
47
|
+
This website is using cookies and similar technologies that
|
48
|
+
are required for operation. You are free to decide to give,
|
49
|
+
refuse or withdraw your consent at any time by clicking
|
50
|
+
the <code>My Settings</code> button. Subsequent changes are
|
51
|
+
possible at any time by clicking on the <code>cookie icon</code>
|
52
|
+
in the menu bar.
|
53
|
+
<br><br>
|
54
|
+
Extended cookies are only used with your consent. Additional
|
55
|
+
cookies are used to analyze the usage of this website.
|
56
|
+
Analysis of the use of this website help gives you a better
|
57
|
+
user experience of the website to offer. More information
|
58
|
+
about what data is collected and how they may be passed on
|
59
|
+
to partners can be found in the <code>Privacy Policy</code>.
|
60
|
+
<br><br>
|
61
|
+
Visiting this website, you consent to the use of by clicking the
|
62
|
+
<code>I agree</code> button.
|
63
|
+
de: >
|
64
|
+
Diese Website nutzt Cookies und ähnliche Technologien, die
|
65
|
+
zum Betrieb erforderlich sind. Es steht Ihnen frei, Ihre
|
66
|
+
Zustimmung jederzeit zu geben, zu verweigern oder zurückzuziehen,
|
67
|
+
indem Sie auf die Schaltfläche <code>Meine Einstellungen</code>
|
68
|
+
klicken. Nachträgliche Änderungen sind jederzeit möglich, indem Sie
|
69
|
+
auf das <code>Cookie-Icon</code> in der Menüleiste klicken.
|
70
|
+
<br><br>
|
71
|
+
Erweiterte Cookies werden nur mit Ihrer Zustimmung verwendet.
|
72
|
+
Zusätzliche Cookies werden eingesetzt, um Analysen der Nutzung
|
73
|
+
dieser Website durchzuführen. Analysen der Nutzung dieser Website
|
74
|
+
helfen dabei, Ihnen ein besseres Nutzungserlebnis der Website
|
75
|
+
zu bieten. Weitere Informationen welche Daten gesammelt und
|
76
|
+
wie sie ggf. an Partner weitergegeben werden finden Sie in der
|
77
|
+
<code>Datenschutzerklärung</code>.
|
78
|
+
<br><br>
|
79
|
+
Für den Besuch dieser Webseite stimmen Sie der Verwendung zu,
|
80
|
+
indem Sie auf die Schaltfläche <code>Einverstanden</code> klicken.
|
81
|
+
|
82
|
+
privacy_notice:
|
83
|
+
en: >
|
84
|
+
The operators of this website take the protection of your personal data
|
85
|
+
seriously. We treat your data confidential and comply with the
|
86
|
+
General Data Protection Regulation (GDPR) of the European Union to
|
87
|
+
protect your privacy.
|
88
|
+
A small set of data is stored in persistent cookies, e.g. what data
|
89
|
+
you agree to be stored in cookies. Persistent cookies have a lifespan
|
90
|
+
of 365 days (a year). We and our partners make use of persistent cookies.
|
91
|
+
Those additional cookies are only used with your consent.
|
92
|
+
<br><br>
|
93
|
+
<code>Necessary</code> data is stored to run base services of this site.
|
94
|
+
This website is based on static content, and no database is used behind it.
|
95
|
+
All information (data) needed to control this site is stored in
|
96
|
+
so-called session cookies. Session cookies are automatically removed by your
|
97
|
+
browser if you close all windows.
|
98
|
+
<br><br>
|
99
|
+
<code>Analysis</code> of the use of this website helps us to optimize your
|
100
|
+
user experience of the website. For analysis, Google Analytics (GA) is used.
|
101
|
+
This website does <b>not</b> transfer any personal data to GA. Implicit
|
102
|
+
personal information, like IP addresses, is anonymized to protect your privacy.
|
103
|
+
<br><br>
|
104
|
+
<code>Personalization</code> is used e.g. to collect user feedback or running
|
105
|
+
advertising campaigns to provide you a website free of charge. Partners like
|
106
|
+
Disqus or Google enables us to provide you excellent personalized services and
|
107
|
+
enables us to finance the costs for running this site.
|
108
|
+
de: >
|
109
|
+
Die Betreiber dieser Website nehmen den Schutz Ihrer persönlichen Daten ernst.
|
110
|
+
Wir behandeln Ihre Daten vertraulich und halten uns zum Schutz Ihrer Privatsphäre
|
111
|
+
an die Datenschutz-Grundverordnung (DSGVO) der Europäischen Union. In persistenten
|
112
|
+
Cookies wird ein kleiner Datensatz gespeichert, z.B. mit welchen Daten Sie
|
113
|
+
einverstanden sind, in Cookies gespeichert zu werden. Dauerhafte Cookies haben
|
114
|
+
eine Lebensdauer von 365 Tagen (ein Jahr). Wir und unsere Partner verwenden
|
115
|
+
dauerhafte Cookies. Diese zusätzlichen Cookies werden nur mit Ihrer Zustimmung
|
116
|
+
verwendet.
|
117
|
+
<br><br>
|
118
|
+
<code>Notwendige</code> Daten werden gespeichert, um Basisdienste dieser Site zu
|
119
|
+
betreiben. Diese Website basiert auf statischen Inhalten und es wird keine
|
120
|
+
Datenbank dahinter verwendet. Alle Informationen (Daten), die zur Steuerung dieser
|
121
|
+
Seite benötigt werden, werden in sogenannten Session-Cookies gespeichert. Sitzungscookies
|
122
|
+
werden von Ihrem Browser automatisch entfernt, wenn Sie alle Fenster schließen.
|
123
|
+
<br><br>
|
124
|
+
<code>Analysen</code> der Nutzung dieser Website hilft uns, Ihr Nutzungserlebnis der
|
125
|
+
Website zu optimieren. Zur Analyse wird Google Analytics (GA) verwendet. Diese Website
|
126
|
+
übermittelt keine personenbezogenen Daten an GA. Implizite personenbezogene Daten wie
|
127
|
+
IP-Adressen werden zum Schutz Ihrer Privatsphäre anonymisiert.
|
128
|
+
<br><br>
|
129
|
+
<code>Personalisierung</code> wird z.B. um Benutzerfeedback zu sammeln oder
|
130
|
+
Werbekampagnen durchzuführen, um Ihnen eine Website kostenlos zur Verfügung zu
|
131
|
+
stellen. Partner wie Disqus oder Google ermöglichen es uns, Ihnen exzellente
|
132
|
+
personalisierte Dienste anzubieten und die Kosten für den Betrieb dieser Website
|
133
|
+
zu finanzieren.
|
134
|
+
|
135
|
+
# ------------------------------------------------------------------------------
|
136
|
+
# END config
|