j1-template 2021.2.5 → 2021.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/connectors/translators/google-translator.html +2 -1
  3. data/_layouts/default.html +0 -1
  4. data/assets/data/iso-639-language-codes-flags.json +224 -0
  5. data/assets/data/{translator_languages.json → iso-639-language-codes.json} +111 -142
  6. data/assets/data/translator.html +23 -19
  7. data/assets/themes/j1/adapter/js/translator.1.js +525 -0
  8. data/assets/themes/j1/adapter/js/translator.js +107 -168
  9. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +27 -12
  10. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +1 -1
  11. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +27 -12
  12. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -1
  13. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +59 -22
  14. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  15. data/assets/themes/j1/modules/translator/js/translator.js +217 -242
  16. data/assets/themes/j1/modules/translator/js/translator.min.js +2 -2
  17. data/lib/j1/version.rb +1 -1
  18. data/lib/starter_web/Gemfile +1 -1
  19. data/lib/starter_web/_config.yml +1 -1
  20. data/lib/starter_web/_data/j1_config.yml +2 -22
  21. data/lib/starter_web/_data/modules/defaults/translator.yml +77 -64
  22. data/lib/starter_web/_data/modules/translator.yml +1 -0
  23. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  24. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  25. data/lib/starter_web/package.json +1 -1
  26. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -3
  27. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  28. data/lib/starter_web/utilsrv/package.json +1 -1
  29. metadata +5 -4
  30. data/assets/data/msdropdown.json +0 -155
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  # -----------------------------------------------------------------------------
3
- # ~/assets/themes/j1/modules/translator/js/translator.js
3
+ # ~/assets/themes/j1/modules/translator/js/translator.min.js
4
4
  # Provides JS Core functions|API for J1 Module Translator
5
5
  #
6
6
  # Product/Info:
