j1-template 2022.0.6 → 2022.0.7
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 +1 -2
- data/assets/themes/j1/adapter/js/cookieConsent.js +0 -1
- data/assets/themes/j1/adapter/js/j1.js +13 -22
- data/assets/themes/j1/adapter/js/themer.js +0 -1
- data/assets/themes/j1/adapter/js/translator.js +1 -4
- 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/modules/cookieConsent/js/cookieConsent.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 +1 -1
- data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
- data/lib/j1/version.rb +3 -3
- 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 +1 -1
- data/lib/starter_web/_data/modules/defaults/cookies.yml +39 -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 +4 -2
@@ -62,7 +62,7 @@ function CookieConsent(props) {
|
|
62
62
|
whitelisted: [], // pages NO consent modal dialog is issued
|
63
63
|
xhrDataElement: 'consent-data', // src container for all language-specific consent dialogs (taken from contentURL)
|
64
64
|
dialogContainerID: 'consent-modal', // dest container, the dialog modal is loaded (dynamically)
|
65
|
-
cookieSameSite: '
|
65
|
+
cookieSameSite: 'Lax', // restrict the consent cookie to first-party (do NOT send cookie to other domains)
|
66
66
|
cookieSecure: true
|
67
67
|
};
|
68
68
|
|
@@ -19,4 +19,4 @@
|
|
19
19
|
# The original version cannot be used with J1 for theme menu creation!
|
20
20
|
# -----------------------------------------------------------------------------
|
21
21
|
*/
|
22
|
-
;(function(d,h,o,g){var b=d.fn.bootstrapThemeSwitcher;var e=j1.getCookieNames();var p=j1.findCookie("_ga");var q=j1.findCookie("j1");var f=new liteURL(h.location.href);var j=f.hostname;var s=j.substring(j.lastIndexOf(".",j.lastIndexOf(".")-1)+1);var l=(f.protocol.includes("https"))?true:false;var r=log4javascript.getLogger("j1.core.switcher");var i;var c;var m={};var k;var a;var n=function(u,t){this.$element=d(u);this.settings=d.extend({},d.fn.bootstrapThemeSwitcher.defaults,t);this.themesList=[];this.getThemes();return this};n.prototype={clear:function(){r.debug("\nbootstrapThemeSwitcher.clear");return this.$element.each(function(){this.$element.empty()})},update:function(){r.debug("\nbootstrapThemeSwitcher.update");this.getThemes()},checkStyleSheetByName:function(t){var w=false;var x="/"+t+"/";var v=new RegExp(x,"i");for(var u=0;u<o.styleSheets.length;u++){if(v.test(o.styleSheets[u].href)){w=true;break}}return w},switchTheme:function(t,z){var A=d(this);var w=d.extend({},d.fn.bootstrapThemeSwitcher.defaults,A.data("bootstrapThemeSwitcher"));var v=w.cssThemeLink;var u=w.debug;var y=this.settings.includeBootswatch;var x;var B;c=j1.existsCookie(e.user_state);if(c){r.debug("\ncookie found: "+e.user_state);m=j1.readCookie(e.user_state)}else{r.error("\ncookie not found: "+e.user_state);r.debug("\nj1 cookies found:"+q.length);q.forEach(function(C){console.log("j1.core.switcher: "+C)});r.debug("\nga cookies found:"+p.length);p.forEach(function(C){console.log("j1.core.switcher: "+C)})}x=m.theme_name;B=m.theme_css;if(typeof z==="undefined"){z=this.settings.defaultCssFile}if(typeof t==="undefined"){t=z}if(w.saveToCookie){if(typeof Cookies==="undefined"){if(u==="true"){r.error("\ncookies library not present")}return false}m.theme_name=t;m.theme_css=z;if(!(m.theme_name.includes("Uno")||m.theme_name=="Bootstrap")){m.theme_author="Bootswatch";m.theme_author_url="https://bootswatch.com/"}else{m.theme_author="J1 Team";m.theme_author_url="https://jekyll.one/"}r.debug("\nwrite to cookie : "+e.user_state);j1.writeCookie({name:e.user_state,data:m,
|
22
|
+
;(function(d,h,o,g){var b=d.fn.bootstrapThemeSwitcher;var e=j1.getCookieNames();var p=j1.findCookie("_ga");var q=j1.findCookie("j1");var f=new liteURL(h.location.href);var j=f.hostname;var s=j.substring(j.lastIndexOf(".",j.lastIndexOf(".")-1)+1);var l=(f.protocol.includes("https"))?true:false;var r=log4javascript.getLogger("j1.core.switcher");var i;var c;var m={};var k;var a;var n=function(u,t){this.$element=d(u);this.settings=d.extend({},d.fn.bootstrapThemeSwitcher.defaults,t);this.themesList=[];this.getThemes();return this};n.prototype={clear:function(){r.debug("\nbootstrapThemeSwitcher.clear");return this.$element.each(function(){this.$element.empty()})},update:function(){r.debug("\nbootstrapThemeSwitcher.update");this.getThemes()},checkStyleSheetByName:function(t){var w=false;var x="/"+t+"/";var v=new RegExp(x,"i");for(var u=0;u<o.styleSheets.length;u++){if(v.test(o.styleSheets[u].href)){w=true;break}}return w},switchTheme:function(t,z){var A=d(this);var w=d.extend({},d.fn.bootstrapThemeSwitcher.defaults,A.data("bootstrapThemeSwitcher"));var v=w.cssThemeLink;var u=w.debug;var y=this.settings.includeBootswatch;var x;var B;c=j1.existsCookie(e.user_state);if(c){r.debug("\ncookie found: "+e.user_state);m=j1.readCookie(e.user_state)}else{r.error("\ncookie not found: "+e.user_state);r.debug("\nj1 cookies found:"+q.length);q.forEach(function(C){console.log("j1.core.switcher: "+C)});r.debug("\nga cookies found:"+p.length);p.forEach(function(C){console.log("j1.core.switcher: "+C)})}x=m.theme_name;B=m.theme_css;if(typeof z==="undefined"){z=this.settings.defaultCssFile}if(typeof t==="undefined"){t=z}if(w.saveToCookie){if(typeof Cookies==="undefined"){if(u==="true"){r.error("\ncookies library not present")}return false}m.theme_name=t;m.theme_css=z;if(!(m.theme_name.includes("Uno")||m.theme_name=="Bootstrap")){m.theme_author="Bootswatch";m.theme_author_url="https://bootswatch.com/"}else{m.theme_author="J1 Team";m.theme_author_url="https://jekyll.one/"}r.debug("\nwrite to cookie : "+e.user_state);j1.writeCookie({name:e.user_state,data:m,secure:l,expires:365});location.reload(true)}else{r.debug("\nwrite to cookie : disabled");r.warn("\nselected theme not activated: "+t)}},loadThemeFromCookie:function(t){if(typeof Cookies==="undefined"){r.error("\ncookies library not present");return false}var u=d.extend({},d.fn.bootstrapThemeSwitcher.defaults,t);c=j1.existsCookie(e.user_state);if(c){r.info("\ncookie found: "+e.user_state);m=j1.readCookie(e.user_state)}else{r.error("\ncookie not found: "+e.user_state);r.debug("\nj1 cookies found:"+q.length);q.forEach(function(x){console.log("j1.core.switcher: "+x)});r.debug("\nga cookies found:"+p.length);p.forEach(function(x){console.log("j1.core.switcher: "+x)})}var w=m.theme_name;var v=m.theme_css;this.switchTheme(w,v)},addTheme:function(u,t,w,v){if(typeof w==="undefined"){w=0}if(typeof v==="undefined"){v=0}this.themesList.splice(w,v,{name:u,css:t});this.addThemesToControl()},addThemesToControl:function(){if(typeof this.$element==="undefined"){r.error("\nbootstrapThemeSelector|addThemesToControl: Element is undefined");return false}if(typeof this.themesList==="undefined"){r.error("\nbootstrapThemeSelector|addThemesToControl: Themes is undefined");return false}if(this.settings.excludeBootswatch){var A;if(this.settings.excludeBootswatch.indexOf(",")!==-1){A=this.settings.excludeBootswatch.replace(/ /g,"").split(",")}else{A=[];A.push(this.settings.excludeBootswatch)}var w=this.themesList;d.each(w,function(E,F){if(F&&F.name){if(d.inArray(F.name,A)!==-1){w.splice(E,1)}}});this.themesList=w}var v=this;if(this.$element.is("ul")){var B=d(this);var x=d.extend({},d.fn.bootstrapThemeSwitcher.defaults,B.data("bootstrapThemeSwitcher"));var u=x.cssThemeLink;var t=x.debug;var y;c=j1.existsCookie(e.user_state);if(c){r.debug("\nuser state cookie found");m=j1.readCookie(e.user_state)}else{r.error("\nuser state NOT cookie found");r.debug("\nj1 cookies found:"+q.length);q.forEach(function(E){console.log("j1.core.switcher: "+E)});r.debug("\nga cookies found:"+p.length);p.forEach(function(E){console.log("j1.core.switcher: "+E)})}y=m.theme_name;if(t==="true"){r.debug("\nbootstrapThemeSelector: UL element selected")}this.$element.empty();var D;var C="#9E9E9E";d.each(this.themesList,function(F,G){if(v.$element[0].id.includes("mmenu")){D="mmenu-item"}else{D="dropdown-item"}if(G.name===y){if(v.$element[0].id.includes("mmenu")){D="mmenu-item active"}else{D="dropdown-item active"}}var E=d("<li />").attr("class",D).append('<a href="#"><i class="mdi mdi-view-quilt mdi-18px mr-2" style="color: '+C+'"></i>'+G.name+"</a>").on("click",function(){if(x.loadFromBootswatch){v.switchTheme(G.name,G.css)}else{v.switchTheme(G.name,G.cssCdn)}d(this).parent().find("li").removeClass("active");d(this).addClass("active")});v.$element.append(E)})}else{if(this.$element.is("select")){r.debug("\nbootstrapThemeSelector: SELECT element selected");this.$element.empty();var z;d.each(this.themesList,function(E,F){z=null;if(F.name===y){z="selected"}if(x.loadFromBootswatch){v.$element.append("<option "+z+" value='"+F.css+"'>"+F.name+"</option>")}else{v.$element.append("<option "+z+" value='"+F.cssCdn+"'>"+F.name+"</option>")}});this.$element.on("change",function(){var E=d("option:selected",this);v.switchTheme(E.text(),E.val())})}else{r.info("\nbootstrapThemeSelector: no UL or SELECT element found");r.error("\nbootstrapThemeSelector: failed")}}},getThemes:function(){var t=this;if(this.settings.localFeed!==null&&this.settings.localFeed!==""){d.ajax({url:this.settings.localFeed,dataType:"json",success:function(u){t.themesList=u.themes;t.addThemesToControl()},error:function(u,w,v){r.error("\nfailed to retrieve the local feed from: '"+t.settings.localFeed+"'")}})}else{d.ajax({url:this.settings.bootswatchApiUrl+"/"+this.settings.bootswatchApiVersion+".json",dataType:"json",success:function(u){if(typeof u.themes==="undefined"){return null}t.themesList=u.themes;t.themesList.splice(0,0,{name:"default",css:t.settings.defaultCssFile});t.addThemesToControl()}})}},themes:function(t){if(typeof t==="undefined"){return this.themesList}else{this.themesList=t}}};d.fn.bootstrapThemeSwitcher=function(v){var x;var u=Array.prototype.slice.call(arguments,1);var y=d(this);var w=y.data("bootstrapThemeSwitcher");var t=typeof v==="object"&&v;if(!w){y.data("bootstrapThemeSwitcher",(w=new n(this,t)))}if(typeof v==="string"){x=w[v].apply(w,u)}return(typeof x==="undefined")?y:x};d.fn.bootstrapThemeSwitcher.defaults={debug:false,saveToCookie:true,cssThemeLink:"bootstrapTheme",cookieThemeName:"bootstrapTheme.name",cookieThemeCss:"boostrapTheme.css",cookieExpiration:365,cookiePath:"/",defaultCssFile:"https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css",bootswatchApiUrl:"https://bootswatch.com/api/",bootswatchApiVersion:"4",loadFromBootswatch:true,localFeed:"",excludeBootswatch:""};d.fn.bootstrapThemeSwitcher.Constructor=n;d.fn.bootstrapThemeSwitcher.noConflict=function(){d.fn.BootstrapThemeSwitcher=b;return this}})(jQuery,window,document);
|
@@ -45,7 +45,7 @@ function Translator(props) {
|
|
45
45
|
cookieName: 'j1.user.state', // the name of the User State Cookie (primary data)
|
46
46
|
cookieConsentName: 'j1.user.consent', // the name of the Cookie Consent Cookie (secondary data)
|
47
47
|
cookieStorageDays: 365, // the duration the cookie is stored on the client
|
48
|
-
cookieSameSite: '
|
48
|
+
cookieSameSite: 'Lax', // restrict consent cookie to first-party, do NOT send cookie to other domains
|
49
49
|
cookieSecure: cookieSecure, // secure flag on cookies
|
50
50
|
translationEnabled: false, // enable|disable translation on first page view
|
51
51
|
disableLanguageSelector: false, // disable language dropdown for translation in dialog (modal)
|
@@ -12,4 +12,4 @@
|
|
12
12
|
# See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
|
13
13
|
# -----------------------------------------------------------------------------
|
14
14
|
*/
|
15
|
-
"use strict";function Translator(d){var p=this;var u=log4javascript.getLogger("j1.core.translator");var l=new liteURL(window.location.href);var c=(l.protocol.includes("https"))?true:false;var q=false;var g;var s;this.props={contentURL:"/assets/data/translator",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"
|
15
|
+
"use strict";function Translator(d){var p=this;var u=log4javascript.getLogger("j1.core.translator");var l=new liteURL(window.location.href);var c=(l.protocol.includes("https"))?true:false;var q=false;var g;var s;this.props={contentURL:"/assets/data/translator",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Lax",cookieSecure:c,translationEnabled:false,disableLanguageSelector:false,translatorName:"google",translationLanguages:"all",translationLanguage:"auto",translateAllPages:true,hideSuggestionBox:true,hidePoweredBy:true,hideTopFrame:true,dialogLanguage:"content",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:"",};for(var e in d){this.props[e]=d[e]}if(this.props.dialogLanguage.indexOf("-")!==-1){this.props.dialogLanguage=this.props.dialogLanguage.split("-")[0]}if(!this.props.dialogLanguages.includes(this.props.dialogLanguage)){this.props.dialogLanguage=this.props.dialogLanguages[0]}this.props.xhrDataElement=this.props.xhrDataElement+"-"+this.props.dialogLanguage;u.info("\ninitializing core module: started");u.info("\nstate: started");var f={set:function(x,z,C,y,A){var B=window.btoa(z);var v="";if(C){var w=new Date();w.setTime(w.getTime()+(C*24*60*60*1000));v="; expires="+w.toUTCString()}if(A){document.cookie=x+"="+(B||"")+v+"; Path=/; SameSite="+y+"; secure="+A+";"}else{document.cookie=x+"="+(B||"")+v+"; Path=/; SameSite="+y+";"}},get:function(w){var z=w+"=";var v=document.cookie.split(";");for(var x=0;x<v.length;x++){var B=v[x];while(B.charAt(0)===" "){B=B.substring(1,B.length)}if(B.indexOf(z)===0){var A=B.substring(z.length,B.length);var y=window.atob(A);return y}}return undefined}};var n={documentReady:function(v){if(document.readyState!=="loading"){v()}else{document.addEventListener("DOMContentLoaded",v)}}};function t(){var v={};var w=false;var x=0;var y=arguments.length;if(Object.prototype.toString.call(arguments[0])==="[object Boolean]"){w=arguments[0];x++}var A=function(B){for(var C in B){if(Object.prototype.hasOwnProperty.call(B,C)){if(w&&Object.prototype.toString.call(B[C])==="[object Object]"){v[C]=t(true,v[C],B[C])}else{v[C]=B[C]}}}};for(;x<y;x++){var z=arguments[x];A(z)}return v}function h(A,x){var v=Array.prototype.slice.call(arguments,2);var z=A.split(".");var y=z.pop();for(var w=0;w<z.length;w++){x=x[z[w]]}return x[y].apply(x,v)}function j(w){var v;var x=t({size:0,width:250,multiple:false,selectedIndex:1,enableAutoFilter:false,visibleRows:null,},w);v="#"+x.selector;$.ajax({url:x.url,dataType:"json",success:function(A){var z=[];if(p.props.translationLanguages.includes("all")){z=A[x.elm]}else{for(var y=0;y<A[x.elm].length;y++){if(p.props.translationLanguages.includes(A[x.elm][y].value)){z.push(A[x.elm][y])}}}if(x.visibleRows>z.length){x.visibleRows=z.length}MsDropdown.make(v,{byJson:{data:z,name:x.name,size:x.size,width:x.width,multiple:x.multiple,},enableAutoFilter:x.enableAutoFilter,visibleRows:x.visibleRows,})},error:function(y,A,z){u.error("\nfailed to retrieve JSON data from: "+x.url)}})}function m(){n.documentReady(function(){p.modal=document.getElementById(p.props.dialogContainerID);if(!p.modal){u.info("\nload consent modal");p.modal=document.createElement("div");p.modal.id=p.props.dialogContainerID;p.modal.style.display="none";p.modal.setAttribute("class","modal fade");p.modal.setAttribute("tabindex","-1");p.modal.setAttribute("role","dialog");p.modal.setAttribute("aria-labelledby",p.props.dialogContainerID);document.body.append(p.modal);p.$modal=$(p.modal);p.$modal.on("show.bs.modal",function(){var w;var x;u.info("\nshow.bs.modal: entered");$.when(j({url:"/assets/data/iso-639-language-codes-flags.json",elm:"iso-639-languages",selector:"dropdownJSON",width:400,visibleRows:8,})).then(function(y){u.info("\ncreating msDropdown from JSON data: finished")})});p.$modal.on("shown.bs.modal",function(){var w;var x;x=setInterval(function(){if(typeof document.getElementById("dropdownJSON").msDropdown!=="undefined"){w=document.getElementById("dropdownJSON").msDropdown;if(!w.length){u.error("\nno msDropdown found in translation dialog");p.$modal.hide()}else{if(p.props.translationLanguage==="auto"){g=navigator.language||navigator.userLanguage;s=g.split("-")[0]}else{s=p.props.translationLanguage}w.selectedIndex=$("#dropdownJSON option[value="+s+"]").index();if(p.props.disableLanguageSelector){w.disabled=true}$("#dropdownJSON").show();$("body").addClass("stop-scrolling");u.info("\nmsDropdown successfully loaded in translation dialog");clearInterval(x)}}},25)});p.$modal.on("hidden.bs.modal",function(){$("body").removeClass("stop-scrolling");h(p.props.postSelectionCallback,window)});var v=p.props.contentURL+"/index.html";$.get(v).done(function(w){u.info("\nloading consent modal: successfully");p.modal.innerHTML=w;p.modal.innerHTML=$("#"+p.props.xhrDataElement).eq(0).html();p.modal.style.display="block";$(p.modal).modal({backdrop:"static",keyboard:false});p.$buttonDoNotAgree=$("#translator-buttonDoNotAgree");p.$buttonAgree=$("#translator-buttonAgree");p.$buttonSave=$("#translator-buttonSave");p.$buttonAgreeAll=$("#translator-buttonAgreeAll");u.info("\nload/initialze options from cookie");k();i();$("#google-options").on("hide.bs.collapse",function(){q=false;k()}).on("show.bs.collapse",function(){q=true;k()});u.info("\ninitialze button event handler");p.$buttonDoNotAgree.click(function(){b()});p.$buttonAgree.click(function(){o()});p.$buttonSave.click(function(){$("#google-options").collapse("hide");r();i()});p.$buttonAgreeAll.click(function(){$("#google-options").collapse("hide");o()});p.$modal.modal("show")}).fail(function(){u.error("\nloading translator dialog (modal): failed");u.warn("\nprobably no|wrong `contentURL` set")})}else{p.$modal.modal("show")}}.bind(this))}function i(){var x=p.getSettings();if(x){for(var w in x){var v=p.$modal.find("#google-options .translator-option[data-name="+w+'] input[type="checkbox"]');v.prop("checked",x[w])}}}function k(){if(q){p.$buttonDoNotAgree.hide();p.$buttonAgree.hide();p.$buttonSave.show();p.$buttonAgreeAll.show()}else{p.$buttonDoNotAgree.show();p.$buttonAgree.show();p.$buttonSave.hide();p.$buttonAgreeAll.hide()}}function a(w){var v=p.$modal.find("#google-options .translator-option");var y={};for(var z=0;z<v.length;z++){var B=v[z];var x=B.getAttribute("data-name");if(x==="necessary"){y[x]=true}else{if(w===undefined){var A=$(B).find('input[type="checkbox"]');y[x]=A.prop("checked")}else{y[x]=!!w}}}return y}function o(){var w=a(true);var v={};v=JSON.parse(f.get(p.props.cookieConsentName));v.analysis=w.analysis;v.personalization=w.personalization;f.set(p.props.cookieConsentName,JSON.stringify(v),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);f.set(p.props.cookieName,JSON.stringify(w),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);p.$modal.modal("hide")}function b(){var v=a();v.translationEnabled=false;f.set(p.props.cookieName,JSON.stringify(v),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);p.$modal.modal("hide")}function r(){var w;var v={};w=a();v=JSON.parse(f.get(p.props.cookieConsentName));v.analysis=w.analysis;v.personalization=w.personalization;f.set(p.props.cookieConsentName,JSON.stringify(v),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);f.set(p.props.cookieName,JSON.stringify(a()),p.props.cookieStorageDays,p.props.sameSite,p.props.secure);p.$modal.modal("hide")}this.showDialog=function(){m()};this.getSettings=function(w){var v=f.get(p.props.cookieName);if(v){var x=JSON.parse(f.get(p.props.cookieName));if(w===undefined){return x}else{if(x){return x[w]}else{return false}}}else{return undefined}};u.info("\ninitializing core module finished");u.info("\nstate: finished")};
|
data/lib/j1/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module J1
|
2
|
-
VERSION = '2022.0.
|
3
|
-
end
|
1
|
+
module J1
|
2
|
+
VERSION = '2022.0.7'
|
3
|
+
end
|
data/lib/starter_web/Gemfile
CHANGED
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
|
|
53
53
|
|
54
54
|
# Theme Rubies, default: J1 Template (NOT used for the development system)
|
55
55
|
#
|
56
|
-
gem 'j1-template', '~> 2022.0.
|
56
|
+
gem 'j1-template', '~> 2022.0.7'
|
57
57
|
|
58
58
|
# ------------------------------------------------------------------------------
|
59
59
|
# PRODUCTION: Gem needed for the Jekyll and J1 prod environment
|
data/lib/starter_web/_config.yml
CHANGED
@@ -53,7 +53,7 @@ environment: development
|
|
53
53
|
# ------------------------------------------------------------------------------
|
54
54
|
# Sets the build version of J1 Template Gem
|
55
55
|
#
|
56
|
-
version: 2022.0.
|
56
|
+
version: 2022.0.7
|
57
57
|
|
58
58
|
# version
|
59
59
|
# ------------------------------------------------------------------------------
|
@@ -729,7 +729,7 @@ defaults:
|
|
729
729
|
follow: false
|
730
730
|
|
731
731
|
personalization: false
|
732
|
-
exclude_from_search:
|
732
|
+
exclude_from_search: true
|
733
733
|
|
734
734
|
analytics: false
|
735
735
|
comments: false
|
@@ -737,7 +737,6 @@ defaults:
|
|
737
737
|
youtube: false
|
738
738
|
vimeo: false
|
739
739
|
|
740
|
-
|
741
740
|
# ==============================================================================
|
742
741
|
# 6. LAYOUT configuration
|
743
742
|
#
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# ------------------------------------------------------------------------------
|
2
|
+
# ~/_data/modules/cookies.yml
|
3
|
+
# User configuration settings for J1 Cookie 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
|
+
# Description (used for J1 CC only)
|
16
|
+
#
|
17
|
+
description:
|
18
|
+
|
19
|
+
title: Cookies
|
20
|
+
scope: User settings
|
21
|
+
location: _data/modules/cookies.yml
|
22
|
+
|
23
|
+
# ------------------------------------------------------------------------------
|
24
|
+
# User configuration settings
|
25
|
+
#
|
26
|
+
settings:
|
27
|
+
expires: 365
|
28
|
+
|
29
|
+
# ------------------------------------------------------------------------------
|
30
|
+
# END config
|
@@ -33,7 +33,7 @@ defaults:
|
|
33
33
|
contentURL: /assets/data/cookieconsent # dialog content (modals) for all supported languages
|
34
34
|
cookieName: j1.user.consent # name of the user consent cookie
|
35
35
|
cookieStorageDays: 365 # duration the consent cookie is stored
|
36
|
-
cookieSameSite:
|
36
|
+
cookieSameSite: Lax # restrict consent cookie to first-party, do NOT send cookie to other domains
|
37
37
|
reloadPageOnChange: true # reload current page if user settings has been changed
|
38
38
|
whitelisted: [ '/pages/public/legal/en/privacy' ] # pages NO consent issued, currently NOT supported
|
39
39
|
xhrDataElement: consent-data # container for all language-specific consent modals (taken from contentURL)
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# ------------------------------------------------------------------------------
|
2
|
+
# ~/_data/modules/defaults/cookies.yml
|
3
|
+
# Default configuration settings for J1 Cookie 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
|
+
# See:
|
14
|
+
# https://datatracker.ietf.org/doc/html/rfc6265
|
15
|
+
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
|
16
|
+
#
|
17
|
+
|
18
|
+
# ------------------------------------------------------------------------------
|
19
|
+
# Description (used for J1 CC only)
|
20
|
+
#
|
21
|
+
description:
|
22
|
+
|
23
|
+
title: Cookies
|
24
|
+
scope: Default settings
|
25
|
+
location: _data/modules/defaults/cookies.yml
|
26
|
+
|
27
|
+
# ------------------------------------------------------------------------------
|
28
|
+
# Default settings
|
29
|
+
#
|
30
|
+
defaults:
|
31
|
+
path: / # path attribute indicates a URL PATH that must exist in the requested URL in order to send the Cookie header
|
32
|
+
domain: localhost # specifies which hosts can receive a cookie. If not set, the attribute defaults to the same host that set the cookie (excluding subdomain)
|
33
|
+
expires: 0 # lifetime of a cookie [0..365], 0: session cookie
|
34
|
+
same_site: Lax # [Strict|Lax], Lax: sent for all requests
|
35
|
+
http_only: false # prevent access to cookie values via JavaScript
|
36
|
+
secure: false # only sent to the server with an encrypted request over the HTTPS protocol
|
37
|
+
|
38
|
+
# ------------------------------------------------------------------------------
|
39
|
+
# END config
|
@@ -81,7 +81,7 @@
|
|
81
81
|
#
|
82
82
|
- item: Blog
|
83
83
|
sublevel:
|
84
|
-
- title:
|
84
|
+
- title: Starter Blog
|
85
85
|
href: /pages/public/blog/navigator/
|
86
86
|
icon: near-me
|
87
87
|
- title: Categories
|
@@ -255,6 +255,15 @@
|
|
255
255
|
- title: This site
|
256
256
|
icon: home-variant-outline
|
257
257
|
href: /pages/public/about/site
|
258
|
+
- title: Privacy
|
259
|
+
icon: heart
|
260
|
+
href: /pages/public/legal/en/privacy/
|
261
|
+
- title: Impress
|
262
|
+
icon: gavel
|
263
|
+
href: /pages/public/legal/en/impress/
|
264
|
+
- title: Comments
|
265
|
+
icon: comment
|
266
|
+
href: /pages/public/legal/en/comment_policy/
|
258
267
|
|
259
268
|
# ------------------------------------------------------------------------------
|
260
269
|
# END config
|
@@ -195,6 +195,7 @@ tag::urls[]
|
|
195
195
|
:url-jekyll-sass-converter--gh-repo: https://github.com/jekyll/jekyll-sass-converter/
|
196
196
|
:url-jekyll-sitemap--gh-repo: https://github.com/jekyll/jekyll-sitemap/
|
197
197
|
|
198
|
+
|
198
199
|
:url-jquery--home: https://jquery.com/
|
199
200
|
|
200
201
|
:url-js-yaml--gh-repo: https://github.com/nodeca/js-yaml/
|
@@ -234,6 +235,10 @@ tag::urls[]
|
|
234
235
|
:url-materialize--home: https://materializecss.com/
|
235
236
|
:url-materialize--gh-repo: https://github.com/Dogfalo/materialize/
|
236
237
|
|
238
|
+
:url-mdi--home: https://materialdesignicons.com/
|
239
|
+
:url-mdi--gh-repo: https://github.com/Templarian/MaterialDesign/
|
240
|
+
:url-mdi--cheatsheet: https://pictogrammers.github.io/@mdi/font/5.9.55/
|
241
|
+
|
237
242
|
:url-mobile-menu-light--home: https://www.mmenujs.com/mmenu-light/
|
238
243
|
:url-mobile-menu-light--gh-repo: https://github.com/FrDH/mmenu-light
|
239
244
|
|
@@ -432,7 +437,7 @@ end::tables[]
|
|
432
437
|
// -----------------------------------------------------------------------------
|
433
438
|
tag::products[]
|
434
439
|
:j1--license: MIT License
|
435
|
-
:j1--version: 2022.0.
|
440
|
+
:j1--version: 2022.0.7
|
436
441
|
:j1--site-name: Jekyll One
|
437
442
|
end::products[]
|
438
443
|
|
@@ -197,7 +197,6 @@ body{ top: 0 !important;}
|
|
197
197
|
cookie_written = j1.writeCookie({
|
198
198
|
name: cookie_names.user_state,
|
199
199
|
data: user_state,
|
200
|
-
samesite: 'Strict',
|
201
200
|
expires: 0
|
202
201
|
});
|
203
202
|
j1.removeCookie({name: 'googtrans'});
|
@@ -206,7 +205,6 @@ body{ top: 0 !important;}
|
|
206
205
|
cookie_written = j1.writeCookie({
|
207
206
|
name: cookie_names.user_state,
|
208
207
|
data: user_state,
|
209
|
-
samesite: 'Strict',
|
210
208
|
expires: 365
|
211
209
|
});
|
212
210
|
head.appendChild(script);
|
@@ -197,7 +197,6 @@ Try the translator with _Jekyll One_ and _Deepl_ on your own!
|
|
197
197
|
cookie_written = j1.writeCookie({
|
198
198
|
name: cookie_names.user_state,
|
199
199
|
data: user_state,
|
200
|
-
samesite: 'Strict',
|
201
200
|
expires: 0
|
202
201
|
});
|
203
202
|
j1.removeCookie({name: 'googtrans'});
|
@@ -206,7 +205,6 @@ Try the translator with _Jekyll One_ and _Deepl_ on your own!
|
|
206
205
|
cookie_written = j1.writeCookie({
|
207
206
|
name: cookie_names.user_state,
|
208
207
|
data: user_state,
|
209
|
-
samesite: 'Strict',
|
210
208
|
expires: 365
|
211
209
|
});
|
212
210
|
head.appendChild(script);
|
@@ -10,7 +10,7 @@ tags: [ Asciidoctor, PDF, Converter ]
|
|
10
10
|
permalink: /pages/public/skeleton/documentation/100_converter/
|
11
11
|
regenerate: false
|
12
12
|
|
13
|
-
resources: [ lightbox, clipboard, rouge ]
|
13
|
+
resources: [ animate, lightbox, clipboard, rouge ]
|
14
14
|
resource_options:
|
15
15
|
- toccer:
|
16
16
|
collapseDepth: 2
|
@@ -9,7 +9,7 @@ tags: [ Asciidoctor, PDF, Converter ]
|
|
9
9
|
permalink: /pages/public/skeleton/documentation/200_themes/
|
10
10
|
regenerate: false
|
11
11
|
|
12
|
-
resources: [ lightbox, clipboard, rouge ]
|
12
|
+
resources: [ animate, lightbox, clipboard, rouge ]
|
13
13
|
resource_options:
|
14
14
|
- toccer:
|
15
15
|
collapseDepth: 2
|
@@ -20,7 +20,7 @@ personalization: true
|
|
20
20
|
fab_menu_id: page_ctrl_simple
|
21
21
|
|
22
22
|
resources: [
|
23
|
-
lightGallery, justifiedGallery, video_js,
|
23
|
+
animate, lightGallery, justifiedGallery, video_js,
|
24
24
|
vimeo_player, vimeo_froogaloop
|
25
25
|
]
|
26
26
|
resource_options:
|
@@ -114,7 +114,7 @@ HTML5 Video support of LightGallery.
|
|
114
114
|
Two players are available with LightGallery:
|
115
115
|
|
116
116
|
. an internal player used by default
|
117
|
-
. {url-videojs--home}[video.js, {browser-window--new}], a excellent
|
117
|
+
. {url-videojs--home}[video.js, {browser-window--new}], a excellent
|
118
118
|
Javascript video library
|
119
119
|
|
120
120
|
NOTE: The HTML5 specification does _not_ define which video and audio formats
|
@@ -17,7 +17,7 @@ fab_menu_id: page_ctrl_simple
|
|
17
17
|
permalink: /pages/public/learn/roundtrip/asciidoc_extensions/
|
18
18
|
regenerate: false
|
19
19
|
|
20
|
-
resources: [ lightbox, iconify, twemoji, rouge ]
|
20
|
+
resources: [ animate, lightbox, iconify, twemoji, rouge ]
|
21
21
|
resource_options:
|
22
22
|
- attic:
|
23
23
|
padding_top: 400
|
@@ -20,7 +20,7 @@ fab_menu_id: page_ctrl_simple
|
|
20
20
|
permalink: /pages/public/learn/roundtrip/quicksearch/
|
21
21
|
regenerate: false
|
22
22
|
|
23
|
-
resources: [ lunr, rouge, lightbox, clipboard ]
|
23
|
+
resources: [ animate, lunr, rouge, lightbox, clipboard ]
|
24
24
|
resource_options:
|
25
25
|
- toccer:
|
26
26
|
collapseDepth: 3
|
@@ -124,7 +124,6 @@ aus Werbekampagnen erlauben es uns Ihnen diese Website kostenlos zur Verfügung
|
|
124
124
|
zu stellen. Partner ermöglichen es uns, Ihnen exzellente personalisierte
|
125
125
|
Dienste anzubieten sowie die Kosten für den Betrieb dieser Website zu
|
126
126
|
finanzieren.
|
127
|
-
|
128
127
|
endif::[]
|
129
128
|
|
130
129
|
|
@@ -154,7 +153,6 @@ System befinden. In diesem Fall sind möglicherweise bereits vorhandene Cookies
|
|
154
153
|
</a>
|
155
154
|
</div>
|
156
155
|
++++
|
157
|
-
|
158
156
|
endif::[]
|
159
157
|
|
160
158
|
ifeval::[{logs-files} == true]
|
@@ -176,7 +174,6 @@ Diese sind:
|
|
176
174
|
Wir können diese Protokollinformationen mit anderen Informationen kombinieren.
|
177
175
|
Wir tun dies, um die von uns angebotenen Dienstleistungen zu verbessern und das
|
178
176
|
Angebot auf unseren Seiten zu verbessern.
|
179
|
-
|
180
177
|
endif::[]
|
181
178
|
|
182
179
|
ifeval::[{google-analytics} == true]
|
@@ -212,7 +209,6 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
212
209
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
213
210
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
214
211
|
die volle Funktionalität dieser Website zu nutzen.
|
215
|
-
|
216
212
|
endif::[]
|
217
213
|
|
218
214
|
ifeval::[{hyvor} == true]
|
@@ -253,7 +249,6 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
253
249
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
254
250
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
255
251
|
die volle Funktionalität dieser Website zu nutzen.
|
256
|
-
|
257
252
|
endif::[]
|
258
253
|
|
259
254
|
|
@@ -301,7 +296,6 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
301
296
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
302
297
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
303
298
|
die volle Funktionalität dieser Website zu nutzen.
|
304
|
-
|
305
299
|
endif::[]
|
306
300
|
|
307
301
|
ifeval::[{twitter} == true]
|
@@ -340,7 +334,6 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
340
334
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
341
335
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
342
336
|
die volle Funktionalität dieser Website zu nutzen.
|
343
|
-
|
344
337
|
endif::[]
|
345
338
|
|
346
339
|
ifeval::[{instagram} == true]
|
@@ -388,12 +381,11 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
388
381
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
389
382
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
390
383
|
die volle Funktionalität dieser Website zu nutzen.
|
391
|
-
|
392
384
|
endif::[]
|
393
385
|
|
394
386
|
|
395
387
|
ifeval::[{youtube} == true]
|
396
|
-
== Verwendung von Videos (
|
388
|
+
== Verwendung von YouTube Videos (YTV)
|
397
389
|
|
398
390
|
Auf unseren Seiten *können* Funktionen (Player) der Video-Plattform *YouTube*
|
399
391
|
(YT) eingebunden sein. Diese Funktionen stehen zur Verfügung, falls Sie in den
|
@@ -426,11 +418,10 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
426
418
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
427
419
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
428
420
|
die volle Funktionalität dieser Website zu nutzen.
|
429
|
-
|
430
421
|
endif::[]
|
431
422
|
|
432
423
|
ifeval::[{vimeo} == true]
|
433
|
-
== Verwendung von Videos (
|
424
|
+
== Verwendung von Vimeo Videos (VIV)
|
434
425
|
|
435
426
|
Auf unseren Seiten *können* Funktionen (Player) der Video-Plattform *Vimeo*
|
436
427
|
(VI) eingebunden sein. Diese Funktionen stehen zur Verfügung, falls Sie in den
|
@@ -463,5 +454,4 @@ NOTE: Sie können der Verwendung jederzeit widersprechen, indem Sie die
|
|
463
454
|
entsprechenden Einstellungen zu Ihrer Privatsphäre auswählen. Beachten Sie
|
464
455
|
jedoch bitte, dass Sie in diesem Fall möglicherweise nicht in der Lage sind
|
465
456
|
die volle Funktionalität dieser Website zu nutzen.
|
466
|
-
|
467
457
|
endif::[]
|