j1-template 2024.1.5 → 2024.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_page.html +0 -34
  3. data/_includes/themes/j1/modules/searcher/generator.html +4 -1
  4. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +59 -56
  5. data/assets/data/authclient.html +1 -8
  6. data/assets/data/banner.html +1 -7
  7. data/assets/data/fab.html +2 -13
  8. data/assets/data/footer.html +0 -3
  9. data/assets/data/galeries.html +2 -13
  10. data/assets/data/gemini-ui.html +74 -21
  11. data/assets/data/iframes.html +1 -4
  12. data/assets/data/masonry.html +1 -13
  13. data/assets/data/masterslider.html +10 -21
  14. data/assets/data/menu.html +6 -14
  15. data/assets/data/mmenu.html +6 -5
  16. data/assets/data/mmenu_toc.html +2 -1
  17. data/assets/data/panel.html +4 -11
  18. data/assets/data/particles.yml +8 -8
  19. data/assets/data/quicklinks.html +4 -23
  20. data/assets/data/rtext_resizer.html +3 -1
  21. data/assets/data/slick.html +9 -11
  22. data/assets/data/translator.html +0 -1
  23. data/assets/themes/j1/adapter/js/advertising.js +141 -172
  24. data/assets/themes/j1/adapter/js/algolia.js +61 -54
  25. data/assets/themes/j1/adapter/js/analytics.js +67 -47
  26. data/assets/themes/j1/adapter/js/asciidoctor.js +32 -20
  27. data/assets/themes/j1/adapter/js/attic.js +75 -69
  28. data/assets/themes/j1/adapter/js/bmd.js +195 -177
  29. data/assets/themes/j1/adapter/js/carousel.js +786 -761
  30. data/assets/themes/j1/adapter/js/chatbot.js +77 -35
  31. data/assets/themes/j1/adapter/js/clipboard.js +66 -49
  32. data/assets/themes/j1/adapter/js/comments.js +92 -70
  33. data/assets/themes/j1/adapter/js/cookieConsent.js +466 -462
  34. data/assets/themes/j1/adapter/js/customFunctions.js +52 -35
  35. data/assets/themes/j1/adapter/js/customModule.js +56 -46
  36. data/assets/themes/j1/adapter/js/docsearch.js +54 -34
  37. data/assets/themes/j1/adapter/js/dropdowns.js +65 -52
  38. data/assets/themes/j1/adapter/js/fab.js +123 -109
  39. data/assets/themes/j1/adapter/js/gallery.js +494 -476
  40. data/assets/themes/j1/adapter/js/gemini.js +933 -299
  41. data/assets/themes/j1/adapter/js/iconPicker.js +255 -235
  42. data/assets/themes/j1/adapter/js/iconPickerPage.js +279 -0
  43. data/assets/themes/j1/adapter/js/iframer.js +81 -61
  44. data/assets/themes/j1/adapter/js/j1.js +3285 -3222
  45. data/assets/themes/j1/adapter/js/lazyLoader.js +241 -222
  46. data/assets/themes/j1/adapter/js/lightbox.js +241 -241
  47. data/assets/themes/j1/adapter/js/logger.js +77 -66
  48. data/assets/themes/j1/adapter/js/lunr.js +688 -86
  49. data/assets/themes/j1/adapter/js/masonry.js +426 -411
  50. data/assets/themes/j1/adapter/js/masterslider.js +526 -527
  51. data/assets/themes/j1/adapter/js/mmenu.js +101 -66
  52. data/assets/themes/j1/adapter/js/navigator.js +291 -356
  53. data/assets/themes/j1/adapter/js/particles.js +61 -40
  54. data/assets/themes/j1/adapter/js/rangeSlider.js +65 -48
  55. data/assets/themes/j1/adapter/js/rouge.js +287 -269
  56. data/assets/themes/j1/adapter/js/rtable.js +309 -293
  57. data/assets/themes/j1/adapter/js/rtextResizer.js +57 -44
  58. data/assets/themes/j1/adapter/js/scroller.js +170 -133
  59. data/assets/themes/j1/adapter/js/slick.js +487 -485
  60. data/assets/themes/j1/adapter/js/slimSelect.js +290 -0
  61. data/assets/themes/j1/adapter/js/speak2me.js +124 -128
  62. data/assets/themes/j1/adapter/js/themeToggler.js +280 -260
  63. data/assets/themes/j1/adapter/js/{themer.js → themes.js} +145 -113
  64. data/assets/themes/j1/adapter/js/toccer.js +87 -54
  65. data/assets/themes/j1/adapter/js/translator.js +73 -70
  66. data/assets/themes/j1/adapter/js/waves.js +74 -58
  67. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +29 -11
  68. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
  69. data/assets/themes/j1/core/js/template.js +474 -420
  70. data/assets/themes/j1/core/js/template.min.js +7 -7
  71. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  72. data/assets/themes/j1/modules/carousel/css/theme/uno.css +4 -4
  73. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  74. data/assets/themes/j1/modules/clipboard/js/clipboard.js +0 -1
  75. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +4 -4
  76. data/assets/themes/j1/modules/iconPicker/css/theme/uno.css +58 -0
  77. data/assets/themes/j1/modules/iconPicker/css/theme/uno.min.css +16 -0
  78. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.0.js +493 -0
  79. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +7 -7
  80. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.js +4 -4
  81. data/assets/themes/j1/modules/lightGallery/js/plugins/lg-video.min.js +2 -10
  82. data/assets/themes/j1/modules/lunr/css/j1.css +12 -6
  83. data/assets/themes/j1/modules/lunr/css/j1.min.css +1 -1
  84. data/assets/themes/j1/modules/lunr/js/j1.js +46 -43
  85. data/assets/themes/j1/modules/lunr/js/j1.min.js +1 -1
  86. data/assets/themes/j1/modules/masterslider/js/masterslider.js +1 -1
  87. data/assets/themes/j1/modules/scroller/js/scroller.js +64 -74
  88. data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
  89. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +4 -4
  90. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
  91. data/assets/themes/j1/modules/slimSelect/js/select.js +1865 -1821
  92. data/assets/themes/j1/modules/slimSelect/js/select.min.js +2 -1
  93. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +87 -89
  94. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  95. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/player.min.js +5 -7
  96. data/assets/themes/j1/modules/videojs/js/plugins/vm/api/v2.20.1/player.min.js +23 -0
  97. data/lib/j1/version.rb +1 -1
  98. data/lib/starter_web/Gemfile +2 -2
  99. data/lib/starter_web/README.md +5 -5
  100. data/lib/starter_web/_config.yml +1 -1
  101. data/lib/starter_web/_data/blocks/_panel.yml +775 -0
  102. data/lib/starter_web/_data/blocks/panel.yml +53 -53
  103. data/lib/starter_web/_data/j1_config.yml +3 -2
  104. data/lib/starter_web/_data/layouts/default.yml +0 -2
  105. data/lib/starter_web/_data/modules/_scroller.yml +102 -0
  106. data/lib/starter_web/_data/modules/carousel.yml +3 -3
  107. data/lib/starter_web/_data/modules/defaults/attics.yml +5 -5
  108. data/lib/starter_web/_data/modules/defaults/docsearch.yml +1 -1
  109. data/lib/starter_web/_data/modules/defaults/gemini.yml +204 -46
  110. data/lib/starter_web/_data/modules/defaults/{iconPicker.yml → icon_picker.yml} +6 -12
  111. data/lib/starter_web/_data/modules/defaults/lunr.yml +20 -5
  112. data/lib/starter_web/_data/modules/defaults/masterslider.yml +4 -4
  113. data/lib/starter_web/_data/modules/defaults/navigator.yml +20 -24
  114. data/lib/starter_web/_data/modules/defaults/particles.yml +3 -3
  115. data/lib/starter_web/_data/modules/defaults/slim_select.yml +54 -0
  116. data/lib/starter_web/_data/modules/defaults/{themer.yml → themes.yml} +171 -171
  117. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  118. data/lib/starter_web/_data/modules/gallery.yml +33 -38
  119. data/lib/starter_web/_data/modules/gemini.yml +42 -3
  120. data/lib/starter_web/_data/modules/{iconPicker.yml → icon_picker.yml} +31 -3
  121. data/lib/starter_web/_data/modules/lunr.yml +12 -1
  122. data/lib/starter_web/_data/modules/masonry.yml +37 -38
  123. data/lib/starter_web/_data/modules/masterslider.yml +78 -95
  124. data/lib/starter_web/_data/modules/navigator_menu.yml +12 -20
  125. data/lib/starter_web/_data/modules/particles.yml +3 -3
  126. data/lib/starter_web/_data/modules/scroller.yml +3 -3
  127. data/lib/starter_web/_data/modules/slim_select.yml +110 -0
  128. data/lib/starter_web/_data/modules/{themer.yml → themes.yml} +4 -4
  129. data/lib/starter_web/_data/resources.yml +57 -47
  130. data/lib/starter_web/_data/templates/feed.xml +1 -1
  131. data/lib/starter_web/_includes/attributes.asciidoc +354 -355
  132. data/lib/starter_web/_plugins/asciidoctor/gemini-ui-block.rb +1 -1
  133. data/lib/starter_web/_plugins/asciidoctor/slim-select-block.rb +45 -0
  134. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  135. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +5 -2
  136. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +3 -3
  137. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +9 -9
  138. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +4 -4
  139. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -2
  140. data/lib/starter_web/collections/posts/public/featured/_posts/2023-10-18-url-types.adoc +12 -12
  141. data/lib/starter_web/package.json +1 -1
  142. data/lib/starter_web/pages/public/about/features.adoc +1 -1
  143. data/lib/starter_web/pages/public/about/reporting_issues.adoc +1 -0
  144. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +44 -44
  145. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +1 -0
  146. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +12 -12
  147. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +1 -1
  148. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/attributes.asciidoc +42 -28
  149. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/highlghter_rouge.adoc +1 -0
  150. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/lunr_search.adoc +1 -0
  151. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_audio_video.adoc +18 -2
  152. data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/present_images.adoc +500 -507
  153. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +6 -11
  154. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +4 -11
  155. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +5 -12
  156. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -10
  157. data/lib/starter_web/pages/public/tools/previewer/_includes/attributes.asciidoc +10 -9
  158. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +77 -75
  159. metadata +50 -46
  160. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/attributes.asciidoc +0 -47
  161. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/preview_google_adsense.asciidoc +0 -448
  162. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/documents/readme +0 -0
  163. data/lib/starter_web/pages/public/manuals/integrations/gemini/_includes/tables/readme +0 -0
  164. data/lib/starter_web/pages/public/manuals/integrations/gemini/gemini.adoc +0 -525
  165. data/lib/starter_web/pages/public/manuals/integrations/gemini/security.asccidoc +0 -274
  166. data/lib/starter_web/pages/public/manuals/integrations/gemini/security.hrml +0 -560
  167. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_biography.adoc +0 -0
  168. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_fantasy.adoc +0 -0
  169. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/article_previewer/viewer_romance.adoc +0 -0
  170. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/jekyll_collections.adoc +0 -0
  171. /data/lib/starter_web/pages/public/{legal/learn → learn}/bookshelf/viewer_all_books.adoc +0 -0
  172. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/100_gistblock.asciidoc +0 -0
  173. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -0
  174. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -0
  175. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -0
  176. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_central_success.asciidoc +0 -0
  177. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -0
  178. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -0
  179. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -0
  180. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_info.asciidoc +0 -0
  181. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -0
  182. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -0
  183. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -0
  184. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -0
  185. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_bootstrap.asciidoc +0 -0
  186. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/_includes/documents/themes_rouge.asciidoc +0 -0
  187. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/asciidoc_extensions.adoc +0 -0
  188. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/bootstrap_themes.adoc +0 -0
  189. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/icon_fonts.adoc +0 -0
  190. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/modal_extentions.adoc +0 -0
  191. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/responsive_tables.adoc +0 -0
  192. /data/lib/starter_web/pages/public/{legal/learn → learn}/roundtrip/typography.adoc +0 -0
  193. /data/lib/starter_web/pages/public/{legal/learn → learn}/where_to_go.adoc +0 -0
