j1-template 2023.0.2 → 2023.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_collection.html +26 -74
  3. data/_includes/themes/j1/layouts/content_generator_post.html +8 -2
  4. data/_includes/themes/j1/layouts/layout_metadata_generator.html +6 -0
  5. data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +22 -22
  6. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +64 -19
  7. data/_includes/themes/j1/procedures/collections/pager.proc +127 -0
  8. data/_includes/themes/j1/procedures/posts/pager.proc +7 -3
  9. data/assets/data/banner.html +29 -18
  10. data/assets/data/panel.html +166 -120
  11. data/assets/themes/j1/adapter/js/navigator.js +77 -303
  12. data/assets/themes/j1/adapter/js/themer.js +106 -81
  13. data/assets/themes/j1/modules/themeSwitcher/js/_unsued/switcher.1.js +454 -0
  14. data/lib/j1/version.rb +1 -1
  15. data/lib/starter_web/Gemfile +3 -3
  16. data/lib/starter_web/README.md +5 -5
  17. data/lib/starter_web/_config.yml +23 -26
  18. data/lib/starter_web/_data/blocks/banner.yml +2 -1
  19. data/lib/starter_web/_data/blocks/panel.yml +7 -2
  20. data/lib/starter_web/_data/modules/attics.yml +2 -2
  21. data/lib/starter_web/_data/modules/defaults/navigator.yml +2 -2
  22. data/lib/starter_web/_data/modules/scroller.yml +5 -5
  23. data/lib/starter_web/_data/modules/themer.yml +0 -1
  24. data/lib/starter_web/_data/templates/feed.xml +1 -1
  25. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  26. data/lib/starter_web/assets/images/{triangles-bg.png → backgrounds/triangles-bg.png} +0 -0
  27. data/lib/starter_web/assets/images/icons/scalable/facebook.svg +34 -0
  28. data/lib/starter_web/assets/images/icons/scalable/google.svg +35 -0
  29. data/lib/starter_web/assets/images/icons/scalable/ibm.svg +24 -0
  30. data/lib/starter_web/assets/images/icons/scalable/microsoft.svg +42 -0
  31. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +98 -0
  32. data/lib/starter_web/collections/_biography/becoming.adoc +89 -0
  33. data/lib/starter_web/collections/_biography/born-to-run.adoc +92 -0
  34. data/lib/starter_web/collections/_biography/forty-autumns.adoc +91 -0
  35. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +85 -0
  36. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +88 -0
  37. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +90 -0
  38. data/lib/starter_web/package.json +2 -1
  39. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -0
  40. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -0
  41. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -0
  42. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -0
  43. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -1
  44. data/lib/starter_web/pages/public/bookshelf/viewer_biography.adoc +62 -0
  45. data/lib/starter_web/pages/public/bookshelf/whats_up.adoc +287 -0
  46. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -0
  47. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  48. data/lib/starter_web/utilsrv/package.json +1 -1
  49. metadata +18 -11
  50. data/assets/themes/j1/core/css/icon-fonts/materialdesign-light.css +0 -1222
  51. data/assets/themes/j1/core/css/icon-fonts/materialdesign-light.min.css +0 -1
  52. data/assets/themes/j1/core/css/icon-fonts/materialdesign.css +0 -22307
  53. data/assets/themes/j1/core/css/icon-fonts/materialdesign.min.css +0 -1
  54. data/assets/themes/j1/core/css/icon-fonts/twemoji.css +0 -9499
  55. data/assets/themes/j1/core/css/icon-fonts/twemoji.min.css +0 -1
  56. data/assets/themes/j1/core/css/themes/theme_vapor/bootstrap.css +0 -8876
  57. data/assets/themes/j1/core/css/themes/theme_vapor/bootstrap.min.css +0 -5
