j1-template 2023.2.5 → 2023.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +1 -1
  3. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  4. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +4 -2
  5. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +3 -3
  6. data/_layouts/default.html +1 -1
  7. data/assets/data/banner.html +2 -2
  8. data/assets/themes/j1/adapter/js/attic.js +66 -60
  9. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +0 -1
  10. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  11. data/lib/j1/version.rb +1 -1
  12. data/lib/starter_web/README.md +5 -5
  13. data/lib/starter_web/_config.yml +1 -1
  14. data/lib/starter_web/_data/modules/attics.yml +3 -23
  15. data/lib/starter_web/_data/modules/defaults/attics.yml +6 -0
  16. data/lib/starter_web/_data/templates/feed.xml +1 -1
  17. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  18. data/lib/starter_web/assets/images/modules/attics/placeholder/1x1.png +0 -0
  19. data/lib/starter_web/assets/images/modules/attics/placeholder/transparent-1920x1280.png +0 -0
  20. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +1 -2
  21. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +0 -1
  22. data/lib/starter_web/index.html +3 -4
  23. data/lib/starter_web/package.json +1 -1
  24. data/lib/starter_web/pages/public/about/features.adoc +0 -3
  25. data/lib/starter_web/pages/public/about/reporting_issues.adoc +0 -2
  26. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -6
  27. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -5
  28. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +1 -6
  29. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -6
  30. data/lib/starter_web/pages/public/blog/navigator/index.html +0 -4
  31. data/lib/starter_web/pages/public/features/general.adoc +0 -4
  32. data/lib/starter_web/pages/public/features/template.adoc +0 -4
  33. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +0 -2
  34. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +0 -1
  35. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +0 -1
  36. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +0 -2
  37. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +0 -1
  38. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +0 -4
  39. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +0 -4
  40. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +0 -1
  41. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +0 -4
  42. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +0 -4
  43. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +0 -2
  44. data/lib/starter_web/pages/public/plans/plans.adoc +0 -2
  45. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +0 -3
  46. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  47. data/lib/starter_web/utilsrv/package.json +1 -1
  48. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d5ab1050367c71af4141b92f42032e5d5dca7a1851d904a086b7ff46c064966
4
- data.tar.gz: e6b0fa9e436bf9054da7f658ac1ef47b93f223b7f366e7ac329b890de5b3fbc2
3
+ metadata.gz: a74dfdbda3c10cbb34270288670b6ab4a0c7a3742ca27895781f348f9f439b96
4
+ data.tar.gz: c79c2cd6252a8861540f5de4cc945ba7a28993f0c3e925615181e34442b196e5
5
5
  SHA512:
6
- metadata.gz: 63b6dc2b7c38c1a9ff5b07bda8e24a0f7614314569aca9f8a1b7315c0cff119d35c09826a5d97a9eaff27fcdc8e29370fa3fc31aae717b2b20d7730c76a1329e
7
- data.tar.gz: 9634603b5393da4a93eee7611dc155387a96b7a51400fa1e5650cbd9958d5951c4522d9dbe880080d83880e23c3ff90bd2e4377e44e92310c2e6d522d0697b3b
6
+ metadata.gz: 2e0c1e883782e6e12256664b0d5258fcd9c1db8b5ae2fb9eda58264bd54cc50b8866264049eb9e315e61c41164e1e3accebc8da0d4d64929cc94a25e2f2d43c4
7
+ data.tar.gz: e800c90e080627cab7f107062c80e271f18d52bb4dd3057ee72c9618eea56d2e535c8da5f87c9d25581e4a55c59ab0230c0895f4729c83d9ffeeba75ae00c505
@@ -101,7 +101,7 @@
101
101
  </p>
102
102
  </div>
103
103
 
104
- <a class="card-link text-lowercase" href="{{ article.url }}#readmore">
104
+ <a class="card-link text-lowercase" href="{{ article.url }}">
105
105
  read · {{article.tagline}}
106
106
  </a>
107
107
  </div>
@@ -174,7 +174,7 @@ NO need to load this again
174
174
  {% if resource_settings.pass_init_data %}
175
175
 
176
176
  // [INFO ] [j1.layout.module_writer.proc ] [ pass init data for: {{resource_settings.id}} ]