@@ -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 x=log4javascript.getLogger("j1.core.translator");var w="translator-modal";var q=this;var r=false;var e=new liteURL(window.location.href);var c=(e.protocol.includes("https"))?true:false;var j;var g;var u;var v;var i;var t;this.props={contentURL:"/assets/data/translator",cookieName:"j1.user.state",cookieConsentName:"j1.user.consent",cookieStorageDays:365,cookieSameSite:"Strict",cookieSecure:false,translationEnabled:false,translatorName:"google",translationLanguage:"auto",translateAllPages:true,hideSuggestionBox:true,hidePoweredBy:true,hideTopFrame:true,dialogLanguage:"content",dialogLanguages:["en","de"],dialogContainerID:"translator-modal",xhrDataElement:"",postSelectionCallback:undefined,};this.googleTranslatorLanguages={af:{name:"Afrikaans"},sq:{name:"Albanian"},ar:{name:"Arabic"},hy:{name:"Armenian"},az:{name:"Azerbaijani"},eu:{name:"Basque"},be:{name:"Belarusian"},bn:{name:"Bengali"},bg:{name:"Bulgarian"},ca:{name:"Catalan"},"zh-CN":{name:"Chinese (Simplified)"},"zh-TW":{name:"Chinese (Traditional)"},hr:{name:"Croatian"},cs:{name:"Czech"},da:{name:"Danish"},nl:{name:"Dutch"},eo:{name:"Esperanto"},et:{name:"Estonian"},tl:{name:"Filipino"},fi:{name:"Finnish"},fr:{name:"French"},gl:{name:"Galician"},ka:{name:"Georgian"},de:{name:"German"},el:{name:"Greek"},gu:{name:"Gujarati"},ht:{name:"Haitian Creole"},iw:{name:"Hebrew"},hi:{name:"Hindi"},hu:{name:"Hungarian"},is:{name:"Icelandic"},id:{name:"Indonesian"},ga:{name:"Irish"},it:{name:"Italian"},ja:{name:"Japanese"},kn:{name:"Kannada"},ko:{name:"Korean"},la:{name:"Latin"},lv:{name:"Latvian"},lt:{name:"Lithuanian"},mk:{name:"Macedonian"},ms:{name:"Malay"},mt:{name:"Maltese"},no:{name:"Norwegian"},fa:{name:"Persian"},pl:{name:"Polish"},pt:{name:"Portuguese"},ro:{name:"Romanian"},ru:{name:"Russian"},sr:{name:"Serbian"},sk:{name:"Slovak"},sl:{name:"Slovenian"},es:{name:"Spanish"},sw:{name:"Swahili"},sv:{name:"Swedish"},ta:{name:"Tamil"},te:{name:"Telugu"},th:{name:"Thai"},tr:{name:"Turkish"},uk:{name:"Ukrainian"},ur:{name:"Urdu"},vi:{name:"Vietnamese"},cy:{name:"Welsh"},yi:{name:"Yiddish"}};this.deeplTranslatorLanguages={bg:{name:"Bulgarian"},cs:{name:"Czech"},da:{name:"Danish"},de:{name:"German"},el:{name:"Greek"},es:{name:"Spanish"},en:{name:"English"},"en-us":{name:"English (American)"},"en-uk":{name:"English (British)"},et:{name:"Estonian"},ft:{name:"Finnish"},fr:{name:"French"},hu:{name:"Hungarian"},it:{name:"Italian"},ja:{name:"Japanese"},lv:{name:"Latvian"},lt:{name:"Lithuanian"},nl:{name:"Dutch"},af:{name:"Polish"},pt:{name:"Portuguese"},"pt-pt":{name:"Portuguese (Portugal)"},"pt-br":{name:"Portuguese (Brazilian)"},ro:{name:"Romanian"},ru:{name:"Russian"},sk:{name:"Slovak"},sl:{name:"Slovenian"},sv:{name:"Swedish"},zh:{name:"Chinese"},};for(var f in d){this.props[f]=d[f]}for(var f in d){this.props[f]=d[f]}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;this.props.cookieSecure=c;x.info("\ninitializing core module: started");x.info("\nstate: started");var h={set:function(A,C,F,B,D){var E=window.btoa(C);var y="";if(F){var z=new Date();z.setTime(z.getTime()+(F*24*60*60*1000));y="; expires="+z.toUTCString()}if(D){document.cookie=A+"="+(E||"")+y+"; Path=/; SameSite="+B+"; secure="+D+";"}else{document.cookie=A+"="+(E||"")+y+"; Path=/; SameSite="+B+";"}},get:function(z){var C=z+"=";var y=document.cookie.split(";");for(var A=0;A<y.length;A++){var E=y[A];while(E.charAt(0)===" "){E=E.substring(1,E.length)}if(E.indexOf(C)===0){var D=E.substring(C.length,E.length);var B=window.atob(D);return B}}return undefined}};var o={documentReady:function(y){if(document.readyState!=="loading"){y()}else{document.addEventListener("DOMContentLoaded",y)}}};function l(z){var A=this;var y="#"+z.selector;$.ajax({url:z.url,dataType:"json",success:function(B){MsDropdown.make(y,{byJson:{data:B[z.elm],name:z.selector,},enableAutoFilter:false})},error:function(B,D,C){x.error("\nfailed to retrieve JSON data from: "+e)}})}function n(){o.documentReady(function(){q.modal=document.getElementById(q.props.dialogContainerID);if(!q.modal){x.info("\nload consent modal");q.modal=document.createElement("div");q.modal.id=q.props.dialogContainerID;q.modal.setAttribute("class","modal fade");q.modal.setAttribute("tabindex","-1");q.modal.setAttribute("role","dialog");q.modal.setAttribute("aria-labelledby",w);document.body.append(q.modal);q.$modal=$(q.modal);if(q.props.postSelectionCallback){q.$modal.on("hidden.bs.modal",function(){q.props.postSelectionCallback()})}q.$modal.on("shown.bs.modal",function(){if(q.props.translationLanguage==="auto"){i=navigator.language||navigator.userLanguage;t=i.split("-")[0]}var z=document.getElementById("translate-source-language").msDropdown;$(".ms-options").css("max-height","10.5937rem");$("body").addClass("stop-scrolling");if(q.props.translationLanguage==="auto"){z.disabled=true}});q.$modal.on("hidden.bs.modal",function(){var z=msDropdownSourceLanguage.value.toLowerCase();var A;if(t!==z){A=JSON.parse(h.get(q.props.cookieName));A.translationLanguage=z;h.set(q.props.cookieName,JSON.stringify(A),q.props.cookieStorageDays,q.props.sameSite,q.props.secure);x.info("\nselected language: "+z);return false}$("body").removeClass("stop-scrolling")});var y=q.props.contentURL+"/index.html";$.get(y).done(function(z){x.info("\nloading consent modal: successfully");q.modal.innerHTML=z;q.modal.innerHTML=$("#"+q.props.xhrDataElement).eq(0).html();$(q.modal).modal({backdrop:"static",keyboard:false});q.$buttonDoNotAgree=$("#translator-buttonDoNotAgree");q.$buttonAgree=$("#translator-buttonAgree");q.$buttonSave=$("#translator-buttonSave");q.$buttonAgreeAll=$("#translator-buttonAgreeAll");x.info("\nload/initialze options from cookie");m();k();$("#google-options").on("hide.bs.collapse",function(){r=false;m()}).on("show.bs.collapse",function(){r=true;m()});x.info("\ninitialze button event handler");q.$buttonDoNotAgree.click(function(){b()});q.$buttonAgree.click(function(){p()});q.$buttonSave.click(function(){$("#google-options").collapse("hide");s();k()});q.$buttonAgreeAll.click(function(){$("#google-options").collapse("hide");p()})}).fail(function(){x.error("\nloading translator dialog (modal): failed");x.warn("\nprobably no|wrong `contentURL` set")})}else{q.$modal.modal("show")}}.bind(this))}function k(){var A=q.getSettings();if(A){for(var z in A){var y=q.$modal.find("#google-options .translator-option[data-name="+z+'] input[type="checkbox"]');y.prop("checked",A[z])}}}function m(){if(r){q.$buttonDoNotAgree.hide();q.$buttonAgree.hide();q.$buttonSave.show();q.$buttonAgreeAll.show()}else{q.$buttonDoNotAgree.show();q.$buttonAgree.show();q.$buttonSave.hide();q.$buttonAgreeAll.hide()}}function a(z){var y=q.$modal.find("#google-options .translator-option");var B={};for(var C=0;C<y.length;C++){var E=y[C];var A=E.getAttribute("data-name");if(A==="necessary"){B[A]=true}else{if(z===undefined){var D=$(E).find('input[type="checkbox"]');B[A]=D.prop("checked")}else{B[A]=!!z}}}return B}function p(){var z;var y={};z=a();y=JSON.parse(h.get(q.props.cookieConsentName));y.analysis=z.analysis;y.personalization=z.personalization;h.set(q.props.cookieConsentName,JSON.stringify(y),q.props.cookieStorageDays,q.props.sameSite,q.props.secure);h.set(q.props.cookieName,JSON.stringify(a(true)),q.props.cookieStorageDays,q.props.sameSite,q.props.secure);q.$modal.modal("hide")}function b(){var y=a();y.translationEnabled=false;h.set(q.props.cookieName,JSON.stringify(y),q.props.cookieStorageDays,q.props.sameSite,q.props.secure);q.$modal.modal("hide")}function s(){var z;var y={};z=a();y=JSON.parse(h.get(q.props.cookieConsentName));y.analysis=z.analysis;y.personalization=z.personalization;h.set(q.props.cookieConsentName,JSON.stringify(y),q.props.cookieStorageDays,q.props.sameSite,q.props.secure);h.set(q.props.cookieName,JSON.stringify(a()),q.props.cookieStorageDays,q.props.sameSite,q.props.secure);q.$modal.modal("hide")}this.showDialog=function(){n()};this.getSettings=function(z){var y=h.get(q.props.cookieName);if(y){var A=JSON.parse(h.get(q.props.cookieName));if(z===undefined){return A}else{if(A){return A[z]}else{return false}}}else{return undefined}};x.info("\ninitializing core module finished");x.info("\nstate: finished")};
15
+ 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:"Strict",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.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=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]}w.selectedIndex=$("#dropdownJSON option[value="+s+"]").index();if(p.props.disableLanguageSelector){w.disabled=true}$("#dropdownJSON").show();$("body").addClass("stop-scrolling")}});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).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()})}).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
1
  module J1