@@ -0,0 +1,454 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/assets/themes/j1/modules/bsThemeSwitcher/js/switcher.js
4
+ # Provides Javascript functions for Bootstrap ThemeSwitcher
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ # https://github.com/jguadagno/bootstrapThemeSwitcher
9
+ #
10
+ # Copyright (C) 2023 Juergen Adams
11
+ # Copyright (C) 2014 Joseph Guadagno
12
+ #
13
+ # J1 Theme is licensed under the MIT License.
14
+ # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
15
+ # Bootstrap Theme Switcher is licensed under the MIT License.
16
+ # See: https://github.com/jguadagno/bootstrapThemeSwitcher
17
+ # -----------------------------------------------------------------------------
18
+ # NOTE: This modules is MODIFIED to be used with MobileMenu (mmenuLight).
19
+ # The original version cannot be used with J1 for theme menu creation!
20
+ # -----------------------------------------------------------------------------
21
+ */
22
+
23
+ // -----------------------------------------------------------------------------
24
+ // ESLint shimming
25
+ // -----------------------------------------------------------------------------
26
+ /* eslint indent: "off" */
27
+ /* eslint no-console: ["error", { allow: ["log", "warn", "error"] }] */
28
+ /* eslint no-unused-vars: "off" */
29
+ /* eslint no-undef: "off" */
30
+ /* eslint no-useless-escape: "off" */
31
+ /* eslint no-prototype-builtins: "off" */
32
+ /* eslint no-shadow-restricted-names: "off" */
33
+ /* global jQuery */
34
+ /* global Cookies */
35
+ // -----------------------------------------------------------------------------
36
+
37
+ /**
38
+ * jQuery Twitter Bootstrap Theme Switcher v1.1.5
39
+ * https://github.com/jguadagno/bootstrapThemeSwitcher
40
+ *
41
+ * Copyright 2014, Joseph Guadagno
42
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
43
+ */
44
+
45
+ 'use strict';
46
+ ;(function ($, window, document, undefined) {
47
+
48
+ var old = $.fn.bootstrapThemeSwitcher;
49
+
50
+ var cookie_names = j1.getCookieNames();
51
+ var gaCookies = j1.findCookie('_ga');
52
+ var j1Cookies = j1.findCookie('j1');
53
+ var url = new liteURL(window.location.href);
54
+ var hostname = url.hostname;
55
+ var domain = hostname.substring(hostname.lastIndexOf('.', hostname.lastIndexOf('.') - 1) + 1);
56
+ var secure = (url.protocol.includes('https')) ? true : false;
57
+
58
+ var logger = log4javascript.getLogger('j1.core.switcher');
59
+ var logText;
60
+
61
+ var user_state_detected;
62
+ var user_state = {};
63
+ var user_state_json;
64
+ var user_state_cookie;
65
+
66
+ // Constructor
67
+ // ---------------------------------------------------------------------------
68
+ var BootstrapThemeSwitcher = function (element, options) {
69
+
70
+ this.$element = $(element);
71
+ this.settings = $.extend({}, $.fn.bootstrapThemeSwitcher.defaults, options);
72
+ this.themesList = [];
73
+
74
+ // loading local themes
75
+ this.getThemes();
76
+ return this;
77
+ };
78
+
79
+ // Prototype
80
+ // ---------------------------------------------------------------------------
81
+ BootstrapThemeSwitcher.prototype = {
82
+ clear: function () {
83
+ logger.debug('\n' + 'bootstrapThemeSwitcher.clear');
84
+ return this.$element.each(function () {
85
+ this.$element.empty();
86
+ });
87
+ },
88
+ update: function () {
89
+ logger.debug('\n' + 'bootstrapThemeSwitcher.update');
90
+ this.getThemes();
91
+ },
92
+
93
+ // -------------------------------------------------------------------------
94
+ // checkStyleSheetByName
95
+ // -------------------------------------------------------------------------
96
+ checkStyleSheetByName: function (name) {
97
+ var found = false;
98
+ var test = '\/' + name + '\/';
99
+ var re = new RegExp(test, 'i');
100
+
101
+ for(var i = 0; i < document.styleSheets.length; i++){
102
+ if(re.test(document.styleSheets[i].href)){
103
+ found=true;
104
+ break;
105
+ }
106
+ }
107
+ return found;
108
+ },
109
+
110
+ // -------------------------------------------------------------------------
111
+ // switchTheme
112
+ // -------------------------------------------------------------------------
113
+ // NOTE:
114
+ // For J1 Theme, switchTheme set only the cookies contents. The theme
115
+ // switch is done by a page reload. The reload triggers the theme_generator
116
+ // to load theme CSS from cookies, finally.
117
+ // -------------------------------------------------------------------------
118
+ switchTheme: function (name, cssFile) {
119
+
120
+ var $this = $(this);
121
+ var settings = $.extend({}, $.fn.bootstrapThemeSwitcher.defaults, $this.data('bootstrapThemeSwitcher'));
122
+ var id = settings.cssThemeLink;
123
+ var debug = settings.debug;
124
+ var includeCSS = this.settings.includeBootswatch;
125
+ var themeName;
126
+ var theme_css;
127
+
128
+ // detect|set user state cookie
129
+ user_state_detected = j1.existsCookie (cookie_names.user_state);
130
+ if ( user_state_detected ) {
131
+ logger.debug('\n' + 'cookie found: ' + cookie_names.user_state);
132
+ user_state = j1.readCookie(cookie_names.user_state);
133
+ } else {
134
+ logger.error('\n' + 'cookie not found: ' + cookie_names.user_state);
135
+ logger.debug('\n' + 'j1 cookies found:' + j1Cookies.length);
136
+ j1Cookies.forEach(function (item) {console.log('j1.core.switcher: ' + item);});
137
+ logger.debug('\n' + 'ga cookies found:' + gaCookies.length);
138
+ gaCookies.forEach(function (item) {console.log('j1.core.switcher: ' + item);});
139
+ }
140
+
141
+ themeName = user_state.theme_name;
142
+ theme_css = user_state.theme_css;
143
+ var theme_css_html = '<link rel="stylesheet" id="' + id + '" href="' + user_state.theme_css + '" type="text/css" />';
144
+
145
+ $('head').append(theme_css_html);
146
+
147
+ if (typeof cssFile === 'undefined') { cssFile = this.settings.defaultCssFile; }
148
+ if (typeof name === 'undefined') { name = cssFile; }
149
+
150
+ // check if theme is to be saved to cookie
151
+ if (settings.saveToCookie) {
152
+ if ( typeof Cookies === 'undefined' ) {
153
+ if ( debug === 'true' ) {
154
+ logger.error('\n' + 'cookies library not present');
155
+ }
156
+ return false;
157
+ }
158
+
159
+ user_state.theme_name = name;
160
+ user_state.theme_css = cssFile;
161
+
162
+ if (!(user_state.theme_name.includes('Uno') || user_state.theme_name == 'Bootstrap')) {
163
+ user_state.theme_author = 'Bootswatch';
164
+ user_state.theme_author_url = 'https://bootswatch.com/';
165
+ } else {
166
+ user_state.theme_author = 'J1 Team';
167
+ user_state.theme_author_url = 'https://jekyll.one/';
168
+ }
169
+
170
+ logger.debug('\n' + 'write to cookie : ' + cookie_names.user_state);
171
+ j1.writeCookie({
172
+ name: cookie_names.user_state,
173
+ data: user_state,
174
+ secure: secure,
175
+ expires: 365
176
+ });
177
+
178
+ // reload current page (skip cache)
179
+ // location.reload(true);
180
+ } else {
181
+ logger.debug('\n' + 'write to cookie : disabled');
182
+ logger.warn('\n' + 'selected theme not activated: ' + name);
183
+ } // END if saveToCookie
184
+
185
+ }, // END switchTheme
186
+
187
+ // -------------------------------------------------------------------------
188
+ // loadThemeFromCookie
189
+ // -------------------------------------------------------------------------
190
+ loadThemeFromCookie: function (options) {
191
+
192
+ if ( typeof Cookies === 'undefined' ) {
193
+ logger.error('\n' + 'cookies library not present');
194
+ return false;
195
+ }
196
+
197
+ var settings = $.extend({}, $.fn.bootstrapThemeSwitcher.defaults, options);
198
+
199
+ // detect|set user state cookie
200
+ user_state_detected = j1.existsCookie (cookie_names.user_state);
201
+
202
+ if ( user_state_detected ) {
203
+ logger.info('\n' + 'cookie found: ' + cookie_names.user_state);
204
+ user_state = j1.readCookie(cookie_names.user_state);
205
+ } else {
206
+ logger.error('\n' + 'cookie not found: ' + cookie_names.user_state);
207
+ logger.debug('\n' + 'j1 cookies found:' + j1Cookies.length);
208
+ j1Cookies.forEach(function (item) {console.log('j1.core.switcher: ' + item);});
209
+ logger.debug('\n' + 'ga cookies found:' + gaCookies.length);
210
+ gaCookies.forEach(function (item) {console.log('j1.core.switcher: ' + item);});
211
+ }
212
+
213
+ var themeName = user_state.theme_name;
214
+ var themeCss = user_state.theme_css;
215
+ this.switchTheme(themeName, themeCss);
216
+
217
+ }, // END loadThemeFromCookie
218
+
219
+ // -------------------------------------------------------------------------
220
+ // addTheme
221
+ // -------------------------------------------------------------------------
222
+ addTheme: function(name, cssFile, start, deleteCount) {
223
+ if (typeof start === 'undefined') { start = 0; }
224
+ if (typeof deleteCount === 'undefined') { deleteCount = 0; }
225
+ this.themesList.splice(start, deleteCount, {name: name, css: cssFile});
226
+ this.addThemesToControl();
227
+ }, // END addTheme
228
+
229
+ // -------------------------------------------------------------------------
230
+ // addThemesToControl
231
+ // -------------------------------------------------------------------------
232
+ addThemesToControl: function() {
233
+ if (typeof this.$element === 'undefined') {
234
+ logger.error('\n' + 'bootstrapThemeSelector|addThemesToControl: Element is undefined');
235
+ return false;
236
+ }
237
+ if (typeof this.themesList === 'undefined') {
238
+ logger.error('\n' + 'bootstrapThemeSelector|addThemesToControl: Themes is undefined');
239
+ return false;
240
+ }
241
+
242
+ // if BootSwatch excludes are set
243
+ if(this.settings.excludeBootswatch){
244
+ var excludeBootswatchs;
245
+ // split the string on ,
246
+ if(this.settings.excludeBootswatch.indexOf(',') !== -1){
247
+ excludeBootswatchs = this.settings.excludeBootswatch.replace(/ /g, '').split(',');
248
+ } else {
249
+ excludeBootswatchs = [];
250
+ excludeBootswatchs.push(this.settings.excludeBootswatch);
251
+ }
252
+
253
+ var tempThemeList = this.themesList;
254
+ $.each(tempThemeList, function (i, value) {
255
+ if(value && value.name){
256
+ if( $.inArray( value.name, excludeBootswatchs ) !== -1 ){
257
+ tempThemeList.splice(i,1);
258
+ }
259
+ }
260
+ });
261
+ this.themesList = tempThemeList;
262
+ }
263
+
264
+ var base = this;
265
+
266
+ if (this.$element.is('ul')) {
267
+ var $this = $(this);
268
+ var settings = $.extend({}, $.fn.bootstrapThemeSwitcher.defaults, $this.data('bootstrapThemeSwitcher'));
269
+ var id = settings.cssThemeLink;
270
+ var debug = settings.debug;
271
+ var themeName;
272
+
273
+ // detect|set user state cookie
274
+ user_state_detected = j1.existsCookie (cookie_names.user_state);
275
+ if ( user_state_detected ) {
276
+ logger.debug('\n' + 'user state cookie found');
277
+ user_state = j1.readCookie(cookie_names.user_state);
278
+ } else {
279
+ logger.error('\n' + 'user state NOT cookie found');
280
+ logger.debug('\n' + 'j1 cookies found:' + j1Cookies.length);
281
+ j1Cookies.forEach(function (item) {console.log('j1.core.switcher: ' + item);});
282
+ logger.debug('\n' + 'ga cookies found:' + gaCookies.length);
283
+ gaCookies.forEach(function (item) {console.log('j1.core.switcher: ' + item);});
284
+ }
285
+
286
+ themeName = user_state.theme_name;
287
+
288
+ if ( debug === 'true' ) {
289
+ logger.debug('\n' + 'bootstrapThemeSelector: UL element selected');
290
+ }
291
+ this.$element.empty();
292
+
293
+ var cssClass;
294
+ var iconColor = '#9E9E9E';
295
+ $.each(this.themesList, function (i, value) {
296
+ // Use DIFFERENT class for MobileMenu
297
+ //if (base.$element[0].id.includes('MMenu')) {
298
+ if (base.$element[0].id.includes('mmenu')) {
299
+ cssClass = 'mmenu-item';
300
+ } else {
301
+ cssClass = 'dropdown-item';
302
+ }
303
+ // Add class "active" to the current theme selected
304
+ if ( value.name === themeName ) {
305
+ // if (base.$element[0].id.includes('MMenu')) {
306
+ if (base.$element[0].id.includes('mmenu')) {
307
+ cssClass = 'mmenu-item active';
308
+ } else {
309
+ cssClass = 'dropdown-item active';
310
+ }
311
+ }
312
+ var li = $('<li />')
313
+ .attr('class',cssClass)
314
+ .append('<a class="link-no-decoration" href="#"><i class="mdi mdi-view-quilt mdi-18px mr-2" style="color: ' +iconColor+ '"></i>' +value.name+ '</a>')
315
+ .on('click', function () {
316
+ if (settings.loadFromBootswatch) {
317
+ base.switchTheme(value.name, value.css);
318
+ } else {
319
+ base.switchTheme(value.name, value.cssCdn);
320
+ }
321
+ // remove previous "active" class and apply to latest clicked element
322
+ $(this).parent().find('li').removeClass('active');
323
+ $(this).addClass('active');
324
+ });
325
+ base.$element.append(li);
326
+ });
327
+
328
+ } else if (this.$element.is('select')) {
329
+ logger.debug('\n' + 'bootstrapThemeSelector: SELECT element selected');
330
+ this.$element.empty();
331
+
332
+ var optionSelectedMarker;
333
+ $.each(this.themesList, function (i, value) {
334
+ optionSelectedMarker = null;
335
+ if ( value.name === themeName ) {
336
+ optionSelectedMarker = 'selected';
337
+ }
338
+ if (settings.loadFromBootswatch) {
339
+ base.$element.append('<option ' + optionSelectedMarker + ' value=\'' + value.css + '\'>' + value.name + '</option>');
340
+ } else {
341
+ base.$element.append('<option ' + optionSelectedMarker + ' value=\'' + value.cssCdn + '\'>' + value.name + '</option>');
342
+ }
343
+ });
344
+ this.$element.on('change', function () {
345
+ var optionSelected = $('option:selected', this);
346
+ base.switchTheme(optionSelected.text(), optionSelected.val());
347
+ });
348
+
349
+ } else {
350
+ // no container found to add Theme list
351
+ logger.info('\n' + 'bootstrapThemeSelector: no UL or SELECT element found');
352
+ logger.error('\n' + 'bootstrapThemeSelector: failed');
353
+ // console.warn('bootstrapThemeSelector only works with ul or select elements');
354
+ }
355
+ }, // END addThemesToControl
356
+
357
+ // -------------------------------------------------------------------------
358
+ // getThemes
359
+ // -------------------------------------------------------------------------
360
+ getThemes: function() {
361
+ var base = this;
362
+
363
+ if (this.settings.localFeed !== null && this.settings.localFeed !== '') {
364
+ // Deferred loading themes from local themes (json file)
365
+ $.ajax({
366
+ url: this.settings.localFeed,
367
+ // jadams 2016-10-10: removed the setting for sychronous XMLHttpRequest
368
+ // async: false,
369
+ dataType: 'json',
370
+ success: function (data) {
371
+ base.themesList = data.themes;
372
+ base.addThemesToControl();
373
+ },
374
+ error: function (jqXHR, textStatus, errorThrown) {
375
+ logger.error('\n' + 'failed to retrieve the local feed from: \'' + base.settings.localFeed + '\'');
376
+ }
377
+ });
378
+ } else {
379
+ // Deferred loading remote themes from Bootswatch API
380
+ // -----------------------------------------------------------------------
381
+ $.ajax({
382
+ url: this.settings.bootswatchApiUrl + '/' + this.settings.bootswatchApiVersion + '.json',
383
+ // jadams 2016-10-10: removed the setting for sychronous XMLHttpRequest
384
+ // async: false,
385
+ dataType: 'json',
386
+ success: function (data) {
387
+ if (typeof data.themes === 'undefined') {
388
+ return null;
389
+ }
390
+ base.themesList = data.themes;
391
+ base.themesList.splice(0,0, {name: 'default', css: base.settings.defaultCssFile});
392
+ base.addThemesToControl();
393
+ }
394
+ });
395
+ }
396
+ }, // END getThemes
397
+
398
+ // -------------------------------------------------------------------------
399
+ // themes
400
+ // -------------------------------------------------------------------------
401
+ themes : function (newThemeList) {
402
+ if (typeof newThemeList === 'undefined') {
403
+ return this.themesList;
404
+ }
405
+ else {
406
+ // TODO: Set the associated control.
407
+ this.themesList = newThemeList;
408
+ }
409
+ } // END themes
410
+
411
+ }; // END prototype
412
+
413
+ // Plugin definition
414
+ // ---------------------------------------------------------------------------
415
+ $.fn.bootstrapThemeSwitcher = function (option) {
416
+ var methodReturn;
417
+ var args = Array.prototype.slice.call(arguments, 1);
418
+ var $this = $(this);
419
+ var data = $this.data('bootstrapThemeSwitcher');
420
+ var options = typeof option === 'object' && option;
421
+
422
+ if (!data) {
423
+ $this.data('bootstrapThemeSwitcher', (data = new BootstrapThemeSwitcher(this, options) ));
424
+ }
425
+ if (typeof option === 'string') {
426
+ methodReturn = data[ option ].apply(data, args);
427
+ }
428
+ return ( typeof methodReturn === 'undefined' ) ? $this : methodReturn;
429
+ };
430
+
431
+ $.fn.bootstrapThemeSwitcher.defaults = {
432
+ debug: false,
433
+ saveToCookie: true,
434
+ cssThemeLink: 'bootstrapTheme',
435
+ cookieThemeName: 'bootstrapTheme.name',
436
+ cookieThemeCss: 'boostrapTheme.css',
437
+ cookieExpiration: 365,
438
+ cookiePath: '/',
439
+ defaultCssFile: 'https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css',
440
+ bootswatchApiUrl: 'https://bootswatch.com/api/',
441
+ bootswatchApiVersion: '4',
442
+ loadFromBootswatch: true,
443
+ localFeed: '',
444
+ excludeBootswatch: ''
445
+ };
446
+
447
+ $.fn.bootstrapThemeSwitcher.Constructor = BootstrapThemeSwitcher;
448
+
449
+ $.fn.bootstrapThemeSwitcher.noConflict = function () {
450
+ $.fn.BootstrapThemeSwitcher = old;
451
+ return this;
452
+ };
453
+
454
+ })(jQuery, window, document);
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2023.0.2'
2
+ VERSION = '2023.0.5'
3
3
  end