177
- {% capture settings %}{"layout": "{{page.layout}}", "fab_menu_id": "{{page.fab_menu_id}}", "scrollbar": "{{page.scrollbar}}", "toc": "{{page.toc}}", "comments": "{{page.comments}}", "scrollDynamicPagesTopOnChange": "{{page.scrollDynamicPagesTopOnChange}}"}{% endcapture %}
177
+ {% capture settings %}{"layout": "{{page.layout}}", "title": "{{page.title}}", "tagline": "{{page.tagline}}", "fab_menu_id": "{{page.fab_menu_id}}", "scrollbar": "{{page.scrollbar}}", "toc": "{{page.toc}}", "comments": "{{page.comments}}", "scrollDynamicPagesTopOnChange": "{{page.scrollDynamicPagesTopOnChange}}"}{% endcapture %}
178
178
  var settings = $.extend({}, {{settings}});
179
179
 
180
180
  {% comment %} create resource_settings.dependencies (if any)
@@ -120,7 +120,9 @@
120
120
 
121
121
  <i class="tmicon rounded-x hidden-xs"></i>
122
122
  <div class="tmlabel">
123
- <a href="{{post.url}}#readmore"><div class="calendar-headline"><h4 id="{{ 100000 | rand }}">{{ post.title }}</h4></div></a>
123
+ <a href="{{post.url}}">
124
+ <div class="calendar-headline"><h4 id="{{ 100000 | rand }}">{{ post.title }}</h4></div>
125
+ </a>
124
126
  <div class="row">
125
127
  <!-- Collect image data from frontmatter -->
126
128
  {% if post.image %}
@@ -218,4 +220,4 @@
218
220
  {% endif %}
219
221
 
220
222
  <!-- Reset procedure variable -->
221
- {% assign posts_collate = nil %}
223
+ {% assign posts_collate = nil %}
@@ -176,7 +176,7 @@
176
176
  </div>
177
177
  <div class="card-footer r-text-200 text-lowercase">
178
178
 
179
- <a href="{{post.url}}#readmore"
179
+ <a href="{{post.url}}"
180
180
  class="btn btn-secondary btn-flex mb-0">
181
181
  <i class="mdi mdi-eye mdi-lg mr-1" style="color:#FFFFFF;">
182
182
  </i> {{readmore_text}} · {{post.tagline}}
@@ -198,7 +198,7 @@
198
198
  </div>
199
199
  <div class="card-footer r-text-200 text-lowercase">
200
200
 
201
- <a href="{{post.url}}#readmore"
201
+ <a href="{{post.url}}"
202
202
  class="btn btn-secondary btn-flex mb-0">
203
203
  <i class="mdi mdi-eye mdi-lg mr-1" style="color:#FFFFFF;">
204
204
  </i> {{readmore_text}} · {{post.tagline}}
@@ -261,7 +261,7 @@
261
261
  <span class="sr-tags">{{tags}}</span>
262
262
  </p>
263
263
  <a class="card-link text-lowercase"
264
- href="{{post.url}}#readmore">
264
+ href="{{post.url}}">
265
265
  {{readmore_text}} · {{post.tagline}}
266
266
  </a>
267
267
  </div>
@@ -199,7 +199,7 @@ debug: false
199
199
  <!-- [INFO ] [j1.layout.default.html ] [ place wrapper to prevent "DOM flicker" ] -->
200
200
  <!-- [INFO ] [j1.layout.default.html ] [ make page hidden (suppress flicker) ] -->
201
201
  <!-- [INFO ] [j1.layout.default.html ] [ suppress page overflows (overflow: hidden) ] -->
202
- <!-- div id="no_flicker" style="display: none" -->
202
+ <!-- [INFO ] [j1.layout.default.html ] [ hide page (display: none) on id "no_flicker" ] -->
203
203
  <div id="no_flicker" style="overflow: hidden; display: none">
204
204
 
205
205
  {% comment %} collect the BODY-NAVIGATION region
@@ -259,8 +259,8 @@ exclude_from_search: true
259
259
  <img
260
260
  class="sticker-image"
261
261
  src="/assets/images/sticker/600x600/sticker-new-version.png"
262
- alt="Get new version 2023.2.5"
263
- title="Get new version 2023.2.5"
262
+ alt="Get new version 2023.2.7"
263
+ title="Get new version 2023.2.7"
264
264
  style="width: 140px; height: 120px;"
265
265
  >
266
266
  </a>
