j1-template 2024.2.0 → 2024.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/gemini-ui.html +2 -2
  3. data/assets/themes/j1/adapter/js/advertising.js +2 -10
  4. data/assets/themes/j1/adapter/js/analytics.js +1 -5
  5. data/assets/themes/j1/adapter/js/bmd.js +195 -195
  6. data/assets/themes/j1/adapter/js/carousel.js +786 -786
  7. data/assets/themes/j1/adapter/js/clipboard.js +1 -0
  8. data/assets/themes/j1/adapter/js/comments.js +1 -0
  9. data/assets/themes/j1/adapter/js/cookieConsent.js +460 -466
  10. data/assets/themes/j1/adapter/js/customModule.js +5 -4
  11. data/assets/themes/j1/adapter/js/docsearch.js +1 -0
  12. data/assets/themes/j1/adapter/js/dropdowns.js +1 -0
  13. data/assets/themes/j1/adapter/js/fab.js +1 -0
  14. data/assets/themes/j1/adapter/js/gallery.js +495 -494
  15. data/assets/themes/j1/adapter/js/gemini.js +154 -128
  16. data/assets/themes/j1/adapter/js/iconPicker.js +257 -255
  17. data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -279
  18. data/assets/themes/j1/adapter/js/iframer.js +3 -2
  19. data/assets/themes/j1/adapter/js/j1.js +3285 -3285
  20. data/assets/themes/j1/adapter/js/lazyLoader.js +241 -241
  21. data/assets/themes/j1/adapter/js/lightbox.js +242 -241
  22. data/assets/themes/j1/adapter/js/logger.js +1 -0
  23. data/assets/themes/j1/adapter/js/lunr.js +6 -10
  24. data/assets/themes/j1/adapter/js/masonry.js +427 -426
  25. data/assets/themes/j1/adapter/js/masterslider.js +526 -526
  26. data/assets/themes/j1/adapter/js/mmenu.js +1 -0
  27. data/assets/themes/j1/adapter/js/navigator.js +2 -2
  28. data/assets/themes/j1/adapter/js/particles.js +1 -0
  29. data/assets/themes/j1/adapter/js/rangeSlider.js +1 -0
  30. data/assets/themes/j1/adapter/js/rouge.js +288 -287
  31. data/assets/themes/j1/adapter/js/rtable.js +309 -309
  32. data/assets/themes/j1/adapter/js/slick.js +487 -487
  33. data/assets/themes/j1/adapter/js/slimSelect.js +3 -5
  34. data/assets/themes/j1/adapter/js/themeToggler.js +281 -280
  35. data/assets/themes/j1/adapter/js/themes.js +0 -1
  36. data/assets/themes/j1/adapter/js/toccer.js +1 -0
  37. data/assets/themes/j1/adapter/js/translator.js +1 -0
  38. data/assets/themes/j1/adapter/js/waves.js +1 -0
  39. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +23 -17
  40. data/assets/themes/j1/modules/js-cookies/js/js.cookie.js +147 -0
  41. data/assets/themes/j1/modules/js-cookies/js/js.cookie.min.js +2 -0
  42. data/lib/j1/version.rb +1 -1
  43. data/lib/starter_web/README.md +5 -5
  44. data/lib/starter_web/_config.yml +1 -1
  45. data/lib/starter_web/_data/modules/defaults/themes.yml +171 -171
  46. data/lib/starter_web/_data/resources.yml +26 -0
  47. data/lib/starter_web/_data/templates/feed.xml +1 -1
  48. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  49. data/lib/starter_web/package.json +1 -1
  50. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +500 -500
  51. metadata +4 -2