@@ -75,11 +75,11 @@ end
75
75
  # Specify the THEME GEM used for the project
76
76
 
77
77
  # Loaded from RubyGems
78
- gem 'j1-template', '~> 2023.0.2'
78
+ gem 'j1-template', '~> 2023.0.0'
79
79
 
80
80
  # Loaded from gem.fury.io
81
81
  #source 'https://gem.fury.io/jekyll-one-org/' do
82
- # gem 'j1-template', '~> 2023.0.2'
82
+ # gem 'j1-template', '~> 2023.0.5'
83
83
  #end
84
84
 
85
85
  # ------------------------------------------------------------------------------
@@ -170,7 +170,7 @@ end
170
170
  # ------------------------------------------------------------------------------
171
171
  #
172
172
  # Required for Heroku, see support ticket: https://help.heroku.com/tickets/1198846
173
- gem 'sass-embedded', '~> 1.57.1'
173
+ # gem 'sass-embedded', '~> 1.57.1'
174
174
 
175
175
  gem 'sassc', '~> 2.4'
176
176
  gem 'bump', '~> 0.10'
@@ -380,7 +380,7 @@ This command creates a **initial** project in folder **my-starter**.
380
380
  2022-07-30 18:12:12 - GENERATE: Resolving dependencies...
381
381
  2022-07-30 18:12:12 - GENERATE: Using bundler 2.3.7