2
- VERSION = '2021.2.5'
2
+ VERSION = '2021.2.9'
3
3
  end
@@ -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', '~> 2021.2.5'
56
+ gem 'j1-template', '~> 2021.2.9'
57
57
 
58
58
  # ------------------------------------------------------------------------------
59
59
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2021.2.5
56
+ version: 2021.2.9
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -54,6 +54,7 @@ typography:
54
54
  rtext: true
55
55
  rtext_size: 300
56
56
 
57
+
57
58
  # ==============================================================================
58
59
  # URL configuration
59
60
  #
@@ -284,33 +285,13 @@ rouge:
284
285
  # https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content
285
286
  # https://github.com/GoogleChromeLabs/critters/issues/18 (crossorigin)
286
287
  # ------------------------------------------------------------------------------
287
- # font:
288
- # preload: true
289
- # cors: crossorigin
290
- # fonts: [
291
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff,
292
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2,
293
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff,
294
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2,
295
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff,
296
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2,
297
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff,
298
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2,
299
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff,
300
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2,
301
- # /assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff,
302
- # /assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff2
303
- # ]
304
288
  preload:
305
289
 
306
290
  font:
307
291
  preload: false
308
292
  cors: crossorigin
309
293
  fonts: []
310
- # fonts: [
311
- # /assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff,
312
- # /assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff
313
- # ]
294
+
314
295
  css:
315
296
  preload: true
316
297
  css: [
@@ -350,7 +331,6 @@ preconnect:
350
331
  enabled: true
351
332
  urls: [ "https://bootswatch.com" ]
352
333
 
353
-
354
334
  # ------------------------------------------------------------------------------
355
335
  # Font AweSome settings
356
336
  #
@@ -20,100 +20,82 @@ about_config:
20
20
  location: _data/modules/defaults/translator.yml
21
21
 
22
22
  # ------------------------------------------------------------------------------
23
- # Default settings
23
+ # Default translator settings (general)
24
24
  #
25
25
  defaults:
26
26
 
27
27
  enabled: false
28
28
 
29
29
  translationEnabled: false
30
- translatorName: google
31
- languages: [ all ] # supported languages
32
- translationLanguage: auto # detect translation lang from browser
33
- translateAllPages: true # enable tranlation on all pages
34
30
  hideTranslatorIcon: false # hide translator icon if translation not allowed (cookie consent)
35
- hideSuggestionBox: true # disable suggestions on translated text
36
- hidePoweredBy: true # disable label "Powered by Google"
37
- hideTopFrame: true # disable the (google) translator frame
31
+ disableLanguageSelector: false # disable language dropdown for translation in dialog (modal)
32
+ translationLanguage: auto # detect translation language from browser
33
+ translateAllPages: true # enable translation for all pages
38
34
  reloadPageOnChange: true # reload current page if user settings has been changed
39
- postSelectionCallback: j1.adapter.translator.cb # currently NOT used
40
35
 
41
36
  contentURL: /assets/data/translator # dialogs (modals) for all supported translators|languages
42
37
  dialogLanguage: auto # auto|content|one of dialogLanguages
43
- dialogLanguages: [en, de] # supported dialog (modal) languages, defaults to FIRST language defined
38
+ dialogLanguages: [en,de] # supported dialog (modal) languages, defaults to FIRST language defined
44
39
  cookieName: j1.user.translate # name of the user translation cookie (primary data)
45
40
  cookieConsentName: j1.user.consent # name of the Cookie Consent Cookie (secondary data)
46
41
  xhrDataElement: google-data # container for the language-specific modal (taken fromcontentURL)
47
42
  dialogContainerID: translator-dialog # container, the dialog modal is (dynamically) loaded
48
43
 
49
- modal_settings:
44
+ # ------------------------------------------------------------------------------
45
+ # Default Google Translator settings
46
+ #
47
+ google:
48
+
49
+ postSelectionCallback: "j1.adapter.translator.cbGoogle" # callback to run the translation
50
+ hideSuggestionBox: true # disable suggestions on translated text
51
+ hidePoweredBy: true # disable label "Powered by Google"
52
+ hideTopFrame: true # disable the (google) translator frame
50
53
 
51
- title:
52
- en: Google Translate
53
- de: Google Übersetzer
54
+ translationLanguages: [
55
+ af, sq, am, ar, hy, az, eu, be, bn,
56
+ bs, bg, km, ca, ny, zh-CN, zh-TW,
57
+ co, hr, cs, da, nl, en, et, tl, fi,
58
+ fr, fy, gl, ka, de, el, gu, ht, ha,
59
+ haw, iw, hi, hu, is, ig, id, ga, it,
60
+ ja, jw, kn, kk, rw, ko, ku, ky, lo,
61
+ lv, lt, mk, mg, ms, ml, mt, mi, mr,
62
+ mo, mn, ne, no, nn, or, ps, fa, pl,
63
+ pt, pa, ro, rm, ru, gd, sr, st, sn,
64
+ sd, si, sk, sl, so, es, su, sw, sv,
65
+ tg, ta, tt, te, th, tr, tk, ug, uk,
66
+ ur, uz, vi, cy, xh, yi, yo, zu
67
+ ]
68
+ modal_settings:
54
69
 
55
- body_text:
56
- en: >
70
+ title:
71
+ en: Google Translator
72
+ de: Google Übersetzer
73
+
74
+ body_text:
75
+ en: >
57
76
  This website uses the free service <em>Google Translate</em> to
58
77
  translate the content into 100+ languages in a matter of seconds.
59
78
  The <b>language</b> for translation is taken <b>automatically</b>
60
79
  from the language settings of your <b>browser</b>.
61
80
  If you do <b>not</b> want translation anymore, <b>disable</b> the service
62
81
  in section <b>My Settings</b>.
63
- <br><br>
64
- Your current language setting for translation is:
65
- <!-- source language -->
66
- <div id="google-translator-source-language" class="mb-3">
67
- <select id="translate-source-language" name="translate-source-language" is="ms-dropdown">
68
- <option value="BG" data-image-css="flag-icon flag-icon-bg rectangle size-md"> Bulgarian</option>
69
- <option value="CS" data-image-css="flag-icon flag-icon-cz rectangle size-md"> Czech</option>
70
- <option value="DA" data-image-css="flag-icon flag-icon-dk rectangle size-md"> Danish</option>
71
- <option selected value="DE" data-image-css="flag-icon flag-icon-de rectangle size-md"> German</option>
72
- <option value="EL" data-image-css="flag-icon flag-icon-gr rectangle size-md"> Greek</option>
73
- <option value="ES" data-image-css="flag-icon flag-icon-es rectangle size-md"> Spanish</option>
74
- <option value="EN" data-image-css="flag-icon flag-icon-gb rectangle size-md"> English</option>
75
- <option value="EN-US" data-image-css="flag-icon flag-icon-us rectangle size-md"> English (American)</option>
76
- <option value="EN-GB" data-image-css="flag-icon flag-icon-gb rectangle size-md"> English (British)</option>
77
- <option value="ET" data-image-css="flag-icon flag-icon-ee rectangle size-md"> Estonian</option>
78
- <option value="FI" data-image-css="flag-icon flag-icon-fi rectangle size-md"> Finnish</option>
79
- <option value="FR" data-image-css="flag-icon flag-icon-fr rectangle size-md"> French</option>
80
- <option value="HU" data-image-css="flag-icon flag-icon-hu rectangle size-md"> Hungarian</option>
81
- <option value="IT" data-image-css="flag-icon flag-icon-it rectangle size-md"> Italian</option>
82
- <option value="JA" data-image-css="flag-icon flag-icon-jp rectangle size-md"> Japanese</option>
83
- <option value="LV" data-image-css="flag-icon flag-icon-lv rectangle size-md"> Latvian</option>
84
- <option value="LT" data-image-css="flag-icon flag-icon-lt rectangle size-md"> Lithuanian</option>
85
- <option value="NL" data-image-css="flag-icon flag-icon-nl rectangle size-md"> Dutch</option>
86
- <option value="PL" data-image-css="flag-icon flag-icon-pl rectangle size-md"> Polish</option>
87
- <option value="PT" data-image-css="flag-icon flag-icon-pt rectangle size-md"> Portuguese</option>
88
- <option value="PT-PT" data-image-css="flag-icon flag-icon-pt rectangle size-md"> Portuguese (Portugal)</option>
89
- <option value="PT-BR" data-image-css="flag-icon flag-icon-br rectangle size-md"> Portuguese (Brazilian)</option>
90
- <option value="RO" data-image-css="flag-icon flag-icon-ro rectangle size-md"> Romanian</option>
91
- <option value="RU" data-image-css="flag-icon flag-icon-ru rectangle size-md"> Russian</option>
92
- <option value="SK" data-image-css="flag-icon flag-icon-sk rectangle size-md"> Slovak</option>
93
- <option value="SL" data-image-css="flag-icon flag-icon-sl rectangle size-md"> Slovenian</option>
94
- <option value="SV" data-image-css="flag-icon flag-icon-sk rectangle size-md"> Swedish</option>
95
- <option value="ZH" data-image-css="flag-icon flag-icon-cn rectangle size-md"> Chinese</option> </select>
96
- </div>
97
- <!-- test element to create msDropdowns dynamically from JSON -->
98
- <div id="dropdowsJSON" class="mb-3" style="display:none"></div>
99
- <br>
100
-
101
- de: >
82
+
83
+ de: >
102
84
  Diese Website nutzt den kostenlosen Dienst <em>Google Translate</em>,
103
- um die Inhalte in Sekundenschnelle in über 100+ Sprachen zu übersetzen.
85
+ um die Inhalte in sekundenschnelle in über 100+ Sprachen zu übersetzen.
104
86
  Die <b>Sprache</b> für die Übersetzung wird <b>automatisch</b> aus den
105
87
  Spracheinstellungen Ihres <b>Browsers</b> übernommen. Wenn Sie <b>keine</b>
106
88
  Übersetzung mehr wünschen, <b>deaktivieren</b> Sie den Dienst im Abschnitt
107
89
  <b>Meine Einstellungen</b>.
108
- <br><br>
109
- Ihre aktuelle Spracheinstellung für die Übersetzung ist:
110
- <br><br>
111
- <span id="translator-current-language"> <i class="flag-icon flag-icon-de rectangle size-md "></i> German <span>
112
- <br>
113
90
 
114
- privacy_notice:
91
+ language_selector_title:
92
+
93
+ en: "Your current language setting for translation is:"
94
+ de: "Ihre aktuelle Spracheinstellung für die Übersetzung ist:"
115
95
 
116
- en: >
96
+ privacy_notice:
97
+
98
+ en: >
117
99
  The free service from <em>Google Translate</em> uses cookies to provide
118
100
  its services, personalize advertising and run traffic analysis To use the
119
101
  service, your consent on using cookies is required. Find more information
@@ -125,7 +107,7 @@ defaults:
125
107
  <br><br>
126
108
  <code>Personalization</code> For translations, your consent on
127
109
  <b>Personalization</b> with your <b>Privacy Settings</b> is required.
128
- de: >
110
+ de: >
129
111
  Der kostenlose Dienst von <em>Google Translate</em> verwendet Cookies
130
112
  um seine Dienste bereitzustellen, Werbung zu personalisieren und
131
113
  Verkehrsanalysen durchzuführen:
@@ -138,5 +120,36 @@ defaults:
138
120
  Zustimmung zur <b>Personalisierung</b> in den Einstellungen <code>Ihre Privatsphäre</code>
139
121
  erforderlich.
140
122
 
123
+ # ------------------------------------------------------------------------------
124
+ # Default Deepl Translator settings (currently NOT supported)
125
+ #
126
+ # deepl:
127
+ #
128
+ # postSelectionCallback: j1.adapter.translator.cbDeepl() # currently NOT used
129
+ # translationLanguages: [
130
+ # bg, cs, da, de, el, es, en, en-us,
131
+ # en-uk, et, ft, fr, hu, it, ja, lv,
132
+ # lt, nl, af, pt, pt-pt, pt-br, ro,
133
+ # ru, sk, sl, sv, zh-CN, zh-TW
134
+ # ]
135
+ #
136
+ # modal_settings:
137
+ #
138
+ # title:
139
+ # en: Deepl Translator
140
+ # de: Deepl Übersetzer
141
+ #
142
+ # body_text:
143
+ # en:
144
+ # de:
145
+ #
146
+ # language_selector_title:
147
+ # en:
148
+ # de:
149
+ #
150
+ # privacy_notice:
151
+ # en:
152
+ # de:
153
+
141
154
  # ------------------------------------------------------------------------------
142
155
  # END config
@@ -26,6 +26,7 @@ description:
26
26
  settings:
27
27
 
28
28
  enabled: true
29
+ translatorName: google
29
30
 
30
31
  # ------------------------------------------------------------------------------
31
32
  # END config
@@ -433,7 +433,7 @@ end::tables[]
433
433
  // -----------------------------------------------------------------------------
434
434
  tag::products[]
435
435
  :j1--license: MIT License
436
- :j1--version: 2021.2.5
436
+ :j1--version: 2021.2.9
437
437
  :j1--site-name: Jekyll One
438
438
  end::products[]
439
439
 
@@ -364,6 +364,6 @@ end
364
364
 
365
365
  module Jekyll
366
366
  module J1LunrSearch
367
- VERSION = '2021.2.5'
367
+ VERSION = '2021.2.9'
368
368
  end
369
369
  end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "j1_starter",
4
- "version": "2021.2.5",
4
+ "version": "2021.2.9",
5
5
  "description": "J1 Template Starter Web",
6
6
  "homepage": "https://your.site",
7
7
  "author": {
@@ -57,12 +57,12 @@ resource_options:
57
57
  // -----------------------------------------------------------------------------
58
58
  J1 Template implements some incubating Ruby-based extensions for Asciidoctor.
59
59
  Most extensions are based on the examples given with the
60
- link:{asciidoctor-extensions-lab}[Asciidoctor Extensions Lab, {browser-window--new}].
60
+ link:{url-asciidoctor--extensions-lab}[Asciidoctor Extensions Lab, {browser-window--new}].
61
61
  If you simply want to use the extensions from this repository, go ahead to
62
- link:{asciidoctor-extensions-use-extension}[Using an extension, {browser-window--new}].
62
+ link:{url-asciidoctor--extensions-use}[Using an extension, {browser-window--new}].
63
63
 
64
64
  To create Asciidoc extensions on your own, it is highly recommended to read the
65
- link:{asciidoctor-user-manual-extensions}[extensions section, {browser-window--new}] in
65
+ link:{url-asciidoctor--extensions-manual}[extensions section, {browser-window--new}] in
66
66
  the Asciidoctor user manual.
67
67
 
68
68
  == Asciidoc Extensions
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "utls",
4
- "version": "2021.2.5",
4
+ "version": "2021.2.9",
5
5
  "description": "J1 Template Utility Server",
6
6
  "homepage": "https://jekyll.one",
7
7
  "author": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "utls",
4
- "version": "2021.2.5",
4
+ "version": "2021.2.9",
5
5
  "description": "J1 Template Utility Server",
6
6
  "homepage": "https://jekyll.one",
7
7
  "author": {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: j1-template
3
3
  version: !ruby/object:Gem::Version
4
- version: 2021.2.5
4
+ version: 2021.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - juergen_jekyll_one
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-27 00:00:00.000000000 Z
11
+ date: 2021-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -352,20 +352,20 @@ files:
352
352
  - assets/data/galleries.json
353
353
  - assets/data/gallery_customizer.html
354
354
  - assets/data/hyvor.js
355
+ - assets/data/iso-639-language-codes-flags.json
356
+ - assets/data/iso-639-language-codes.json
355
357
  - assets/data/mdi_icons.json
356
358
  - assets/data/mdil_icons.json
357
359
  - assets/data/menu.html
358
360
  - assets/data/mmenu.html
359
361
  - assets/data/mmenu_sidebar.html
360
362
  - assets/data/mmenu_toc.html
361
- - assets/data/msdropdown.json
362
363
  - assets/data/news_panel_posts/index.html
363
364
  - assets/data/panel.html
364
365
  - assets/data/quicklinks.html
365
366
  - assets/data/rtext_resizer.html
366
367
  - assets/data/themes.json
367
368
  - assets/data/translator.html
368
- - assets/data/translator_languages.json
369
369
  - assets/data/twa_v1.json
370
370
  - assets/error_pages/HTTP204.html
371
371
  - assets/error_pages/HTTP400.html
@@ -400,6 +400,7 @@ files:
400
400
  - assets/themes/j1/adapter/js/rtextResizer.js
401
401
  - assets/themes/j1/adapter/js/themer.js
402
402
  - assets/themes/j1/adapter/js/toccer.js
403
+ - assets/themes/j1/adapter/js/translator.1.js
403
404
  - assets/themes/j1/adapter/js/translator.js
404
405
  - assets/themes/j1/core/country-flags/1x1/ad.svg
405
406
  - assets/themes/j1/core/country-flags/1x1/ae.svg