@@ -89,12 +89,13 @@ function CookieConsent(props) {
89
89
  this.props.cookieSecure = cookieSecure;
90
90
 
91
91
  var Cookie = {
92
- set: function (name, value, days, cookieSameSite, cookieDomain, cookieSecure) {
92
+ set: (name, value, days, cookieSameSite, cookieDomain, cookieSecure) => {
93
93
  var value_encoded = window.btoa(value);
94
- var expires = '; expires=Thu, 01 Jan 1970 00:00:00 UTC';
94
+ var expires = '; expires=Thu, 01 Jan 1970 00:00:00 UTC';
95
95
 
96
- if (days>0) {
96
+ if (days > 0) {
97
97
  var date = new Date();
98
+
98
99
  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
99
100
  expires = "; expires=" + date.toUTCString();
100
101
  }
@@ -117,22 +118,27 @@ function CookieConsent(props) {
117
118
  document.cookie = name + "=" + (value_encoded || '') + expires + '; Path=/; SameSite=' + cookieSameSite + ';';
118
119
  }
119
120
  }
121
+
120
122
  },
121
- get: function (name) {
122
- var nameEQ = name + "=";
123
- var ca = document.cookie.split(';');
124
- for (var i = 0; i < ca.length; i++) {
125
- var c = ca[i];
126
- while (c.charAt(0) === ' ') {
127
- c = c.substring(1, c.length);
128
- }
129
- if (c.indexOf(nameEQ) === 0) {
130
- var value_encoded = c.substring(nameEQ.length, c.length);
131
- var value = window.atob(value_encoded);
132
- return value;
123
+
124
+ get: (name) => {
125
+ var nameEQ = name + "=";
126
+ var ca = document.cookie.split(';');
127
+
128
+ for (var i = 0; i < ca.length; i++) {
129
+ var c = ca[i];
130
+ while (c.charAt(0) === ' ') {
131
+ c = c.substring(1, c.length);
132
+ }
133
+
134
+ if (c.indexOf(nameEQ) === 0) {
135
+ var value_encoded = c.substring(nameEQ.length, c.length);
136
+ var value = window.atob(value_encoded);
137
+ return value;
138
+ }
133
139
  }
134
- }
135
- return undefined;
140
+
141
+ return undefined;
136
142
  }
137
143
  };
138
144
 
@@ -0,0 +1,147 @@
1
+ /*! js-cookie v3.0.5 | MIT */
2
+ ;
3
+ (function (global, factory) {
4
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
5
+ typeof define === 'function' && define.amd ? define(factory) :
6
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {
7
+ var current = global.Cookies;
8
+ var exports = global.Cookies = factory();
9
+ exports.noConflict = function () { global.Cookies = current; return exports; };
10
+ })());
11
+ })(this, (function () { 'use strict';
12
+
13
+ /* eslint-disable no-var */
14
+ function assign (target) {
15
+ for (var i = 1; i < arguments.length; i++) {
16
+ var source = arguments[i];
17
+ for (var key in source) {
18
+ target[key] = source[key];
19
+ }
20
+ }
21
+ return target
22
+ }
23
+ /* eslint-enable no-var */
24
+
25
+ /* eslint-disable no-var */
26
+ var defaultConverter = {
27
+ read: function (value) {
28
+ if (value[0] === '"') {
29
+ value = value.slice(1, -1);
30
+ }
31
+ return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
32
+ },
33
+ write: function (value) {
34
+ return encodeURIComponent(value).replace(
35
+ /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
36
+ decodeURIComponent
37
+ )
38
+ }
39
+ };
40
+ /* eslint-enable no-var */
41
+
42
+ /* eslint-disable no-var */
43
+
44
+ function init (converter, defaultAttributes) {
45
+ function set (name, value, attributes) {
46
+ if (typeof document === 'undefined') {
47
+ return
48
+ }
49
+
50
+ attributes = assign({}, defaultAttributes, attributes);
51
+
52
+ if (typeof attributes.expires === 'number') {
53
+ attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
54
+ }
55
+ if (attributes.expires) {
56
+ attributes.expires = attributes.expires.toUTCString();
57
+ }
58
+
59
+ name = encodeURIComponent(name)
60
+ .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
61
+ .replace(/[()]/g, escape);
62
+
63
+ var stringifiedAttributes = '';
64
+ for (var attributeName in attributes) {
65
+ if (!attributes[attributeName]) {
66
+ continue
67
+ }
68
+
69
+ stringifiedAttributes += '; ' + attributeName;
70
+
71
+ if (attributes[attributeName] === true) {
72
+ continue
73
+ }
74
+
75
+ // Considers RFC 6265 section 5.2:
76
+ // ...
77
+ // 3. If the remaining unparsed-attributes contains a %x3B (";")
78
+ // character:
79
+ // Consume the characters of the unparsed-attributes up to,
80
+ // not including, the first %x3B (";") character.
81
+ // ...
82
+ stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
83
+ }
84
+
85
+ return (document.cookie =
86
+ name + '=' + converter.write(value, name) + stringifiedAttributes)
87
+ }
88
+
89
+ function get (name) {
90
+ if (typeof document === 'undefined' || (arguments.length && !name)) {
91
+ return
92
+ }
93
+
94
+ // To prevent the for loop in the first place assign an empty array
95
+ // in case there are no cookies at all.
96
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
97
+ var jar = {};
98
+ for (var i = 0; i < cookies.length; i++) {
99
+ var parts = cookies[i].split('=');
100
+ var value = parts.slice(1).join('=');
101
+
102
+ try {
103
+ var found = decodeURIComponent(parts[0]);
104
+ jar[found] = converter.read(value, found);
105
+
106
+ if (name === found) {
107
+ break
108
+ }
109
+ } catch (e) {}
110
+ }
111
+
112
+ return name ? jar[name] : jar
113
+ }
114
+
115
+ return Object.create(
116
+ {
117
+ set,
118
+ get,
119
+ remove: function (name, attributes) {
120
+ set(
121
+ name,
122
+ '',
123
+ assign({}, attributes, {
124
+ expires: -1
125
+ })
126
+ );
127
+ },
128
+ withAttributes: function (attributes) {
129
+ return init(this.converter, assign({}, this.attributes, attributes))
130
+ },
131
+ withConverter: function (converter) {
132
+ return init(assign({}, this.converter, converter), this.attributes)
133
+ }
134
+ },
135
+ {
136
+ attributes: { value: Object.freeze(defaultAttributes) },
137
+ converter: { value: Object.freeze(converter) }
138
+ }
139
+ )
140
+ }
141
+
142
+ var api = init(defaultConverter, { path: '/' });
143
+ /* eslint-enable no-var */
144
+
145
+ return api;
146
+
147
+ }));
@@ -0,0 +1,2 @@
1
+ /*! js-cookie v3.0.5 | MIT */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e.Cookies,o=e.Cookies=t();o.noConflict=function(){return e.Cookies=n,o}}())}(this,(function(){"use strict";function e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)e[o]=n[o]}return e}var t=function t(n,o){function r(t,r,i){if("undefined"!=typeof document){"number"==typeof(i=e({},o,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var u in i)i[u]&&(c+="; "+u,!0!==i[u]&&(c+="="+i[u].split(";")[0]));return document.cookie=t+"="+n.write(r,t)+c}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var t=document.cookie?document.cookie.split("; "):[],o={},r=0;r<t.length;r++){var i=t[r].split("="),c=i.slice(1).join("=");try{var u=decodeURIComponent(i[0]);if(o[u]=n.read(c,u),e===u)break}catch(e){}}return e?o[e]:o}},remove:function(t,n){r(t,"",e({},n,{expires:-1}))},withAttributes:function(n){return t(this.converter,e({},this.attributes,n))},withConverter:function(n){return t(e({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(o)},converter:{value:Object.freeze(n)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"});return t}));
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2024.2.0'
2
+ VERSION = '2024.2.1'
3
3
  end
@@ -379,7 +379,7 @@ This command creates a **initial** project in folder **my-starter**.
379
379
  2023-02-28 18:12:12 - GENERATE: Resolving dependencies...
380
380
  2023-02-28 18:12:12 - GENERATE: Using bundler 2.3.7
381
381
  ...
382
- 2023-02-28 18:12:12 - GENERATE: Using j1-template 2024.2.0
382
+ 2023-02-28 18:12:12 - GENERATE: Using j1-template 2024.2.1
383
383
  2023-02-28 18:12:12 - GENERATE: Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
384
384
  2023-02-28 18:12:12 - GENERATE: Bundled gems are installed into `../../.gem`
385
385
  2023-02-28 18:12:12 - GENERATE: C:/Users/xxx/.gem/ruby/3.1.0;C:/DevTools/Ruby31-x64/lib/ruby/gems/3.1.0;
@@ -415,7 +415,7 @@ commands are available as well.
415
415
  2023-02-28 18:17:48 - SETUP: Initialize the project ...
416
416
  2023-02-28 18:17:48 - SETUP: Be patient, this will take a while ...
417
417
  2023-02-28 18:17:49 - SETUP:
418
- 2023-02-28 18:17:49 - SETUP: > j1@2024.2.0 setup C:\Users\xxx\j1-projects\my-starter
418
+ 2023-02-28 18:17:49 - SETUP: > j1@2024.2.1 setup C:\Users\xxx\j1-projects\my-starter
419
419
  2023-02-28 18:17:49 - SETUP: > npm --silent run setup-start && npm --silent run setup-base && run-s -s setup:*
420
420
  2023-02-28 18:17:49 - SETUP:
421
421
  2023-02-28 18:17:50 - SETUP: Setup project for first use ..
@@ -460,7 +460,7 @@ browser. Let's start the journey ...
460
460
  Check setup state of the J1 project ...
461
461
  2023-02-28 18:26:18 - SITE: Starting up your site ...
462
462
  2023-02-28 18:26:18 - SITE:
463
- 2023-02-28 18:26:18 - SITE: > j1@2024.2.0 j1-site C:\Users\jadams\j1-projects\my-starter
463
+ 2023-02-28 18:26:18 - SITE: > j1@2024.2.1 j1-site C:\Users\jadams\j1-projects\my-starter
464
464
  2023-02-28 18:26:18 - SITE: > run-p -s j1-site:*
465
465
  2023-02-28 18:26:18 - SITE:
466
466
  2023-02-28 18:26:20 - SITE: Startup UTILSRV ..
@@ -499,7 +499,7 @@ Check setup state of the J1 project ...
499
499
  REBUILD: Rebuild the projects website ...
500
500
  REBUILD: Be patient, this will take a while ...
501
501
  2023-02-28 18:45:09 - REBUILD:
502
- 2023-02-28 18:45:09 - REBUILD: > j1@2024.2.0 rebuild C:\Users\xxx\j1-projects\my-starter
502
+ 2023-02-28 18:45:09 - REBUILD: > j1@2024.2.1 rebuild C:\Users\xxx\j1-projects\my-starter
503
503
  2023-02-28 18:45:09 - REBUILD: > run-s -s rebuild:* && run-s -s post-rebuild:*
504
504
  2023-02-28 18:45:09 - REBUILD:
505
505
  2023-02-28 18:45:10 - REBUILD: Rebuild site incremental ..
@@ -547,7 +547,7 @@ using Lerna for all packages:
547
547
  2023-02-28 18:29:07 - RESET: Reset the project to factory state ...
548
548
  2023-02-28 18:29:07 - RESET: Be patient, this will take a while ...
549
549
  2023-02-28 18:29:08 - RESET:
550
- 2023-02-28 18:29:08 - RESET: > j1@2024.2.0 reset C:\Users\xxx\j1-projects\my-starter
550
+ 2023-02-28 18:29:08 - RESET: > j1@2024.2.1 reset C:\Users\xxx\j1-projects\my-starter
551
551
  2023-02-28 18:29:08 - RESET: > run-s -s reset:*
552
552
  2023-02-28 18:29:08 - RESET:
553
553
  2023-02-28 18:29:08 - RESET: Reset project to factory state ..
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of the site
55
55
  #
56
- version: 2024.2.0
56
+ version: 2024.2.1
57
57
 
58
58
  # copyright
59
59
  # ------------------------------------------------------------------------------
@@ -1,171 +1,171 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_data/modules/defaults/themes.yml
3
- # Default configuration settings for J1 themes
4
- #
5
- # Product/Info:
6
- # https://jekyll.one
7
- #
8
- # Copyright (C) 2023, 2024 Juergen Adams
9
- #
10
- # J1 Template is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
12
- # ------------------------------------------------------------------------------
13
-
14
- # ------------------------------------------------------------------------------
15
- # Description
16
- #
17
- description:
18
- title: Themes
19
- scope: Default settings
20
- location: _data/modules/defaults/themes.yml
21
-
22
- # ------------------------------------------------------------------------------
23
- # Default configuration settings
24
- #
25
- defaults:
26
-
27
- # ----------------------------------------------------------------------------
28
- # Themes options
29
- # ----------------------------------------------------------------------------
30
- #
31
- # enabled
32
- # --------------------------------------------------------------------------
33
- # Enables|Disables the use of J1 Themes
34
- #
35
- # values: boolean (true|false)
36
- # default: false
37
- #
38
- # debug
39
- # --------------------------------------------------------------------------
40
- # Enables|Disables the console log
41
- #
42
- # values: boolean (true|false)
43
- # default: false
44
- #
45
- # ----------------------------------------------------------------------------
46
- enabled: false
47
- debug: false
48
- saveToCookie: true
49
-
50
- # ----------------------------------------------------------------------------
51
- # Themes settings
52
- # ----------------------------------------------------------------------------
53
- #
54
- # cssThemeLink
55
- # --------------------------------------------------------------------------
56
- # The ID used for the bootstrap theme css file
57
- #
58
- # values: string
59
- # default: bootstrapTheme
60
- #
61
- # saveToCookie
62
- # --------------------------------------------------------------------------
63
- # If true, a cookie will be saved with the currently selected theme
64
- #
65
- # values: boolean (true|false)
66
- # default: true
67
- #
68
- # cookieThemeName
69
- # --------------------------------------------------------------------------
70
- # The name of the cookie to be used to store the theme name
71
- #
72
- # values: string
73
- # default: bootstrapTheme.name
74
- #
75
- # cookieDefaultThemeName
76
- # --------------------------------------------------------------------------
77
- # The name of the cookie to be used to store the default theme name
78
- #
79
- # values: string
80
- # default: bootstrapDefaultTheme.name
81
- #
82
- # cookieThemeCss
83
- # --------------------------------------------------------------------------
84
- # The name of the cookie to be used to store the css file name
85
- # used for the theme
86
- #
87
- # values: string
88
- # default: bootstrapTheme.css
89
- #
90
- # cookieExpiration
91
- # --------------------------------------------------------------------------
92
- # The number of days the cookies should expire
93
- #
94
- # values: integer
95
- # default: 7
96
- #
97
- # cookiePath
98
- # --------------------------------------------------------------------------
99
- # The path the cookie should be stored
100
- #
101
- # values: string (path)
102
- # default: /
103
- #
104
- # defaultCssFile
105
- # --------------------------------------------------------------------------
106
- # The default css file the plugin should use if it can not load
107
- # the themes from Bootswatch
108
- #
109
- # values: string (URI)
110
- # default: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css
111
- #
112
- # bootswatchApiUrl
113
- # --------------------------------------------------------------------------
114
- # The url for the bootswatch api
115
- #
116
- # values: string (URI)
117
- # default: http://api.bootswatch.com
118
- #
119
- # bootswatchApiVersion
120
- # --------------------------------------------------------------------------
121
- # The version of the bootswatch api to use
122
- #
123
- # values: integer
124
- # default: 3
125
- #
126
- # localFeed
127
- # --------------------------------------------------------------------------
128
- # The path to a JSON file that contains the themes you want to use.
129
- # If this parameter is used, the control will be loaded the themes
130
- # from here and not go to the bootswatchApiUrl. A sample of the json
131
- # file can be found at themes.json
132
- #
133
- # values: string
134
- # default: empty string
135
- #
136
- # excludeBootswatch
137
- # --------------------------------------------------------------------------
138
- # Comma separated list of BootSwatch names (e.g. Slate,Yeti) that
139
- # should be excluded from the rendered <ul> or <select>
140
- #
141
- # values: string
142
- # default: empty string
143
- #
144
- # hideOnReload
145
- # --------------------------------------------------------------------------
146
- # Number of milliseconds (msec) the current page is hidden (display: none)
147
- # to prevent "DOM flicker" aka "FOUC" (Flash of unstyled content) while
148
- # the css file is loaded|activated
149
- #
150
- # values: integer
151
- # default: 150
152
- #
153
- # ----------------------------------------------------------------------------
154
- reloadPageOnChange: false # reload current page, if theme has been changed
155
- retries: 30 # retry to load theme list from API
156
- preview_page: /pages/public/tools/previewer/current_theme/
157
- menu_icon_family: mdib
158
- menu_icon_color: var(--md-gray-500)
159
- menu_icon_size: mdib-sm
160
- cssThemeLink: bootstrapTheme
161
- defaultCssFile: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
162
- bootswatchApiUrl: "https://bootswatch.com/api"
163
- bootswatchApiVersion: 5
164
- loadFromBootswatch: true
165
- localThemes: /assets/data/themes.json
166
- excludeBootswatch: "Default, default, Lux, Sketchy"
167
- includeBootswatch:
168
- skipIncludeBootswatch:
169
-
170
- # ------------------------------------------------------------------------------
171
- # END config
1
+ # ------------------------------------------------------------------------------
2
+ # ~/_data/modules/defaults/themes.yml
3
+ # Default configuration settings for J1 themes
4
+ #
5
+ # Product/Info:
6
+ # https://jekyll.one
7
+ #
8
+ # Copyright (C) 2023, 2024 Juergen Adams
9
+ #
10
+ # J1 Template is licensed under the MIT License.
11
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
12
+ # ------------------------------------------------------------------------------
13
+
14
+ # ------------------------------------------------------------------------------
15
+ # Description
16
+ #
17
+ description:
18
+ title: Themes
19
+ scope: Default settings
20
+ location: _data/modules/defaults/themes.yml
21
+
22
+ # ------------------------------------------------------------------------------
23
+ # Default configuration settings
24
+ #
25
+ defaults:
26
+
27
+ # ----------------------------------------------------------------------------
28
+ # Themes options
29
+ # ----------------------------------------------------------------------------
30
+ #
31
+ # enabled
32
+ # --------------------------------------------------------------------------
33
+ # Enables|Disables the use of J1 Themes
34
+ #
35
+ # values: boolean (true|false)
36
+ # default: false
37
+ #
38
+ # debug
39
+ # --------------------------------------------------------------------------
40
+ # Enables|Disables the console log
41
+ #
42
+ # values: boolean (true|false)
43
+ # default: false
44
+ #
45
+ # ----------------------------------------------------------------------------
46
+ enabled: false
47
+ debug: false
48
+ saveToCookie: true
49
+
50
+ # ----------------------------------------------------------------------------
51
+ # Themes settings
52
+ # ----------------------------------------------------------------------------
53
+ #
54
+ # cssThemeLink
55
+ # --------------------------------------------------------------------------
56
+ # The ID used for the bootstrap theme css file
57
+ #
58
+ # values: string
59
+ # default: bootstrapTheme
60
+ #
61
+ # saveToCookie
62
+ # --------------------------------------------------------------------------
63
+ # If true, a cookie will be saved with the currently selected theme
64
+ #
65
+ # values: boolean (true|false)
66
+ # default: true
67
+ #
68
+ # cookieThemeName
69
+ # --------------------------------------------------------------------------
70
+ # The name of the cookie to be used to store the theme name
71
+ #
72
+ # values: string
73
+ # default: bootstrapTheme.name
74
+ #
75
+ # cookieDefaultThemeName
76
+ # --------------------------------------------------------------------------
77
+ # The name of the cookie to be used to store the default theme name
78
+ #
79
+ # values: string
80
+ # default: bootstrapDefaultTheme.name
81
+ #
82
+ # cookieThemeCss
83
+ # --------------------------------------------------------------------------
84
+ # The name of the cookie to be used to store the css file name
85
+ # used for the theme
86
+ #
87
+ # values: string
88
+ # default: bootstrapTheme.css
89
+ #
90
+ # cookieExpiration
91
+ # --------------------------------------------------------------------------
92
+ # The number of days the cookies should expire
93
+ #
94
+ # values: integer
95
+ # default: 7
96
+ #
97
+ # cookiePath
98
+ # --------------------------------------------------------------------------
99
+ # The path the cookie should be stored
100
+ #
101
+ # values: string (path)
102
+ # default: /
103
+ #
104
+ # defaultCssFile
105
+ # --------------------------------------------------------------------------
106
+ # The default css file the plugin should use if it can not load
107
+ # the themes from Bootswatch
108
+ #
109
+ # values: string (URI)
110
+ # default: https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css
111
+ #
112
+ # bootswatchApiUrl
113
+ # --------------------------------------------------------------------------
114
+ # The url for the bootswatch api
115
+ #
116
+ # values: string (URI)
117
+ # default: http://api.bootswatch.com
118
+ #
119
+ # bootswatchApiVersion
120
+ # --------------------------------------------------------------------------
121
+ # The version of the bootswatch api to use
122
+ #
123
+ # values: integer
124
+ # default: 3
125
+ #
126
+ # localFeed
127
+ # --------------------------------------------------------------------------
128
+ # The path to a JSON file that contains the themes you want to use.
129
+ # If this parameter is used, the control will be loaded the themes
130
+ # from here and not go to the bootswatchApiUrl. A sample of the json
131
+ # file can be found at themes.json
132
+ #
133
+ # values: string
134
+ # default: empty string
135
+ #
136
+ # excludeBootswatch
137
+ # --------------------------------------------------------------------------
138
+ # Comma separated list of BootSwatch names (e.g. Slate,Yeti) that
139
+ # should be excluded from the rendered <ul> or <select>
140
+ #
141
+ # values: string
142
+ # default: empty string
143
+ #
144
+ # hideOnReload
145
+ # --------------------------------------------------------------------------
146
+ # Number of milliseconds (msec) the current page is hidden (display: none)
147
+ # to prevent "DOM flicker" aka "FOUC" (Flash of unstyled content) while
148
+ # the css file is loaded|activated
149
+ #
150
+ # values: integer
151
+ # default: 150
152
+ #
153
+ # ----------------------------------------------------------------------------
154
+ reloadPageOnChange: false # reload current page, if theme has been changed
155
+ retries: 30 # retry to load theme list from API
156
+ preview_page: /pages/public/tools/previewer/current_theme/
157
+ menu_icon_family: mdib
158
+ menu_icon_color: var(--md-gray-500)
159
+ menu_icon_size: mdib-sm
160
+ cssThemeLink: bootstrapTheme
161
+ defaultCssFile: "https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
162
+ bootswatchApiUrl: "https://bootswatch.com/api"
163
+ bootswatchApiVersion: 5
164
+ loadFromBootswatch: true
165
+ localThemes: /assets/data/themes.json
166
+ excludeBootswatch: "Default, default, Lux, Sketchy"
167
+ includeBootswatch:
168
+ skipIncludeBootswatch:
169
+
170
+ # ------------------------------------------------------------------------------
171
+ # END config
@@ -1631,6 +1631,32 @@ resources:
1631
1631
  js: []
1632
1632
  init_function: [ j1.adapter.waves.init ]
1633
1633
 
1634
+ # ----------------------------------------------------------------------------
1635
+ # jsCookies
1636
+ # JavaScript API for handling cookies
1637
+ #
1638
+ # See: https://github.com/js-cookie/js-cookie/
1639
+ #
1640
+ - name: jsCookie
1641
+ resource:
1642
+ enabled: false
1643
+
1644
+ id: js-cookie
1645
+ comment: Module jsCookie
1646
+ region: head
1647
+ layout: [ all ]
1648
+ required: ondemand
1649
+ preload: false
1650
+ script_load: defer
1651
+ dependencies: false
1652
+ pass_init_data: false
1653
+
1654
+ data:
1655
+ css: []
1656
+ files: []
1657
+ js: [ modules/js-cookies/js/js.cookie ]
1658
+ init_function: []
1659
+
1634
1660
  # ----------------------------------------------------------------------------
1635
1661
  # Particles
1636
1662
  #
@@ -57,7 +57,7 @@
57
57
  <id>{{ page.url | absolute_url | xml_escape }}</id>
58
58
  <post_limited>{{ limit_posts }}</post_limited>
59
59
  <template_name>J1 Theme</template_name>
60
- <template_version>2024.2.0</template_version>
60
+ <template_version>2024.2.1</template_version>
61
61
 
62
62
  {% assign title = site.title | default: site.name %}
63
63
  {% if page.collection != "posts" %}