382
382
  ...
383
- 2022-07-30 18:12:12 - GENERATE: Using j1-template 2023.0.2
383
+ 2022-07-30 18:12:12 - GENERATE: Using j1-template 2023.0.5
384
384
  2022-07-30 18:12:12 - GENERATE: Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
385
385
  2022-07-30 18:12:12 - GENERATE: Bundled gems are installed into `../../.gem`
386
386
  2022-07-30 18:12:12 - GENERATE: C:/Users/xxx/.gem/ruby/3.1.0;C:/DevTools/Ruby31-x64/lib/ruby/gems/3.1.0;
@@ -416,7 +416,7 @@ commands are available as well.
416
416
  2022-07-30 18:17:48 - SETUP: Initialize the project ...
417
417
  2022-07-30 18:17:48 - SETUP: Be patient, this will take a while ...
418
418
  2022-07-30 18:17:49 - SETUP:
419
- 2022-07-30 18:17:49 - SETUP: > j1@2023.0.2 setup C:\Users\xxx\j1-projects\my-starter
419
+ 2022-07-30 18:17:49 - SETUP: > j1@2023.0.5 setup C:\Users\xxx\j1-projects\my-starter
420
420
  2022-07-30 18:17:49 - SETUP: > npm --silent run setup-start && npm --silent run setup-base && run-s -s setup:*