@@ -1,293 +1,309 @@
1
- ---
2
- regenerate: true
3
- ---
4
-
5
- {% capture cache %}
6
-
7
- {% comment %}
8
- # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/rtable.js
10
- # Liquid template to adapt rtable
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- # Copyright (C) 2023, 2024 Juergen Adams
15
- #
16
- # J1 Template is licensed under the MIT License.
17
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
18
- # -----------------------------------------------------------------------------
19
- # Test data:
20
- # {{ liquid_var | debug }}
21
- # -----------------------------------------------------------------------------
22
- {% endcomment %}
23
-
24
- {% comment %} Liquid procedures
25
- -------------------------------------------------------------------------------- {% endcomment %}
26
-
27
- {% comment %} Set global settings
28
- -------------------------------------------------------------------------------- {% endcomment %}
29
- {% assign environment = site.environment %}
30
- {% assign asset_path = "/assets/themes/j1" %}
31
-
32
- {% comment %} Process YML config data
33
- ================================================================================ {% endcomment %}
34
-
35
- {% comment %} Set config files
36
- -------------------------------------------------------------------------------- {% endcomment %}
37
- {% assign template_config = site.data.j1_config %}
38
- {% assign blocks = site.data.blocks %}
39
- {% assign modules = site.data.modules %}
40
-
41
- {% comment %} Set config data
42
- -------------------------------------------------------------------------------- {% endcomment %}
43
- {% assign rtable_defaults = modules.defaults.rtable.defaults %}
44
- {% assign rtable_settings = modules.rtable.settings %}
45
-
46
- {% comment %} Set config options
47
- -------------------------------------------------------------------------------- {% endcomment %}
48
- {% assign rtable_options = rtable_defaults | merge: rtable_settings %}
49
-
50
- {% comment %} Detect prod mode
51
- -------------------------------------------------------------------------------- {% endcomment %}
52
- {% assign production = false %}
53
- {% if environment == 'prod' or environment == 'production' %}
54
- {% assign production = true %}
55
- {% endif %}
56
-
57
- /*
58
- # -----------------------------------------------------------------------------
59
- # ~/assets/themes/j1/adapter/js/rtable.js
60
- # J1 Adapter for rtable
61
- #
62
- # Product/Info:
63
- # https://jekyll.one
64
- #
65
- # Copyright (C) 2023, 2024 Juergen Adams
66
- #
67
- # J1 Template is licensed under the MIT License.
68
- # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
69
- # -----------------------------------------------------------------------------
70
- # Adapter generated: {{site.time}}
71
- # -----------------------------------------------------------------------------
72
- */
73
-
74
- // -----------------------------------------------------------------------------
75
- // ESLint shimming
76
- // -----------------------------------------------------------------------------
77
- /* eslint indent: "off" */
78
- // -----------------------------------------------------------------------------
79
- 'use strict';
80
- j1.adapter.rtable = (function (j1, window) {
81
-
82
- {% comment %} Set global variables
83
- ------------------------------------------------------------------------------ {% endcomment %}
84
- var environment = '{{environment}}';
85
- var state = 'not_started';
86
- var rtableDefaults;
87
- var rtableSettings;
88
- var rtableOptions;
89
- var _this;
90
- var logger;
91
- var logText;
92
-
93
- // ---------------------------------------------------------------------------
94
- // Helper functions
95
- // ---------------------------------------------------------------------------
96
-
97
- // ---------------------------------------------------------------------------
98
- // Main object
99
- // ---------------------------------------------------------------------------
100
- return {
101
-
102
- // -------------------------------------------------------------------------
103
- // Initializer
104
- // -------------------------------------------------------------------------
105
- init: function (options) {
106
-
107
- // -----------------------------------------------------------------------
108
- // Default module settings
109
- // -----------------------------------------------------------------------
110
- var settings = $.extend({
111
- module_name: 'j1.adapter.rtable',
112
- generated: '{{site.time}}'
113
- }, options);
114
-
115
- var bsMediaBreakpoints = {
116
- xs: 575,
117
- sm: 576,
118
- md: 768,
119
- lg: 992,
120
- xl: 1200
121
- };
122
-
123
- var breakpoint;
124
-
125
- // -----------------------------------------------------------------------
126
- // Global variable settings
127
- // -----------------------------------------------------------------------
128
- _this = j1.adapter.rtable;
129
- logger = log4javascript.getLogger('j1.adapter.rtable');
130
-
131
- // Load module DEFAULTS|CONFIG
132
- rtableDefaults = $.extend({}, {{rtable_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
133
- rtableSettings = $.extend({}, {{rtable_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
134
- rtableOptions = $.extend(true, {}, rtableDefaults, rtableSettings);
135
-
136
- // initialize state flag
137
- _this.setState('started');
138
- logger.debug('\n' + 'state: ' + _this.getState());
139
- logger.info('\n' + 'module is being initialized');
140
-
141
- var dependencies_met_j1_finished = setInterval(function() {
142
- if (j1.getState() == 'finished') {
143
-
144
- // -------------------------------------------------------------------
145
- // rtable initializer
146
- // -------------------------------------------------------------------
147
- var log_text = '\n' + 'rtable is being initialized';
148
- logger.info(log_text);
149
-
150
- // Add data attributes for tablesaw to all tables of a page
151
- // as Asciidoctor has NO option to pass 'data attributes'
152
- // See: https://stackoverflow.com/questions/50600405/how-to-add-custom-data-attributes-with-asciidoctor
153
- //
154
- $('table').each(function(){
155
- var curTable = $(this);
156
- var log_text;
157
- // jadams, 2020-09-16: class 'rtable' indicate use of 'tablesaw'
158
- if ($(curTable).hasClass('rtable')) {
159
- // add needed CSS class/attribute for tablesaw
160
- $(curTable).addClass('table');
161
- $(curTable).addClass('tablesaw');
162
- $(curTable).attr('data-tablesaw-mode', rtableOptions.rtable.mode);
163
-
164
- // Advanced mode NOT supported (mode stack only)
165
- //
166
- // $(curTable).attr('data-tablesaw-sortable', '');
167
- // $(curTable).attr('data-tablesaw-sortable-switch', '');
168
- // $(curTable).attr('data-tablesaw-minimap', '');
169
- // $(curTable).attr('data-tablesaw-mode-switch', '');
170
-
171
- Tablesaw.init(curTable, {
172
- breakpoint: rtableOptions.rtable.breakpoint
173
- });
174
-
175
- // set initial state for all table/colgroup elements
176
- //
177
- breakpoint = bsMediaBreakpoints[rtableOptions.rtable.breakpoint];
178
- if (! breakpoint) {
179
- breakpoint = bsMediaBreakpoints['lg'];
180
- }
181
-
182
- if ($(window).width() < breakpoint) {
183
- log_text = '\n' + 'hide colgroups: ' + curTable.attr('id')
184
- curTable.find('colgroup').hide();
185
- logger.debug(log_text);
186
- } else {
187
- log_text = '\n' + 'show colgroup: ' + curTable.attr('id')
188
- curTable.find('colgroup').show();
189
- logger.debug(log_text);
190
- }
191
- } // END if hasClass 'rtable'
192
-
193
- // add needed div element needed for BS to move the table found
194
- // for BS responsiveness
195
- //
196
- if ($(curTable).hasClass(/table-responsive/)) {
197
- // see: https://stackoverflow.com/questions/2596833/how-to-move-child-element-from-one-parent-to-another-using-jquery
198
- // see: https://github.com/NV/jquery-regexp-classes
199
- //
200
- const re = /table-responsive[-]*\w*/;
201
- const myID = 'b-table-' + Math.floor(Math.random() * 10000) + 1;
202
- var myClasses = $(curTable).attr("class");
203
- var responsiveClassFound = myClasses.match(re);
204
- var responsiveClass;
205
-
206
- if (responsiveClassFound) {
207
- responsiveClass = responsiveClassFound[0];
208
- } else {
209
- // failsafe
210
- log_text = '\n' + 'no matching responsive class found';
211
- logger.warn(log_text);
212
- }
213
-
214
- // remove responsive class from the table
215
- //
216
- $(curTable).removeClass(/table-responsive[-]*\w+/);
217
- $(curTable).addClass('table');
218
-
219
- // add needed div element needed for BS
220
- //
221
- jQuery('<div>', {
222
- id: myID,
223
- class: responsiveClass
224
- }).insertBefore($(curTable));
225
-
226
- // move the table found for BS responsiveness
227
- //
228
- $('#' + myID ).append($(curTable));
229
- } // END if hasClass 'table-responsive'
230
- });
231
-
232
- _this.setState('finished');
233
- logger.debug('\n' + 'state: ' + _this.getState());
234
-
235
- clearInterval(dependencies_met_j1_finished);
236
- } // END dependencies_met_j1_finished
237
- }, 10);
238
-
239
- }, // END init
240
-
241
- // -------------------------------------------------------------------------
242
- // messageHandler:
243
- // Manage messages send from other J1 modules
244
- // -------------------------------------------------------------------------
245
- messageHandler: function (sender, message) {
246
- var json_message = JSON.stringify(message, undefined, 2);
247
-
248
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
249
- logger.debug(logText);
250
-
251
- // -----------------------------------------------------------------------
252
- // Process commands|actions
253
- // -----------------------------------------------------------------------
254
- if (message.type === 'command' && message.action === 'module_initialized') {
255
- //
256
- // Place handling of command|action here
257
- //
258
- logger.info('\n' + message.text);
259
- }
260
-
261
- //
262
- // Place handling of other command|action here
263
- //
264
-
265
- return true;
266
- }, // END messageHandler
267
-
268
- // -------------------------------------------------------------------------
269
- // setState()
270
- // Sets the current (processing) state of the module
271
- // -------------------------------------------------------------------------
272
- setState: function (stat) {
273
- _this.state = stat;
274
- }, // END setState
275
-
276
- // -------------------------------------------------------------------------
277
- // getState()
278
- // Returns the current (processing) state of the module
279
- // -------------------------------------------------------------------------
280
- getState: function () {
281
- return _this.state;
282
- } // END getState
283
-
284
- }; // END return
285
- })(j1, window);
286
-
287
- {% endcapture %}
288
- {% if production %}
289
- {{ cache | minifyJS }}
290
- {% else %}
291
- {{ cache | strip_empty_lines }}
292
- {% endif %}
293
- {% assign cache = nil %}
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/themes/j1/adapter/js/rtable.js
10
+ # Liquid template to adapt rtable
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ # Copyright (C) 2023, 2024 Juergen Adams
15
+ #
16
+ # J1 Template is licensed under the MIT License.
17
+ # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
18
+ # -----------------------------------------------------------------------------
19
+ # Test data:
20
+ # {{ liquid_var | debug }}
21
+ # -----------------------------------------------------------------------------
22
+ {% endcomment %}
23
+
24
+ {% comment %} Liquid procedures
25
+ -------------------------------------------------------------------------------- {% endcomment %}
26
+
27
+ {% comment %} Set global settings
28
+ -------------------------------------------------------------------------------- {% endcomment %}
29
+ {% assign environment = site.environment %}
30
+ {% assign asset_path = "/assets/themes/j1" %}
31
+
32
+ {% comment %} Process YML config data
33
+ ================================================================================ {% endcomment %}
34
+
35
+ {% comment %} Set config files
36
+ -------------------------------------------------------------------------------- {% endcomment %}
37
+ {% assign template_config = site.data.j1_config %}
38
+ {% assign blocks = site.data.blocks %}
39
+ {% assign modules = site.data.modules %}
40
+
41
+ {% comment %} Set config data
42
+ -------------------------------------------------------------------------------- {% endcomment %}
43
+ {% assign rtable_defaults = modules.defaults.rtable.defaults %}
44
+ {% assign rtable_settings = modules.rtable.settings %}
45
+
46
+ {% comment %} Set config options
47
+ -------------------------------------------------------------------------------- {% endcomment %}
48
+ {% assign rtable_options = rtable_defaults | merge: rtable_settings %}
49
+
50
+ {% comment %} Detect prod mode
51
+ -------------------------------------------------------------------------------- {% endcomment %}
52
+ {% assign production = false %}
53
+ {% if environment == 'prod' or environment == 'production' %}
54
+ {% assign production = true %}
55
+ {% endif %}
56
+
57
+ /*
58
+ # -----------------------------------------------------------------------------
59
+ # ~/assets/themes/j1/adapter/js/rtable.js
60
+ # J1 Adapter for rtable
61
+ #
62
+ # Product/Info:
63
+ # https://jekyll.one
64
+ #
65
+ # Copyright (C) 2023, 2024 Juergen Adams
66
+ #
67
+ # J1 Template is licensed under the MIT License.
68
+ # For details, see: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
69
+ # -----------------------------------------------------------------------------
70
+ # Adapter generated: {{site.time}}
71
+ # -----------------------------------------------------------------------------
72
+ */
73
+
74
+ // -----------------------------------------------------------------------------
75
+ // ESLint shimming
76
+ // -----------------------------------------------------------------------------
77
+ /* eslint indent: "off" */
78
+ // -----------------------------------------------------------------------------
79
+ 'use strict';
80
+ j1.adapter.rtable = ((j1, window) => {
81
+
82
+ {% comment %} Set global variables
83
+ ------------------------------------------------------------------------------ {% endcomment %}
84
+ var environment = '{{environment}}';
85
+ var state = 'not_started';
86
+ var rtableDefaults;
87
+ var rtableSettings;
88
+ var rtableOptions;
89
+
90
+ var _this;
91
+ var logger;
92
+ var logText;
93
+
94
+ // date|time
95
+ var startTime;
96
+ var endTime;
97
+ var startTimeModule;
98
+ var endTimeModule;
99
+ var timeSeconds;
100
+
101
+ // ---------------------------------------------------------------------------
102
+ // helper functions
103
+ // ---------------------------------------------------------------------------
104
+
105
+ // ---------------------------------------------------------------------------
106
+ // main
107
+ // ---------------------------------------------------------------------------
108
+ return {
109
+
110
+ // -------------------------------------------------------------------------
111
+ // adapter initializer
112
+ // -------------------------------------------------------------------------
113
+ init: (options) => {
114
+
115
+ // -----------------------------------------------------------------------
116
+ // default module settings
117
+ // -----------------------------------------------------------------------
118
+ var settings = $.extend({
119
+ module_name: 'j1.adapter.rtable',
120
+ generated: '{{site.time}}'
121
+ }, options);
122
+
123
+ var bsMediaBreakpoints = {
124
+ xs: 575,
125
+ sm: 576,
126
+ md: 768,
127
+ lg: 992,
128
+ xl: 1200
129
+ };
130
+
131
+ var breakpoint;
132
+
133
+ // -----------------------------------------------------------------------
134
+ // global variable settings
135
+ // -----------------------------------------------------------------------
136
+ _this = j1.adapter.rtable;
137
+ logger = log4javascript.getLogger('j1.adapter.rtable');
138
+
139
+ // Load module DEFAULTS|CONFIG
140
+ rtableDefaults = $.extend({}, {{rtable_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
141
+ rtableSettings = $.extend({}, {{rtable_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
142
+ rtableOptions = $.extend(true, {}, rtableDefaults, rtableSettings);
143
+
144
+ // initialize state flag
145
+ _this.setState('started');
146
+ logger.debug('\n' + 'state: ' + _this.getState());
147
+ logger.info('\n' + 'module is being initialized');
148
+
149
+ // -----------------------------------------------------------------------
150
+ // module initializer
151
+ // -----------------------------------------------------------------------
152
+ var dependency_met_page_ready = setInterval(() => {
153
+ var pageState = $('#content').css("display");
154
+ var pageVisible = (pageState === 'block') ? true : false;
155
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
156
+
157
+ if (j1CoreFinished && pageVisible) {
158
+ startTimeModule = Date.now();
159
+
160
+ _this.setState('started');
161
+ logger.debug('\n' + 'set module state to: ' + _this.getState());
162
+ logger.info('\n' + 'initializing module: started');
163
+
164
+ // Add data attributes for tablesaw to all tables of a page
165
+ // as Asciidoctor has NO option to pass 'data attributes'
166
+ // See: https://stackoverflow.com/questions/50600405/how-to-add-custom-data-attributes-with-asciidoctor
167
+ //
168
+ $('table').each(function () {
169
+ var curTable = $(this);
170
+ var log_text;
171
+ // jadams, 2020-09-16: class 'rtable' indicate use of 'tablesaw'
172
+ if ($(curTable).hasClass('rtable')) {
173
+ // add needed CSS class/attribute for tablesaw
174
+ $(curTable).addClass('table');
175
+ $(curTable).addClass('tablesaw');
176
+ $(curTable).attr('data-tablesaw-mode', rtableOptions.rtable.mode);
177
+
178
+ // Advanced mode NOT supported (mode stack only)
179
+ //
180
+ // $(curTable).attr('data-tablesaw-sortable', '');
181
+ // $(curTable).attr('data-tablesaw-sortable-switch', '');
182
+ // $(curTable).attr('data-tablesaw-minimap', '');
183
+ // $(curTable).attr('data-tablesaw-mode-switch', '');
184
+
185
+ Tablesaw.init(curTable, {
186
+ breakpoint: rtableOptions.rtable.breakpoint
187
+ });
188
+
189
+ // set initial state for all table/colgroup elements
190
+ //
191
+ breakpoint = bsMediaBreakpoints[rtableOptions.rtable.breakpoint];
192
+ if (! breakpoint) {
193
+ breakpoint = bsMediaBreakpoints['lg'];
194
+ }
195
+
196
+ if ($(window).width() < breakpoint) {
197
+ log_text = '\n' + 'hide colgroups: ' + curTable.attr('id')
198
+ curTable.find('colgroup').hide();
199
+ logger.debug(log_text);
200
+ } else {
201
+ log_text = '\n' + 'show colgroup: ' + curTable.attr('id')
202
+ curTable.find('colgroup').show();
203
+ logger.debug(log_text);
204
+ }
205
+ } // END if hasClass rtable
206
+
207
+ // add needed div element needed for BS to move the table found
208
+ // for BS responsiveness
209
+ //
210
+ if ($(curTable).hasClass(/table-responsive/)) {
211
+ // see: https://stackoverflow.com/questions/2596833/how-to-move-child-element-from-one-parent-to-another-using-jquery
212
+ // see: https://github.com/NV/jquery-regexp-classes
213
+ //
214
+ const re = /table-responsive[-]*\w*/;
215
+ const myID = 'b-table-' + Math.floor(Math.random() * 10000) + 1;
216
+ var myClasses = $(curTable).attr("class");
217
+ var responsiveClassFound = myClasses.match(re);
218
+ var responsiveClass;
219
+
220
+ if (responsiveClassFound) {
221
+ responsiveClass = responsiveClassFound[0];
222
+ } else {
223
+ // failsafe
224
+ log_text = '\n' + 'no matching responsive class found';
225
+ logger.warn(log_text);
226
+ }
227
+
228
+ // remove responsive class from the table
229
+ $(curTable).removeClass(/table-responsive[-]*\w+/);
230
+ $(curTable).addClass('table');
231
+
232
+ // add needed div element needed for BS
233
+ $('<div>', {
234
+ id: myID,
235
+ class: responsiveClass
236
+ }).insertBefore($(curTable));
237
+
238
+ // move the table found for BS responsiveness
239
+ $('#' + myID ).append($(curTable));
240
+ } // END if hasClass 'table-responsive'
241
+ });
242
+
243
+ _this.setState('finished');
244
+ logger.debug('\n' + 'state: ' + _this.getState());
245
+ logger.info('\n' + 'initializing module: finished');
246
+
247
+ endTimeModule = Date.now();
248
+ logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
249
+
250
+ clearInterval(dependency_met_page_ready);
251
+ } // END if pageVisible
252
+ }, 10); // END dependency_met_page_ready
253
+ }, // END init
254
+
255
+ // -------------------------------------------------------------------------
256
+ // messageHandler()
257
+ // manage messages send from other J1 modules
258
+ // -------------------------------------------------------------------------
259
+ messageHandler: (sender, message) => {
260
+ var json_message = JSON.stringify(message, undefined, 2);
261
+
262
+ logText = '\n' + 'received message from ' + sender + ': ' + json_message;
263
+ logger.debug(logText);
264
+
265
+ // -----------------------------------------------------------------------
266
+ // process commands|actions
267
+ // -----------------------------------------------------------------------
268
+ if (message.type === 'command' && message.action === 'module_initialized') {
269
+
270
+ //
271
+ // place handling of command|action here
272
+ //
273
+
274
+ logger.info('\n' + message.text);
275
+ }
276
+
277
+ //
278
+ // place handling of other command|action here
279
+ //
280
+
281
+ return true;
282
+ }, // END messageHandler
283
+
284
+ // -------------------------------------------------------------------------
285
+ // setState()
286
+ // sets the current (processing) state of the module
287
+ // -------------------------------------------------------------------------
288
+ setState: (stat) => {
289
+ _this.state = stat;
290
+ }, // END setState
291
+
292
+ // -------------------------------------------------------------------------
293
+ // getState()
294
+ // Returns the current (processing) state of the module
295
+ // -------------------------------------------------------------------------
296
+ getState: () => {
297
+ return _this.state;
298
+ } // END getState
299
+
300
+ }; // END main (return)
301
+ })(j1, window);
302
+
303
+ {% endcapture %}
304
+ {% if production %}
305
+ {{ cache | minifyJS }}
306
+ {% else %}
307
+ {{ cache | strip_empty_lines }}
308
+ {% endif %}
309
+ {% assign cache = nil %}