@@ -144,9 +144,12 @@ j1.adapter.attic = (function (j1, window) {
144
144
  var dependencies_met_page_ready = setInterval (function (options) {
145
145
  var pageState = $('#no_flicker').css("display");
146
146
  var pageVisible = (pageState == 'block') ? true: false;
147
- if ( j1.getState() === 'finished' && pageVisible ) {
147
+
148
+ // run on 'pageVisible'
149
+ //
150
+ if (pageVisible) {
148
151
  {% if attic_options.enabled %}
149
- logger.info('\n' + 'create all attics configured');
152
+ logger.info('\n' + 'module initializaton: started');
150
153
 
151
154
  if (atticOptions.hide_oninit) {
152
155
  // hide page while attic is being created
@@ -184,15 +187,14 @@ j1.adapter.attic = (function (j1, window) {
184
187
  {% if item.attic.enabled %}
185
188
  {% assign attic_id = item.attic.id %}
186
189
 
187
- // Create the SPECIFIC header loader FUNCTION for id: {{attic_id}}
188
- function {{attic_id}} (atticOptions) {
190
+ // Create RUNNER for id: {{attic_id}}
191
+ //
192
+ function {{attic_id}}_runner (atticOptions) {
189
193
  var atticOptionsFilters = {};
190
194
  var atticItemFilters = {};
191
195
  var atticFilters = {};
192
196
  var my_attic = $.extend({}, {{item.attic | replace: 'nil', 'null' | replace: '=>', ':' }});
193
197
 
194
- logger.info('\n' + 'initialize attic on id: {{attic_id}}');
195
-
196
198
  // collect attic filter settings to object to array to string
197
199
  //
198
200
  {% if item.attic.filters %}
@@ -209,7 +211,8 @@ j1.adapter.attic = (function (j1, window) {
209
211
  });
210
212
  filterStr = filterArray.join(' ');
211
213
 
212
- // Fire backstretch for all slides of the header on attic_id
214
+ // fire backstretch for all slides on attic_id
215
+ //
213
216
  if ($('#{{attic_id}}').length) {
214
217
  $('#{{attic_id}}').backstretch(
215
218
  atticOptions.slides, {
@@ -258,9 +261,9 @@ j1.adapter.attic = (function (j1, window) {
258
261
  );
259
262
  }
260
263
 
261
- {% comment %} Set the headerLoaded flag (page NOT visible)
262
- -------------------------------------------------------------------- {% endcomment %}
263
- $(window).on('backstretch.before', function (e, instance, index) {
264
+ // run callback backstretch.before
265
+ //
266
+ $(window).on('backstretch.before', function (e, instance, index) {
264
267
  var evt = e;
265
268
  var inst = instance;
266
269
  var idx = index;
@@ -295,11 +298,12 @@ j1.adapter.attic = (function (j1, window) {
295
298
  j1.adapter.particles.init();
296
299
  }
297
300
 
298
- }); // END on('backstretch.before')
301
+ }); // // END callback backstretch.before
299
302
 
300
- {% comment %} Add a caption (c) or badge (b) if configured
301
- See: https://github.com/jquery-backstretch/jquery-backstretch/issues/194
302
- -------------------------------------------------------------------- {% endcomment %}
303
+ // run callback backstretch.after
304
+ // NOTE: add a 'caption' or 'badge' if configured
305
+ // SEE: https://github.com/jquery-backstretch/jquery-backstretch/issues/194
306
+ //
303
307
  $(window).on('backstretch.after', function (e, instance, index) {
304
308
  var textOverlayTitle = instance.images[index].title
305
309
  var textOverlayTagline = instance.images[index].tagline;
@@ -307,8 +311,8 @@ j1.adapter.attic = (function (j1, window) {
307
311
  var frontmatterOptions = _this.frontmatterOptions;
308
312
  var textOverlayHTML;
309
313
 
310
- // apply DEFAULT settings for textOverlayTitle|textOverlayTagline
311
- // on the FIRST backstretch instance if title|tagline NOT set
314
+ // apply FRONTMATTER settings for title|tagline if
315
+ // NOT set with the FIRST backstretch (image) instance
312
316
  //
313
317
  if (index == 0) {
314
318
  if (typeof instance.images[index].title == 'undefined') {
@@ -361,9 +365,7 @@ j1.adapter.attic = (function (j1, window) {
361
365
 
362
366
  }
363
367
 
364
- // TODO: Add additional styles to head-title-text|head-tagline-
365
- // text (e.g. text-center)
366
- // atticOptions.tagline_align
368
+ // TODO: Add additional styles to head-title-text|head-tagline (e.g. text-center)
367
369
  //
368
370
  textOverlayHTML = ''
369
371
  + '<div id="head-title" class="head-title animate__animated ">'
@@ -373,7 +375,7 @@ j1.adapter.attic = (function (j1, window) {
373
375
  + ' <h3 id="head-tagline-text" class="notoc text-' + atticOptions.tagline_align + '">' + textOverlayTagline + '</h3>'
374
376
  + '</div>';
375
377
 
376
- // hide textOverlay while animate classes are being calculated
378
+ // hide textOverlay while animate classes are being applied
377
379
  //
378
380
  $('.textOverlay').html(textOverlayHTML).hide();
379
381
 
@@ -423,21 +425,19 @@ j1.adapter.attic = (function (j1, window) {
423
425
 
424
426
  _this.setState('finished');
425
427
  logger.debug('\n' + 'state: ' + _this.getState());
426
- logger.info('\n' + 'finished attic on id: {{attic_id}}');
427
- }); // END on('backstretch.after')
428
+ logger.info('\n' + 'initialize attic on id {{attic_id}}: finished');
429
+ logger.info('\n' + 'module initializaton: finished');
430
+
431
+ }); // END callback backstretch.after
428
432
 
429
433
  } // END if attic_id exists
430
434
 
431
- // Initialize the header found in page
435
+ // run attic found in page: {{attic_id}}
436
+ //
432
437
  if ($('#{{attic_id}}').length) {
433
-
434
- {% comment %} Load data from header config file
435
- -------------------------------------------------------------------- {% endcomment %}
436
-
437
- {% comment %} NOTE:
438
- Unclear why title_size|tagline_size evaluated to 1 if NOT set
439
- ------------------------------------------------------------------- {% endcomment %}
440
-
438
+ // apply CSS styles
439
+ // NOTE: unclear why title_size|tagline_size evaluated to 1 if NOT set
440
+ //
441
441
  {% for item in attic_options.attics %}
442
442
  {% if item.attic.id == attic_id %}
443
443
 
@@ -535,10 +535,12 @@ j1.adapter.attic = (function (j1, window) {
535
535
  }
536
536
  /* eslint-enable */
537
537
 
538
- // Merge|Overload Attic OPTIONS
538
+ // merge|overload Attic OPTIONS
539
+ //
539
540
  atticOptions = $.extend({}, atticOptions, atticOptionsHeader, atticOptionsBackstretch);
540
541
 
541
- // Overload Attic OPTIONS by settings from frontmatterOptions
542
+ // overload Attic OPTIONS by settings from frontmatterOptions
543
+ //
542
544
  if (frontmatterOptions.background_color_1) atticOptions.background_color_1 = frontmatterOptions.background_color_1;
543
545
  if (frontmatterOptions.background_color_2) atticOptions.background_color_2 = frontmatterOptions.background_color_2;
544
546
  {% else %}
@@ -546,8 +548,8 @@ j1.adapter.attic = (function (j1, window) {
546
548
  {% endif %} // ENDIF attic_id
547
549
  {% endfor %} // ENDFOR item in header_config.attics
548
550
 
549
- {% comment %} frontmatter takes precedence (over header options)
550
- -------------------------------------------------------------------- {% endcomment %}
551
+ // frontmatter takes precedence (over header options)
552
+ //
551
553
  if (frontmatterOptions) {
552
554
  if (typeof frontmatterOptions.raised_level != 'undefined') { atticOptions.raised_level = frontmatterOptions.raised_level; }
553
555
  if (typeof frontmatterOptions.r_text != 'undefined') { atticOptions.r_text = frontmatterOptions.r_text; }
@@ -590,11 +592,11 @@ j1.adapter.attic = (function (j1, window) {
590
592
  if (typeof frontmatterOptions.slides != 'undefined') { atticOptions.slides = frontmatterOptions.slides; }
591
593
  }
592
594
 
593
- {% comment %} Add header CSS classes
594
- -------------------------------------------------------------------- {% endcomment %}
595
+ // add r-text|raised_level settings
596
+ //
595
597
  if (atticOptions.r_text == 'enabled') { $('#{{attic_id}}').addClass('r-text'); }
596
-
597
598
  var raised_level = 'raised-z' +atticOptions.raised_level;
599
+
598
600
  $('#{{attic_id}}').addClass(raised_level);
599
601
  $('#head-title').addClass(atticOptions.title_animate);
600
602
  $('#head-title').addClass(atticOptions.title_animate_delay);
@@ -612,11 +614,12 @@ j1.adapter.attic = (function (j1, window) {
612
614
  $('#{{attic_id}}').addClass('notranslate');
613
615
  }
614
616
 
615
- {% comment %} Add header CSS styles to <HEAD>
616
- -------------------------------------------------------------------- {% endcomment %}
617
+ // add header CSS styles to <HEAD>
618
+ //
617
619
  var attic_style = '';
618
620
 
619
- // Initialze header background gradient
621
+ // initialze header background gradient
622
+ //
620
623
  attic_style += '<style> .attic { ';
621
624
  attic_style += 'background-image: -webkit-gradient(linear, left top, left bottom, from(' +atticOptions.background_color_1 + '), to(' +atticOptions.background_color_2+ ')) !important;';
622
625
  attic_style += 'background-image: -webkit-linear-gradient(top, ' +atticOptions.background_color_1 + ' 0%, ' +atticOptions.background_color_2 + ' 100%) !important;';
@@ -648,6 +651,7 @@ j1.adapter.attic = (function (j1, window) {
648
651
 
649
652
  // Add opacity to ALL header (backstretch) images
650
653
  // See: https://tympanus.net/codrops/2013/11/07/css-overlay-techniques/
654
+ //
651
655
  var item_opacity = !!my_attic.opacity ? my_attic.opacity : atticOptions.opacity;
652
656
  var backstretch_opacity = '<style> .backstretch-item { opacity: ' +item_opacity+ '; </style>';
653
657
  $('head').append(backstretch_opacity);
@@ -655,36 +659,38 @@ j1.adapter.attic = (function (j1, window) {
655
659
  _this.setState('initialized');
656
660
  logger.debug('\n' + 'state: ' + _this.getState());
657
661
 
658
- {% comment %} Run the image header if any
659
- -------------------------------------------------------------------- {% endcomment %}
660
- if (typeof atticOptions.slides != 'undefined') {
661
- // Load the image header if the page is ready (visible)
662
- $(function() {
663
- // logger.info('\n' + 'Load image header on id: {{attic_id}}');
664
- {{attic_id}}(atticOptions);
665
- _this.setState('completed');
666
- logger.debug('\n' + 'state: ' + _this.getState());
667
- });
668
- }
669
- } // END if header id found in page
662
+ // start RUNNER on page 'ready'|module state 'initialized'
663
+ //
664
+ $(function() {
665
+ var dependencies_met_attic_ready = setInterval (function (options) {
666
+ if (_this.getState() === 'initialized') {
667
+ logger.info('\n' + 'initialize attic on id {{attic_id}}: started');
668
+ {{attic_id}}_runner (atticOptions);
669
+ clearInterval(dependencies_met_attic_ready);
670
+ }
671
+ }, 25);
672
+ });
673
+
674
+ } // END apply CSS styles|start ATTIC RUNNER
670
675
 
671
676
  {% else %}
672
677
  {% assign attic_id = item.attic.id %}
673
678
  // add additional top space
674
679
  $('#content').addClass('mt-8');
675
- logger.info('\n' + 'found attic disabled on id: {{attic_id}}');
680
+ logger.info('\n' + 'attic on id {{attic_id}}: disabled');
676
681
  {% endif %} // END if header enabled
677
682
  {% endfor %} // END for item in header_config.attics
678
683
 
679
684
  // NO header found in page
680
- if ($('#no_header').length) {
681
- _this.setState('completed');
682
- logger.debug('\n' + 'state: ' + _this.getState());
683
- logger.warn('\n' + 'no header configured or found in page');
684
- }
685
+ // if ($('#no_header').length) {
686
+ // _this.setState('completed');
687
+ // logger.debug('\n' + 'state: ' + _this.getState());
688
+ // logger.warn('\n' + 'no header configured or found in page');
689
+ // }
685
690
 
686
691
  return true;
687
- }, // END loadHeader
692
+
693
+ }, // END apply CSS styles|start ATTIC RUNNER
688
694
 
689
695
  // -------------------------------------------------------------------------
690
696
  // messageHandler: MessageHandler for J1 CookieConsent module
@@ -26595,7 +26595,6 @@ li.dropdown.nav-item.nav-sub-item:before {
26595
26595
  background-color: transparent;
26596
26596
  border-bottom: 0; }
26597
26597
  nav.navbar.navigator li.dropdown ul.dropdown-menu {
26598
- margin-top: -8px;
26599
26598
  min-width: 250px;
26600
26599
  background: #ffffff;
26601
26600
  border-color: transparent;