421
421
  2022-07-30 18:17:49 - SETUP:
422
422
  2022-07-30 18:17:50 - SETUP: Setup project for first use ..
@@ -461,7 +461,7 @@ browser. Let's start the journey ...
461
461
  Check setup state of the J1 project ...
462
462
  2022-07-30 18:26:18 - SITE: Starting up your site ...
463
463
  2022-07-30 18:26:18 - SITE:
464
- 2022-07-30 18:26:18 - SITE: > j1@2023.0.2 j1-site C:\Users\jadams\j1-projects\my-starter
464
+ 2022-07-30 18:26:18 - SITE: > j1@2023.0.5 j1-site C:\Users\jadams\j1-projects\my-starter
465
465
  2022-07-30 18:26:18 - SITE: > run-p -s j1-site:*
466
466
  2022-07-30 18:26:18 - SITE:
467
467
  2022-07-30 18:26:20 - SITE: Startup UTILSRV ..
@@ -500,7 +500,7 @@ Check setup state of the J1 project ...
500
500
  REBUILD: Rebuild the projects website ...
501
501
  REBUILD: Be patient, this will take a while ...
502
502
  2022-07-30 18:45:09 - REBUILD:
503
- 2022-07-30 18:45:09 - REBUILD: > j1@2023.0.2 rebuild C:\Users\xxx\j1-projects\my-starter
503
+ 2022-07-30 18:45:09 - REBUILD: > j1@2023.0.5 rebuild C:\Users\xxx\j1-projects\my-starter
504
504
  2022-07-30 18:45:09 - REBUILD: > run-s -s rebuild:* && run-s -s post-rebuild:*
