j1-template 2022.0.12 → 2022.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/assets/themes/j1/adapter/js/advertising.js +61 -32
  3. data/assets/themes/j1/adapter/js/algolia.js +9 -9
  4. data/assets/themes/j1/adapter/js/analytics.js +46 -24
  5. data/assets/themes/j1/adapter/js/asciidoctor.js +9 -9
  6. data/assets/themes/j1/adapter/js/attic.js +9 -1
  7. data/assets/themes/j1/adapter/js/bmd.js +9 -10
  8. data/assets/themes/j1/adapter/js/carousel.js +9 -9
  9. data/assets/themes/j1/adapter/js/clipboard.js +8 -8
  10. data/assets/themes/j1/adapter/js/comments.js +31 -10
  11. data/assets/themes/j1/adapter/js/cookieConsent.js +70 -78
  12. data/assets/themes/j1/adapter/js/fab.js +10 -10
  13. data/assets/themes/j1/adapter/js/framer.js +59 -58
  14. data/assets/themes/j1/adapter/js/j1.js +139 -92
  15. data/assets/themes/j1/adapter/js/justifiedGallery.js +11 -10
  16. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +9 -9
  17. data/assets/themes/j1/adapter/js/lightbox.js +11 -4
  18. data/assets/themes/j1/adapter/js/logger.js +10 -3
  19. data/assets/themes/j1/adapter/js/mmenu.js +9 -9
  20. data/assets/themes/j1/adapter/js/navigator.js +9 -9
  21. data/assets/themes/j1/adapter/js/quicksearch.js +9 -9
  22. data/assets/themes/j1/adapter/js/rouge.js +9 -9
  23. data/assets/themes/j1/adapter/js/rtable.js +9 -9
  24. data/assets/themes/j1/adapter/js/rtextResizer.js +9 -9
  25. data/assets/themes/j1/adapter/js/scroller.js +12 -7
  26. data/assets/themes/j1/adapter/js/themer.js +11 -2
  27. data/assets/themes/j1/adapter/js/toccer.js +9 -9
  28. data/assets/themes/j1/adapter/js/translator.js +13 -16
  29. data/assets/themes/j1/modules/advertising/js/google/adInitializer.js +14 -4
  30. data/lib/j1/version.rb +1 -1
  31. data/lib/starter_web/Gemfile +1 -1
  32. data/lib/starter_web/_config.yml +1 -1
  33. data/lib/starter_web/_data/layouts/home.ads.yml +262 -0
  34. data/lib/starter_web/_data/layouts/home.no-ads.yml +262 -0
  35. data/lib/starter_web/_data/layouts/home.yml +1 -1
  36. data/lib/starter_web/_data/modules/advertising.yml +1 -2
  37. data/lib/starter_web/_data/modules/analytics.yml +1 -1
  38. data/lib/starter_web/_data/modules/cookies.yml +0 -2
  39. data/lib/starter_web/_data/modules/defaults/advertising.yml +0 -1
  40. data/lib/starter_web/_data/modules/defaults/comments.yml +4 -4
  41. data/lib/starter_web/_data/modules/defaults/cookies.yml +104 -36
  42. data/lib/starter_web/_includes/attributes.asciidoc +1 -1
  43. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  44. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -1
  45. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +1 -1
  46. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc +1 -1
  47. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.comments.asciidoc +1 -1
  48. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +1 -1
  49. data/lib/starter_web/collections/posts/public/featured/_posts/2021-03-03-about-j1.adoc +1 -1
  50. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +1 -1
  51. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +1 -1
  52. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +1 -1
  53. data/lib/starter_web/index.html +0 -3
  54. data/lib/starter_web/package.json +1 -1
  55. data/lib/starter_web/pages/public/manuals/dropdown-help.adoc +23 -2
  56. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +100 -166
  57. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  58. data/lib/starter_web/utilsrv/package.json +1 -1
  59. metadata +4 -2
@@ -60,8 +60,8 @@ regenerate: true
60
60
  {% assign themer_defaults = modules.defaults.themer.defaults %}
61
61
  {% assign themer_settings = modules.themer.settings %}
62
62
 
63
- {% assign tracking_enabled = template_config.analytics.enabled %}
64
- {% assign tracking_id = template_config.analytics.google.tracking_id %}
63
+ {% assign tracking_enabled = modules.analytics.enabled %}
64
+ {% assign tracking_id = modules.analytics.google.trackingID %}
65
65
 