505
505
  2022-07-30 18:45:09 - REBUILD:
506
506
  2022-07-30 18:45:10 - REBUILD: Rebuild site incremental ..
@@ -548,7 +548,7 @@ using Lerna for all packages:
548
548
  2022-07-30 18:29:07 - RESET: Reset the project to factory state ...
549
549
  2022-07-30 18:29:07 - RESET: Be patient, this will take a while ...
550
550
  2022-07-30 18:29:08 - RESET:
551
- 2022-07-30 18:29:08 - RESET: > j1@2023.0.2 reset C:\Users\xxx\j1-projects\my-starter
551
+ 2022-07-30 18:29:08 - RESET: > j1@2023.0.5 reset C:\Users\xxx\j1-projects\my-starter
552
552
  2022-07-30 18:29:08 - RESET: > run-s -s reset:*
553
553
  2022-07-30 18:29:08 - RESET:
554
554
  2022-07-30 18:29:08 - RESET: Reset project to factory state ..
@@ -45,7 +45,7 @@
45
45
  # Sets the build environment of the website
46
46
  #
47
47
  # values: development|production
48
- # default: production
48
+ # default: development
49
49
  #
50
50
  environment: development
51
51
 
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Theme Gem
55
55
  #
56
- version: 2023.0.2
56
+ version: 2023.0.5
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -411,8 +411,9 @@ strict_front_matter: false
411
411
  # Possible values: compact|compressed|expanded|nested
412
412
  #
413
413
  sass:
414
- sass_dir: _sass/scss
415
- style: expanded
414
+ sass_dir: _sass
415
+ style: compact # possible values: nested expanded compact compressed
416
+
416
417
 
417
418
  # ------------------------------------------------------------------------------
418
419
  # WEBRICK Customizations
@@ -484,7 +485,6 @@ plugins:
484
485
  - jekyll-asciidoc
485
486
  # - jekyll-gist
486
487
  # - jekyll-redirect-from
487
- # - jekyll-sass-converter
488
488
 
489
489
  # ------------------------------------------------------------------------------
490
490
  # ALGOLIA Search (Instantsearch)
@@ -633,27 +633,25 @@ defaults:
633
633
  height: 800
634
634
  alt: J1 Theme Home
635
635
 
636
+ icons:
637
+ family: MDI
638
+ color: md-blue
639
+ size: 5x
640
+
641
+ images:
642
+ dir: /assets/images/pages
643
+
636
644
  robots:
637
645
  index: true
638
646
  follow: true
639
647
 
640
648
  personalization: false
641
649
  exclude_from_search: false
642
-
650
+ fab_menu_id: page_ctrl
651
+ scrollbar: false
643
652
  youtube: true
644
653
  vimeo: true
645
-
646
654
  toc: true