66
66
  {% assign authentication_defaults = modules.defaults.authentication.defaults %}
67
67
  {% assign authentication_settings = modules.authentication.settings %}
@@ -134,24 +134,25 @@ var j1 = (function () {
134
134
  // ---------------------------------------------------------------------------
135
135
  // globals
136
136
  // ---------------------------------------------------------------------------
137
- var rePager = new RegExp('navigator|dateview|tagview|archive');
138
- var environment = '{{environment}}';
139
- var moduleOptions = {};
140
- var j1_runtime_data = {};
137
+ var rePager = new RegExp('navigator|dateview|tagview|archive');
138
+ var environment = '{{environment}}';
139
+ var moduleOptions = {};
140
+ var j1_runtime_data = {};
141
141
 
142
142
  // Status information
143
- var state = 'not_started';
144
- var mode = 'not_detected';
143
+ var state = 'not_started';
144
+ var mode = 'not_detected';
145
145
 
146
146
  // Default tracking provider information
147
- var tracking_enabled = ('{{tracking_enabled}}' === 'true') ? true: false;
148
- var tracking_id = '{{tracking_id}}';
149
- var tracking_id_valid = (tracking_id.includes('tracking-id')) ? false : true;
147
+ // var tracking_enabled = ('{{tracking_enabled}}' === 'true') ? true: false;
148
+ // var tracking_id = '{{tracking_id}}';
149
+ // var tracking_id_valid = (tracking_id.includes('tracking-id')) ? false : true;
150
150
 
151
151
  // Default comment provider information
152
- var comment_provider = '{{comment_provider}}';
153
- var site_id = '{{site_id}}';
154
- var check_cookies = {{cookie_options.check_cookies}};
152
+ var comment_provider = '{{comment_provider}}';
153
+ var site_id = '{{site_id}}';
154
+ var checkCookies = {{cookie_options.checkCookies}};
155
+ var expireCookiesOnRequiredOnly = ('{{cookie_options.expireCookiesOnRequiredOnly}}' === 'true') ? true: false;
155
156
 
156
157
  var current_user_data;
157
158
  var current_page;
@@ -252,7 +253,15 @@ var j1 = (function () {
252
253
  init: function (options) {
253
254
 
254
255
  // -----------------------------------------------------------------------
255
- // global var (function)
256
+ // Default module settings
257
+ // -----------------------------------------------------------------------
258
+ var settings = $.extend({
259
+ module_name: 'j1',
260
+ generated: '{{site.time}}'
261
+ }, options);
262
+
263
+ // -----------------------------------------------------------------------
264
+ // Global variable settings
256
265
  // -----------------------------------------------------------------------
257
266
  var logger = log4javascript.getLogger('j1.init');
258
267
  var url = new liteURL(window.location.href);
@@ -267,15 +276,6 @@ var j1 = (function () {
267
276
  var j1Cookies = j1.findCookie('j1');
268
277
  var themerOptions = $.extend({}, {{themer_options | replace: '=>', ':' | replace: 'nil', '""' }});
269
278
 
270
- // -----------------------------------------------------------------------
271
- // options loader
272
- // -----------------------------------------------------------------------
273
- var settings = $.extend({
274
- foo: 'foo_option',
275
- bar: 'bar_option'
276
- },
277
- options
278
- );
279
279
  // -----------------------------------------------------------------------
280
280
  // status settings
281
281
  // save status into the adapter object for (later) global access
@@ -348,7 +348,7 @@ var j1 = (function () {
348
348
 
349
349
  // jadams, 2021-12-06: Check if access to cookies for this site failed.
350
350
  // Possibly, a third-party domain or an attacker tries to access it.
351
- if (check_cookies) {
351
+ if (checkCookies) {
352
352
  if (!user_state) {
353
353
  logger.error('\n' + 'Access to cookie failed or cookie not found: ' + cookie_names.user_state);
354
354
  logger.debug('\n' + 'j1 cookies found:' + j1Cookies.length);
@@ -358,10 +358,12 @@ var j1 = (function () {
358
358
  }
359
359
 
360
360
  if (!user_consent.analysis || !user_consent.personalization) {
361
- // expire permanent cookies to session
362
- j1.expireCookie({ name: cookie_names.user_state });
363
- j1.expireCookie({ name: cookie_names.user_consent });
364
- j1.expireCookie({ name: cookie_names.user_translate });
361
+ if (expireCookiesOnRequiredOnly) {
362
+ // expire permanent cookies to session
363
+ j1.expireCookie({ name: cookie_names.user_state });
364
+ j1.expireCookie({ name: cookie_names.user_consent });
365
+ j1.expireCookie({ name: cookie_names.user_translate });
366
+ }
365
367
  }
366
368
 
367
369
  // initialize event handler for window/history/back on <ESC>
@@ -1509,22 +1511,19 @@ var j1 = (function () {
1509
1511
  var baseUrl = url.origin;;
1510
1512
  var hostname = url.hostname;
1511
1513
  var auto_domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
1514
+ var auto_secure = (url.protocol.includes('https')) ? true : false;
1512
1515
  var stringifiedAttributes = '';
1513
1516
  var cookie_data = {};
1514
1517
  var data_json;
1515
1518
  var data_encoded;
1516
- var expires;
1517
- var domainAttribute;
1518
1519
 
1519
1520
  var defaults = {
1520
- data: {},
1521
- name: '',
1522
- path: '{{cookie_options.path}}',
1523
- expires: '{{cookie_options.expires}}',
1524
- domain: ('{{cookie_options.domain}}' === 'true'), // convert string to boolean
1525
- samesite: '{{cookie_options.same_site}}',
1526
- http_only: '{{cookie_options.http_only}}',
1527
- secure: '{{cookie_options.secure}}'
1521
+ path: '{{cookie_options.path}}',
1522
+ expires: '{{cookie_options.expires}}',
1523
+ domain: ('{{cookie_options.domain}}' === 'false') ? false : '{{cookie_options.domain}}',
1524
+ samesite: '{{cookie_options.same_site}}',
1525
+ http_only: ('{{cookie_options.http_only}}' === 'true'),
1526
+ secure: ('{{cookie_options.secure}}' === 'false') ? false : '{{cookie_options.secure}}'
1528
1527
  };
1529
1528
  var settings = $.extend(defaults, options);
1530
1529
 
@@ -1547,6 +1546,8 @@ var j1 = (function () {
1547
1546
  data_encoded = window.btoa(data_json);
1548
1547
  }
1549
1548
 
1549
+ // collect the cookie attributes
1550
+ // -----------------------------------------------------------------------
1550
1551
  stringifiedAttributes += '; ' + 'Path=' + settings.path;
1551
1552
 
1552
1553
  if (settings.expires > 0) {
@@ -1559,20 +1560,23 @@ var j1 = (function () {
1559
1560
  // set domain used by cookies
1560
1561
  if (settings.domain) {
1561
1562
  if (settings.domain == 'auto') {
1562
- domainAttribute = auto_domain;
1563
- stringifiedAttributes += '; ' + 'Domain=' + domainAttribute;
1564
- } else if (settings.domain) {
1565
- domainAttribute = settings.domain;
1566
- stringifiedAttributes += '; ' + 'Domain=' + domainAttribute;
1563
+ stringifiedAttributes += '; ' + 'Domain=' + auto_domain;
1564
+ } else {
1565
+ stringifiedAttributes += '; ' + 'Domain=' + settings.domain;
1567
1566
  }
1568
1567
  }
1569
1568
 
1570
- if (settings.secure == true) {
1571
- stringifiedAttributes += '; ' + 'Secure=' + settings.secure;
1569
+ // set secure attribute
1570
+ if (settings.secure) {
1571
+ if (settings.secure == 'auto') {
1572
+ stringifiedAttributes += '; ' + 'Secure=' + auto_secure;
1573
+ } else {
1574
+ stringifiedAttributes += '; ' + 'Secure=' + settings.secure;
1575
+ }
1572
1576
  }
1573
1577
 
1574
1578
  // write the cookie
1575
- // document.cookie = settings.name + '=' + content + '; path=' + settings.path + '; domain=' + settings.domain + '; ' + 'SameSite=' + settings.samesite + '; secure';
1579
+ // -----------------------------------------------------------------------
1576
1580
  document.cookie = settings.name + '=' + data_encoded + stringifiedAttributes;
1577
1581
 
1578
1582
  if (j1.existsCookie(settings.name)) {
@@ -1580,14 +1584,13 @@ var j1 = (function () {
1580
1584
  } else {
1581
1585
  return false;
1582
1586
  }
1583
-
1584
1587
  },
1585
1588
 
1586
1589
  // -------------------------------------------------------------------------
1587
1590
  // findCookie (Vanilla JS)
1588
- // Search for cookies (names) in the page header that matches a given
1589
- // name. Cookie name can be give as full name, like 'j1.user.state', or
1590
- // as a partial like 'j1'
1591
+ // Search for cookies (by name) in the page header that matches a given
1592
+ // (name) string. A cookie name can be given as full name, like 'j1.user.state',
1593
+ // or as a partial like 'j1'
1591
1594
  // Returns all names found as an array.
1592
1595
  // -------------------------------------------------------------------------
1593
1596
  // See: https://stackoverflow.com/questions/52287989/javascript-cookie-remove-or-delete-with-regex-regular-expression
@@ -1603,31 +1606,51 @@ var j1 = (function () {
1603
1606
  // removeCookie (Vanilla JS)
1604
1607
  // -------------------------------------------------------------------------
1605
1608
  removeCookie: function (options /*name, [path, domain]*/) {
1606
- var domainAttribute;
1609
+ var url = new liteURL(window.location.href);
1610
+ var baseUrl = url.origin;;
1611
+ var hostname = url.hostname;
1612
+ var auto_domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
1613
+ var auto_secure = (url.protocol.includes('https')) ? true : false;
1614
+ var stringifiedAttributes = '';
1607
1615
 
1608
1616
  var defaults = {
1609
1617
  path: '{{cookie_options.path}}',
1610
- expires: '{{cookie_options.expires}}',
1611
- domain: '{{cookie_options.domain}}',
1618
+ expires: 'Thu, 01 Jan 1970 00:00:00 UTC', // clear cookies by settting the expiry date in the PAST
1619
+ domain: ('{{cookie_options.domain}}' === 'false') ? false : '{{cookie_options.domain}}',
1612
1620
  samesite: '{{cookie_options.same_site}}',
1613
- http_only: '{{cookie_options.http_only}}',
1614
- secure: '{{cookie_options.secure}}'
1621
+ http_only: ('{{cookie_options.http_only}}' === 'true'),
1622
+ secure: ('{{cookie_options.secure}}' === 'false') ? false : '{{cookie_options.secure}}'
1615
1623
  };
1616
- var cookieExists;
1624
+ var settings = $.extend(defaults, options);
1617
1625
 
1618
- var settings = $.extend(defaults, options);
1626
+ // collect the cookie attributes
1627
+ // -----------------------------------------------------------------------
1628
+ stringifiedAttributes += '; ' + 'Path=' + settings.path;
1629
+ stringifiedAttributes += '; ' + 'SameSite=' + settings.samesite;
1630
+ stringifiedAttributes += '; ' + 'Expires=' + settings.expires;
1619
1631
 
1620
1632
  // set domain used by cookies
1621
- if (settings.domain == 'auto') {
1622
- domainAttribute = domain ;
1623
- } else {
1624
- // domainAttribute = hostname;
1625
- domainAttribute = '';
1633
+ if (settings.domain) {
1634
+ if (settings.domain == 'auto') {
1635
+ stringifiedAttributes += '; ' + 'Domain=' + auto_domain;
1636
+ } else if (typeof settings.domain == 'string') {
1637
+ stringifiedAttributes += '; ' + 'Domain=' + settings.domain;
1638
+ }
1626
1639
  }
1627
1640
 
1641
+ // set secure attribute
1642
+ if (settings.secure) {
1643
+ if (settings.secure == 'auto') {
1644
+ stringifiedAttributes += '; ' + 'Secure=' + auto_secure;
1645
+ } else {
1646
+ stringifiedAttributes += '; ' + 'Secure=' + settings.secure;
1647
+ }
1648
+ }
1649
+
1650
+ // clear|remove the cookie if exists
1651
+ // -----------------------------------------------------------------------
1628
1652
  if (j1.findCookie(settings.name)) {
1629
- // clear cookie CONTENT and set expiry date in the PAST
1630
- document.cookie = settings.name + '=; Domain=' + domainAttribute + '; Expires=Thu, 01 Jan 1970 00:00:00 UTC; Path=/;';
1653
+ document.cookie = settings.name + '=;' + stringifiedAttributes;
1631
1654
  return true;
1632
1655
  } else {
1633
1656
  return false;
@@ -1642,49 +1665,71 @@ var j1 = (function () {
1642
1665
  // automatically by the browser if the last session (browser tab|window)
1643
1666
  // is closed.
1644
1667
  // -------------------------------------------------------------------------
1645
- // expireCookie() returns 'true' if cookie is set successfully,
1646
- // otherwise 'false' (e.g NOT found)
1668
+ // expireCookie() returns 'true' if cookie is set successfully
1669
+ // (to session), otherwise 'false' (e.g. NOT found)
1647
1670
  // -------------------------------------------------------------------------
1648
1671
  // NOTE:
1649
1672
  // See: https://stackoverflow.com/questions/179355/clearing-all-cookies-with-javascript
1673
+ //
1650
1674
  // NOTE:
1651
1675
  // There is NO way you could get a trace of Path, Domain and other
1652
1676
  // attributes of cookies as they are only read by browsers and NOT shown
1653
- // to JavaScript. For that reason, attributes needs to be set explicitly.
1677
+ // to JavaScript. For that reason, attributes needs to be set explicitly
1678
+ // to already KNOWN values.
1679
+ //
1654
1680
  // -------------------------------------------------------------------------
1655
1681
  expireCookie: function (options /*name [,path, samesite, secure]*/) {
1656
- var url = new liteURL(window.location.href);
1657
- var baseUrl = url.origin;;
1658
- var hostname = url.hostname;
1659
- var domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
1660
- var domainAttribute;
1682
+ var url = new liteURL(window.location.href);
1683
+ var baseUrl = url.origin;;
1684
+ var hostname = url.hostname;
1685
+ var auto_domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
1686
+ var auto_secure = (url.protocol.includes('https')) ? true : false;
1687
+ var stringifiedAttributes = '';
1661
1688
 
1662
1689
  var defaults = {
1663
1690
  path: '{{cookie_options.path}}',
1664
1691
  expires: '{{cookie_options.expires}}',
1665
- domain: '{{cookie_options.domain}}',
1692
+ domain: ('{{cookie_options.domain}}' === 'false') ? false : '{{cookie_options.domain}}',
1666
1693
  samesite: '{{cookie_options.same_site}}',
1667
- http_only: '{{cookie_options.http_only}}',
1668
- secure: '{{cookie_options.secure}}'
1694
+ http_only: ('{{cookie_options.http_only}}' === 'true'),
1695
+ secure: ('{{cookie_options.secure}}' === 'false') ? false : '{{cookie_options.secure}}'
1669
1696
  };
1670
1697
  var settings = $.extend(defaults, options);
1671
1698
 
1699
+ // collect the cookie attributes
1700
+ // -----------------------------------------------------------------------
1701
+ stringifiedAttributes += '; ' + 'Path=' + settings.path;
1702
+ stringifiedAttributes += '; ' + 'SameSite=' + settings.samesite;
1703
+
1672
1704
  // set domain used by cookies
1673
- if (settings.domain == 'auto') {
1674
- domainAttribute = domain ;
1675
- } else {
1676
- // domainAttribute = hostname;
1677
- domainAttribute = '';
1705
+ if (settings.domain) {
1706
+ if (settings.domain == 'auto') {
1707
+ stringifiedAttributes += '; ' + 'Domain=' + auto_domain;
1708
+ } else if (typeof settings.domain == 'string') {
1709
+ if (settings.domain !== 'false') {
1710
+ stringifiedAttributes += '; ' + 'Domain=' + settings.domain;
1711
+ }
1712
+ }
1713
+ }
1714
+
1715
+ // set secure attribute
1716
+ if (settings.secure) {
1717
+ if (settings.secure == 'auto') {
1718
+ stringifiedAttributes += '; ' + 'Secure=' + auto_secure;
1719
+ } else {
1720
+ stringifiedAttributes += '; ' + 'Secure=' + settings.secure;
1721
+ }
1678
1722
  }
1679
1723
 
1680
- var dc = document.cookie; // all cookies in page
1681
- var end = dc.length; // default to end of the string
1682
- var prefix = settings.name + '='; // search string for the cookie name given
1724
+ var dc = document.cookie; // all cookies in page
1725
+ var end = dc.length; // default to end of the string
1726
+ var prefix = settings.name + '='; // search string for the cookie name given
1683
1727
  var begin = dc.indexOf('; ' + prefix);
1684
1728
  var content = '';
1685
1729
 
1686
1730
  // collect the cookie content
1687
- //
1731
+ // -----------------------------------------------------------------------
1732
+
1688
1733
  // found, and not in the first position
1689
1734
  if (begin !== -1) {
1690
1735
  // exclude the "; "
@@ -1702,20 +1747,17 @@ var j1 = (function () {
1702
1747
  end = dc.indexOf(';', begin);
1703
1748
  }
1704
1749
 
1705
- // expire cookie to session
1750
+ // write the cookie content, expire to session
1751
+ // -----------------------------------------------------------------------
1706
1752
  content = decodeURI(dc.substring(begin + prefix.length, end) ).replace(/"/g, '');
1707
- if (settings.secure == 'true') {
1708
- document.cookie = settings.name + '=' + content +'; Path=' + settings.path + '; ' + 'SameSite=' + settings.samesite + '; ' + 'Domain=' + domainAttribute + '; Secure' + '; ';
1709
- } else {
1710
- document.cookie = settings.name + '=' + content +'; Path=' + settings.path + '; ' + 'SameSite=' + settings.samesite + '; ' + 'Domain=' + domainAttribute + '; ';
1711
- }
1753
+ document.cookie = settings.name + '=' + content + stringifiedAttributes;
1712
1754
 
1713
1755
  return true;
1714
1756
  },
1715
1757
 
1716
1758
  // -------------------------------------------------------------------------
1717
1759
  // existsCookie (Vanilla JS)
1718
- // returns true if a given cookie exists
1760
+ // returns true if a cookie of given name exists
1719
1761
  // -------------------------------------------------------------------------
1720
1762
  existsCookie: function (name) {
1721
1763
  var dc = document.cookie;
@@ -1725,6 +1767,9 @@ var j1 = (function () {
1725
1767
  var cookieExists = false;
1726
1768
  var cookieContent = '';
1727
1769
 
1770
+ // collect the cookie content
1771
+ // -----------------------------------------------------------------------
1772
+
1728
1773
  // found, and not in first position
1729
1774
  if (begin !== -1) {
1730
1775
  // exclude the "; "
@@ -1742,6 +1787,8 @@ var j1 = (function () {
1742
1787
  end = dc.indexOf(';', begin);
1743
1788
  }
1744
1789
 
1790
+ // check if the cookie exists
1791
+ // -----------------------------------------------------------------------
1745
1792
  cookieContent = decodeURI(dc.substring(begin + prefix.length, end) ).replace(/"/g, '');
1746
1793
  cookieExists = cookieContent.length ? true : false;
1747
1794
 
@@ -100,16 +100,6 @@ j1.adapter.justifiedGallery = (function (j1, window) {
100
100
  // -------------------------------------------------------------------------
101
101
  init: function (options) {
102
102
 
103
- {% comment %} Set global variables
104
- -------------------------------------------------------------------------- {% endcomment %}
105
- _this = j1.adapter.justifiedGallery;
106
- logger = log4javascript.getLogger('j1.adapter.justifiedGallery');
107
-
108
- // initialize state flag
109
- _this.setState('started');
110
- logger.info('\n' + 'state: ' + _this.getState());
111
- logger.info('\n' + 'module is being initialized');
112
-
113
103
  // -----------------------------------------------------------------------
114
104
  // Default module settings
115
105
  // -----------------------------------------------------------------------
@@ -118,6 +108,17 @@ j1.adapter.justifiedGallery = (function (j1, window) {
118
108
  generated: '{{site.time}}'
119
109
  }, options);
120
110
 
111
+ // -----------------------------------------------------------------------
112
+ // Global variable settings
113
+ // -----------------------------------------------------------------------
114
+ _this = j1.adapter.justifiedGallery;
115
+ logger = log4javascript.getLogger('j1.adapter.justifiedGallery');
116
+
117
+ // initialize state flag
118
+ _this.setState('started');
119
+ logger.info('\n' + 'state: ' + _this.getState());
120
+ logger.info('\n' + 'module is being initialized');
121
+
121
122
  {% comment %} Load module config from yml data
122
123
  -------------------------------------------------------------------------- {% endcomment %}
123
124
  // Load module DEFAULTS|CONFIG
@@ -111,7 +111,15 @@ j1.adapter.justifiedGalleryCustomizer = (function (j1, window) {
111
111
  init: function (options) {
112
112
 
113
113
  // -----------------------------------------------------------------------
114
- // globals
114
+ // Default module settings
115
+ // -----------------------------------------------------------------------
116
+ var settings = $.extend({
117
+ module_name: 'j1.adapter.justifiedGalleryCustomizer',
118
+ generated: '{{site.time}}'
119
+ }, options);
120
+
121
+ // -----------------------------------------------------------------------
122
+ // Global variable settings
115
123
  // -----------------------------------------------------------------------
116
124
  _this = j1.adapter.justifiedGalleryCustomizer;
117
125
  logger = log4javascript.getLogger('j1.adapter.justifiedGalleryCustomizer');
@@ -121,14 +129,6 @@ j1.adapter.justifiedGalleryCustomizer = (function (j1, window) {
121
129
  logger.info('\n' + 'state: ' + _this.getState());
122
130
  logger.info('\n' + 'module is being initialized');
123
131
 
124
- // -----------------------------------------------------------------------
125
- // Default module settings
126
- // -----------------------------------------------------------------------
127
- var settings = $.extend({
128
- module_name: 'j1.adapter.justifiedGalleryCustomizer',
129
- generated: '{{site.time}}'
130
- }, options);
131
-
132
132
  {% comment %} Load gallery config from yml data
133
133
  -------------------------------------------------------------------------- {% endcomment %}
134
134
  /* eslint-disable */
@@ -102,16 +102,23 @@ j1.adapter.lightbox = (function (j1, window) {
102
102
  // -------------------------------------------------------------------------
103
103
  // Initializer
104
104
  // -------------------------------------------------------------------------
105
- init: function () {
106
- // initialize state flag
107
- j1.adapter.lightbox.state = 'pending';
105
+ init: function (options) {
108
106
 
109
107
  // -----------------------------------------------------------------------
110
- // globals
108
+ // Default module settings
109
+ // -----------------------------------------------------------------------
110
+ var settings = $.extend({
111
+ module_name: 'j1.adapter.lightbox',
112
+ generated: '{{site.time}}'
113
+ }, options);
114
+
115
+ // -----------------------------------------------------------------------
116
+ // Global variable settings
111
117
  // -----------------------------------------------------------------------
112
118
  _this = j1.adapter.lightbox;
113
119
  logger = log4javascript.getLogger('j1.adapter.lightbox');
114
120
 
121
+ j1.adapter.lightbox.state = 'pending';
115
122
  _this.setState('started');
116
123
  logger.info('\n' + 'state: ' + _this.getState());
117
124
  logger.info('\n' + 'module is being initialized');
@@ -175,7 +175,14 @@ j1.adapter.logger = (function (j1, window) {
175
175
  // initialize state flag
176
176
  j1.adapter.logger.state = 'started';
177
177
 
178
- // load module DEFAULTS|CONFIG to js object
178
+ // -----------------------------------------------------------------------
179
+ // Default module settings
180
+ // -----------------------------------------------------------------------
181
+ var settings = $.extend({
182
+ module_name: 'j1.adapter.logger',
183
+ generated: '{{site.time}}'
184
+ }, options);
185
+
179
186
  /* eslint-disable */
180
187
  loggerOptions = $.extend({}, {{logger_options | replace: '=>', ':' | replace: 'nil', '""'}});
181
188
  utilServerOptions = $.extend({}, {{util_server_options | replace: '=>', ':' | replace: 'nil', '""'}});
@@ -183,8 +190,8 @@ j1.adapter.logger = (function (j1, window) {
183
190
  ajaxAppenderOptions = loggerOptions.appenders[1].appender;
184
191
 
185
192
  // -----------------------------------------------------------------------
186
- // setup logger instances
187
- //
193
+ // Global variable settings
194
+ // -----------------------------------------------------------------------
188
195
  _this = j1.adapter.logger;
189
196
  logger = log4javascript.getLogger('j1.adapter.logger');
190
197
 
@@ -135,7 +135,15 @@ j1.adapter.mmenu = (function (j1, window) {
135
135
  init: function (options) {
136
136
 
137
137
  // -----------------------------------------------------------------------
138
- // globals
138
+ // Default module settings
139
+ // -----------------------------------------------------------------------
140
+ var settings = $.extend({
141
+ module_name: 'j1.adapter.mmenu',
142
+ generated: '{{site.time}}'
143
+ }, options);
144
+
145
+ // -----------------------------------------------------------------------
146
+ // Global variable settings
139
147
  // -----------------------------------------------------------------------
140
148
  _this = j1.adapter.mmenu;
141
149
  logger = log4javascript.getLogger('j1.adapter.mmenu');
@@ -145,14 +153,6 @@ j1.adapter.mmenu = (function (j1, window) {
145
153
  logger.info('\n' + 'state: ' + _this.getState());
146
154
  logger.info('\n' + 'module is being initialized');
147
155
 
148
- // -----------------------------------------------------------------------
149
- // defaults
150
- // -----------------------------------------------------------------------
151
- var settings = $.extend({
152
- module_name: 'j1.adapter.mmenu',
153
- generated: '{{site.time}}'
154
- }, options);
155
-
156
156
  // -----------------------------------------------------------------------
157
157
  // options loader
158
158
  // -----------------------------------------------------------------------
@@ -202,7 +202,15 @@ j1.adapter.navigator = (function (j1, window) {
202
202
  init: function (options) {
203
203
 
204
204
  // -----------------------------------------------------------------------
205
- // globals
205
+ // Default module settings
206
+ // -----------------------------------------------------------------------
207
+ var settings = $.extend({
208
+ module_name: 'j1.adapter.navigator',
209
+ generated: '{{site.time}}'
210
+ }, options);
211
+
212
+ // -----------------------------------------------------------------------
213
+ // Global variable settings
206
214
  // -----------------------------------------------------------------------
207
215
  _this = j1.adapter.navigator;
208
216
  logger = log4javascript.getLogger('j1.adapter.navigator');
@@ -212,14 +220,6 @@ j1.adapter.navigator = (function (j1, window) {
212
220
  logger.info('\n' + 'state: ' + _this.getState());
213
221
  logger.info('\n' + 'module is being initialized');
214
222
 
215
- // -----------------------------------------------------------------------
216
- // defaults
217
- // -----------------------------------------------------------------------
218
- var settings = $.extend({
219
- module_name: 'j1.adapter.navigator',
220
- generated: '{{site.time}}'
221
- }, options);
222
-
223
223
  // -----------------------------------------------------------------------
224
224
  // options loader
225
225
  // -----------------------------------------------------------------------
@@ -98,7 +98,15 @@ j1.adapter.quicksearch = (function (j1, window) {
98
98
  init: function (options) {
99
99
 
100
100
  // -----------------------------------------------------------------------
101
- // globals
101
+ // Default module settings
102
+ // -----------------------------------------------------------------------
103
+ var settings = $.extend({
104
+ module_name: 'j1.adapter.quicksearch',
105
+ generated: '{{site.time}}'
106
+ }, options);
107
+
108
+ // -----------------------------------------------------------------------
109
+ // Global variable settings
102
110
  // -----------------------------------------------------------------------
103
111
  _this = j1.adapter.quicksearch;
104
112
  logger = log4javascript.getLogger('j1.adapter.quicksearch');
@@ -108,14 +116,6 @@ j1.adapter.quicksearch = (function (j1, window) {
108
116
  logger.info('\n' + 'state: ' + _this.getState());
109
117
  logger.info('\n' + 'module is being initialized');
110
118
 
111
- // -----------------------------------------------------------------------
112
- // defaults
113
- // -----------------------------------------------------------------------
114
- var settings = $.extend({
115
- module_name: 'j1.adapter.quicksearch',
116
- generated: '{{site.time}}'
117
- }, options);
118
-
119
119
  // -----------------------------------------------------------------------
120
120
  // options loader
121
121
  // -----------------------------------------------------------------------
@@ -101,7 +101,15 @@ j1.adapter.rouge = (function (j1, window) {
101
101
  init: function (options) {
102
102
 
103
103
  // -----------------------------------------------------------------------
104
- // globals
104
+ // Default module settings
105
+ // -----------------------------------------------------------------------
106
+ var settings = $.extend({
107
+ module_name: 'j1.adapter.rouge',
108
+ generated: '{{site.time}}'
109
+ }, options);
110
+
111
+ // -----------------------------------------------------------------------
112
+ // Global variable settings
105
113
  // -----------------------------------------------------------------------
106
114
  _this = j1.adapter.rouge;
107
115
  logger = log4javascript.getLogger('j1.adapter.rouge');
@@ -111,14 +119,6 @@ j1.adapter.rouge = (function (j1, window) {
111
119
  logger.info('\n' + 'state: ' + _this.getState());
112
120
  logger.info('\n' + 'module is being initialized');
113
121
 
114
- // -----------------------------------------------------------------------
115
- // Default module settings
116
- // -----------------------------------------------------------------------
117
- var settings = $.extend({
118
- module_name: 'j1.adapter.rouge',
119
- generated: '{{site.time}}'
120
- }, options);
121
-
122
122
  // -----------------------------------------------------------------------
123
123
  // rouge initializer
124
124
  // -----------------------------------------------------------------------