647
- fab_menu_id: page_ctrl
648
- scrollbar: false
649
-
650
- icons:
651
- family: MDI
652
- color: md-blue
653
- size: 5x
654
-
655
- images:
656
- dir: /assets/images/pages
657
655
 
658
656
  resource_options:
659
657
  - toccer:
@@ -689,14 +687,14 @@ defaults:
689
687
  index: true
690
688
  follow: true
691
689
 
690
+ toc: true
691
+ fab_menu_id: open_toc_reload # default
692
+ scrollbar: false
692
693
  personalization: false
693
694
  exclude_from_search: false
695
+ page_navigation: true
694
696
  series: false
695
697
 
696
- toc: true
697
- fab_menu_id: default
698
- scrollbar: false
699
-
700
698
  resource_options:
701
699
  - toccer:
702
700
  collapseDepth: 3
@@ -727,18 +725,17 @@ defaults:
727
725
  index: true
728
726
  follow: true
729
727
 
730
- personalization: false
731
- exclude_from_search: false
732
-
733
728
  toc: true
734
- fab_menu_id: default
729
+ fab_menu_id: open_toc_reload # default
735
730
  scrollbar: false
731
+ personalization: false
732
+ exclude_from_search: false
733
+ page_navigation: true
736
734
 
737
735
  resource_options:
738
736
  - toccer:
739
737
  collapseDepth: 3
740
738
 
741
-
742
739
  # ==============================================================================
743
740
  # 7. LAYOUT configuration
744
741
  #
@@ -100,9 +100,10 @@ settings:
100
100
  enabled: true
101
101
  width: 12
102
102
  type: text
103
+ position: left # left | center
103
104
  title: Jekyll One Theme
104
- translate_title: notranslate # translate|notranslate
105
105
  tagline: <b>powerful modern static websites</b>
106
+ translate_description: notranslate # translate|notranslate
106
107
  description_properties: mt-3 mb-3
107
108
  description: >
108
109
  <p class="dropcap">