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
@@ -27,8 +27,8 @@ regenerate: true
27
27
 
28
28
  {% comment %} Set global settings
29
29
  -------------------------------------------------------------------------------- {% endcomment %}
30
- {% assign environment = site.environment %}
31
- {% assign asset_path = "/assets/themes/j1" %}
30
+ {% assign environment = site.environment %}
31
+ {% assign asset_path = "/assets/themes/j1" %}
32
32
 
33
33
  {% comment %} Process YML config data
34
34
  ================================================================================ {% endcomment %}
@@ -87,56 +87,63 @@ regenerate: true
87
87
  /* eslint indent: "off" */
88
88
  // -----------------------------------------------------------------------------
89
89
  'use strict';
90
- j1.adapter.advertising = (function (j1, window) {
91
-
92
- {% comment %} Set global variables
93
- -------------------------------------------------------------------------------- {% endcomment %}
94
- var environment = '{{environment}}';
95
- var production = (environment.includes('prod') ? true : false);
96
- var development = (environment.includes('dev') ? true : false);
97
- var date = new Date();
98
- var timestamp_now = date.toISOString();
99
- var gasScript = document.createElement('script');
100
- var gasDiv = document.createElement('div');
101
- var gasIns = document.createElement('ins');
102
- var adInitializerScript = document.createElement('script');
103
- var advertisingProvider = 'Google Adsense';
104
- var state = 'not_started';
105
- var layout;
106
- var advertisingDefaults;
107
- var advertisingSettings;
108
- var advertisingOptions;
109
- var frontmatterOptions;
110
- var autoHideOnUnfilled;
111
- var addBorderOnUnfilled;
112
- var checkTrackingProtection;
113
- var showErrorPageOnBlocked;
114
- var adInitializerScriptText;
115
- var tracking_protection;
116
- var url;
117
- var baseUrl;
118
- var hostname;
119
- var cookie_names;
120
- var user_consent;
121
- var publisherID;
122
- var validpublisherID;
123
- var _this;
124
- var logger;
125
- var logText;
90
+ j1.adapter.advertising = ((j1, window) => {
91
+
92
+ {% comment %} Set global variables
93
+ ----------------------------------------------------------------------------- {% endcomment %}
94
+ var environment = '{{environment}}';
95
+ var production = (environment.includes('prod') ? true : false);
96
+ var development = (environment.includes('dev') ? true : false);
97
+ var date = new Date();
98
+ var timestamp_now = date.toISOString();
99
+ var gasScript = document.createElement('script');
100
+ var gasDiv = document.createElement('div');
101
+ var gasIns = document.createElement('ins');
102
+ var adInitializerScript = document.createElement('script');
103
+ var advertisingProvider = 'Google Adsense';
104
+ var state = 'not_started';
105
+ var layout;
106
+ var advertisingDefaults;
107
+ var advertisingSettings;
108
+ var advertisingOptions;
109
+ var frontmatterOptions;
110
+ var autoHideOnUnfilled;
111
+ var addBorderOnUnfilled;
112
+ var checkTrackingProtection;
113
+ var showErrorPageOnBlocked;
114
+ var adInitializerScriptText;
115
+ var tracking_protection;
116
+ var url;
117
+ var baseUrl;
118
+ var hostname;
119
+ var cookie_names;
120
+ var user_consent;
121
+ var publisherID;
122
+ var validpublisherID;
123
+
124
+ var _this;
125
+ var logger;
126
+ var logText;
127
+
128
+ // date|time
129
+ var startTime;
130
+ var endTime;
131
+ var startTimeModule;
132
+ var endTimeModule;
133
+ var timeSeconds;
126
134
 
127
135
  // ---------------------------------------------------------------------------
128
- // Main object
136
+ // main
129
137
  // ---------------------------------------------------------------------------
130
138
  return {
131
139
 
132
140
  // -------------------------------------------------------------------------
133
- // init()
134
141
  // adapter initializer
135
142
  // -------------------------------------------------------------------------
136
- init: function (options) {
143
+ init: (options) => {
137
144
 
138
145
  // -----------------------------------------------------------------------
139
- // Default module settings
146
+ // default module settings
140
147
  // -----------------------------------------------------------------------
141
148
  var settings = $.extend({
142
149
  module_name: 'j1.adapter.advertising',
@@ -144,14 +151,14 @@ var logText;
144
151
  }, options);
145
152
 
146
153
  // -----------------------------------------------------------------------
147
- // Global variable settings
154
+ // global variable settings
148
155
  // -----------------------------------------------------------------------
149
- logger = log4javascript.getLogger('j1.adapter.advertising');
150
- _this = j1.adapter.advertising;
151
- cookie_names = j1.getCookieNames();
152
- user_consent = j1.readCookie(cookie_names.user_consent);
153
- url = new liteURL(window.location.href);
154
- hostname = url.hostname;
156
+ logger = log4javascript.getLogger('j1.adapter.advertising');
157
+ _this = j1.adapter.advertising;
158
+ cookie_names = j1.getCookieNames();
159
+ user_consent = j1.readCookie(cookie_names.user_consent);
160
+ url = new liteURL(window.location.href);
161
+ hostname = url.hostname;
155
162
 
156
163
  // create settings object from frontmatter
157
164
  //
@@ -170,13 +177,16 @@ var logText;
170
177
  checkTrackingProtection = advertisingOptions.google.checkTrackingProtection;
171
178
  showErrorPageOnBlocked = advertisingOptions.google.showErrorPageOnBlocked;
172
179
 
173
- // run initialization on 'contentVisible'
174
- //
175
- var dependencies_met_page_ready = setInterval (function (options) {
176
- var contentState = $('#content').css("display");
177
- var contentVisible = (contentState == 'block') ? true: false;
180
+ // -----------------------------------------------------------------------
181
+ // module initializer
182
+ // -----------------------------------------------------------------------
183
+ var dependencies_met_page_ready = setInterval (() => {
184
+ var pageState = $('#content').css("display");
185
+ var pageVisible = (pageState === 'block') ? true: false;
186
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
178
187
 
179
- if (j1.getState() === 'finished' && contentVisible) {
188
+ if (j1CoreFinished && pageVisible) {
189
+ startTimeModule = Date.now();
180
190
 
181
191
  {% comment %} detect|load code if 'advertising' is 'enabled'
182
192
  ------------------------------------------------------------------------ {% endcomment %}
@@ -185,10 +195,9 @@ var logText;
185
195
  _this.ad_initializer();
186
196
 
187
197
  if (!validpublisherID) {
188
- if (development) {
189
- logger.warn('\n' + 'invalid publisher id: ' + publisherID);
190
- logger.info('\n' + 'module disabled' );
191
- }
198
+ logger.warn('\n' + 'invalid publisher id: ' + publisherID);
199
+ logger.info('\n' + 'module disabled' );
200
+
192
201
  clearInterval(dependencies_met_page_ready);
193
202
  return false;
194
203
  }
@@ -198,88 +207,65 @@ var logText;
198
207
  // [INFO ] [j1.adapter.advertising ] [ place provider: Google Adsense ]
199
208
 
200
209
  // initialize state flag
201
- //
202
210
  _this.setState('started');
203
- if (development) {
204
- logger.debug('\n' + 'state: ' + _this.getState());
205
- }
211
+
212
+ logger.debug('\n' + 'state: ' + _this.getState());
206
213
 
207
214
  if (user_consent.personalization) {
208
- if (development) {
209
- logger.info('\n' + 'adsense api is being initialized');
210
- }
215
+ logger.info('\n' + 'adsense api is being initialized');
211
216
 
212
217
  if (!validpublisherID) {
213
- if (development) {
214
- logger.debug('\n' + 'invalid publisherID detected for Google Adsense: ' + publisherID);
215
- logger.info('\n' + 'skip initialization for provider: ' + advertisingProvider);
216
- }
218
+ logger.debug('\n' + 'invalid publisherID detected for Google Adsense: ' + publisherID);
219
+ logger.info('\n' + 'skip initialization for provider: ' + advertisingProvider);
220
+
217
221
  return false;
218
222
  } else {
219
- if (development) {
220
- logger.info('\n' + 'use publisherID for Google Adsense: ' + publisherID);
221
- }
223
+ logger.info('\n' + 'use publisherID for Google Adsense: ' + publisherID);
222
224
  }
223
225
 
224
226
  // add Google Adsense API dynamically in head section loaded async
225
227
  //
226
- if (development) {
227
- logger.info('\n' + 'add Google AdsenseAPI in section: head');
228
- }
228
+ logger.info('\n' + 'add Google AdsenseAPI in section: head');
229
229
 
230
230
  gasScript.async = true;
231
231
  gasScript.id = 'gas-api';
232
232
  gasScript.src = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
233
233
  gasScript.setAttribute('data-ad-client', publisherID);
234
- document.head.appendChild(gasScript);
235
234
 
236
- if (development) {
237
- logger.info('\n' + 'adsense api initialized');
238
- }
235
+ document.head.appendChild(gasScript);
236
+ logger.info('\n' + 'adsense api initialized');
239
237
 
240
238
  // setup monitor for state changes on all ads configured
241
239
  //
242
- setTimeout(function () {
240
+ setTimeout(() => {
243
241
  var ads_found = (document.getElementsByClassName('adsbygoogle').length > 0) ? true : false;
244
242
  if (ads_found > 0) {
245
- if (development) {
246
- logger.info('\n' + 'setup Google Ad monitoring');
247
- }
243
+ logger.info('\n' + 'setup Google Ad monitoring');
248
244
  _this.ad_monitor();
249
245
  } else {
250
- if (development) {
251
- logger.warn('\n' + 'no initialized Google Ads found in page');
252
- }
246
+ logger.warn('\n' + 'no initialized Google Ads found in page');
253
247
  }
254
248
  }, 1000);
255
249
 
256
250
  // run protection check
257
251
  //
258
252
  if (checkTrackingProtection) {
259
- if (development) {
260
- logger.debug('\n' + 'run checks for tracking protection');
261
- }
253
+ logger.debug('\n' + 'run checks for tracking protection');
262
254
 
263
255
  _this.check_tracking_protection();
264
- var dependencies_met_tracking_check_ready = setInterval (function (options) {
256
+ var dependencies_met_tracking_check_ready = setInterval (() => {
265
257
  if (typeof tracking_protection !== 'undefined' ) {
266
258
  var browser_tracking_feature = navigator.DoNotTrack;
267
259
 
268
260
  if (!tracking_protection && !browser_tracking_feature) {
269
- if (development) {
270
- logText = '\n' + 'tracking protection: disabled';
271
- logger.info(logText);
272
- }
261
+ logText = '\n' + 'tracking protection: disabled';
262
+ logger.info(logText);
273
263
  } else {
274
- if (development) {
275
- logText = '\n' + 'tracking protection: enabled';
276
- logger.debug(logText);
277
- }
264
+ logText = '\n' + 'tracking protection: enabled';
265
+ logger.debug(logText);
278
266
 
279
267
  if (showErrorPageOnBlocked) {
280
- if (development) {
281
- logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
282
- }
268
+ logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
283
269
  // redirect to error page: blocked content
284
270
  window.location.href = '/447.html';
285
271
  }
@@ -287,18 +273,18 @@ var logText;
287
273
  }
288
274
 
289
275
  clearInterval(dependencies_met_tracking_check_ready);
290
- }, 10);
276
+ }, 10); // END dependencies_met_tracking_check_ready
291
277
  } else {
292
278
  // no protection check enabled
293
279
  _this.setState('finished');
280
+ logger.debug('\n' + 'state: ' + _this.getState());
281
+ logger.info('\n' + 'initializing module: finished');
294
282
 
295
- if (development) {
296
- logger.debug('\n' + 'state: ' + _this.getState());
297
- logger.info('\n' + 'module initialized successfully');
298
- }
283
+ endTimeModule = Date.now();
284
+ logger.info('\n' + 'module initializing time: ' + (endTimeModule-startTimeModule) + 'ms');
299
285
 
300
286
  clearInterval(dependencies_met_tracking_check_ready);
301
- }
287
+ } // END if checkTrackingProtection
302
288
 
303
289
  } else {
304
290
  // user consent on personalization "false"
@@ -314,9 +300,8 @@ var logText;
314
300
  // if consent is rejected, detect and remove Adsense cookies
315
301
  //
316
302
  var gasCookies = j1.findCookie('__g');
317
- gasCookies.forEach(function (item) {
303
+ gasCookies.forEach((item) => {
318
304
  // remove Google Ad cookies
319
- //
320
305
  if (hostname == 'localhost') {
321
306
  j1.removeCookie({ name: item, domain: false, secure: false });
322
307
  } else {
@@ -325,7 +310,6 @@ var logText;
325
310
  });
326
311
 
327
312
  // manage tracking protection
328
- //
329
313
  if (checkTrackingProtection) {
330
314
  if (!user_consent.personalization) {
331
315
  if (development) {
@@ -343,7 +327,7 @@ var logText;
343
327
  }
344
328
  }
345
329
 
346
- } // END if user_consent.personalization
330
+ } // END if user_consent = personalization
347
331
 
348
332
  {% when "custom" %}
349
333
  // [INFO ] [j1.adapter.advertising ] [ place provider: Custom Provider ]
@@ -351,11 +335,11 @@ var logText;
351
335
  // [INFO ] [j1.adapter.advertising ] [ end processing ]
352
336
  {% else %}
353
337
  var ads_found = document.getElementsByClassName('adsbygoogle').length;
354
- if (development) {
355
- logger = log4javascript.getLogger('j1.adapter.advertising');
356
- logger.debug('\n' + 'found ads in page: #' + ads_found);
357
- logger.debug('\n' + 'no ads initialized, advertising disabled');
358
- }
338
+
339
+ logger = log4javascript.getLogger('j1.adapter.advertising');
340
+ logger.debug('\n' + 'found ads in page: #' + ads_found);
341
+ logger.debug('\n' + 'no ads initialized, advertising disabled');
342
+
359
343
  {% endif %} // END if 'advertising'
360
344
 
361
345
  clearInterval(dependencies_met_page_ready);
@@ -367,31 +351,32 @@ var logText;
367
351
  // ad_initializer()
368
352
  // initialze all ad units in a page (ins elements)
369
353
  // -------------------------------------------------------------------------
370
- ad_initializer: function () {
354
+ ad_initializer: () => {
371
355
 
372
- var dependencies_met_page_visible = setInterval (function (options) {
373
- var contentState = $('#content').css("display");
374
- var contentVisible = (contentState == 'block') ? true: false;
356
+ var dependencies_met_page_visible = setInterval (() => {
357
+ var pageState = $('#content').css("display");
358
+ var pageVisible = (pageState === 'block') ? true: false;
359
+ var j1CoreFinished = (j1.getState() === 'finished') ? true : false;
375
360
  var ads_found = (document.getElementsByClassName('adsbygoogle').length > 0) ? true : false;
376
361
  var ads_initialized = 0;
377
362
  var ad_containers;
378
363
 
379
- if (j1.getState() === 'finished' && contentVisible && ads_found) {
364
+ if (j1CoreFinished && pageVisible && ads_found) {
365
+
380
366
  if (!validpublisherID) {
381
367
  // skip setup processes
382
- //
383
368
  clearInterval(dependencies_met_page_visible);
369
+
384
370
  return false;
385
371
  }
386
372
 
387
373
  // create|loading adverting for containers enabled
388
- //
389
374
  ad_containers = advertisingOptions.google.ads;
390
- ad_containers.forEach(function (ad) {
375
+ ad_containers.forEach((ad) => {
391
376
  if (user_consent.personalization) {
392
377
  var currentDiv = document.getElementById(ad.id);
393
378
 
394
- if (currentDiv !== null && ad.enabled && ad.layout == layout) {
379
+ if (currentDiv !== null && ad.enabled && ad.layout === layout) {
395
380
  var ins = document.createElement('ins');
396
381
 
397
382
  currentDiv.appendChild(ins);
@@ -405,15 +390,15 @@ var logText;
405
390
  document.getElementById(insID).setAttribute('data-ad-slot', ad.slot);
406
391
  document.getElementById(insID).setAttribute('data-ad-format', ad.ad_format);
407
392
 
408
- if (ad.ad_layout == 'display') {
393
+ if (ad.ad_layout === 'display') {
409
394
  document.getElementById(insID).setAttribute('data-full-width-responsive', ad.ad_responsive);
410
395
  }
411
396
 
412
- // if (ad.ad_layout == 'in-article') {
397
+ // if (ad.ad_layout === 'in-article') {
413
398
  // document.getElementById(insID).setAttribute('data-ad-format', ad.ad_format);
414
399
  // }
415
400
 
416
- if (ad.ad_layout == 'multiplex') {
401
+ if (ad.ad_layout === 'multiplex') {
417
402
  document.getElementById(insID).setAttribute('data-matched-content-ui-typ', ad.ui_type);
418
403
  document.getElementById(insID).setAttribute('data-matched-content-columns-num', ad.ui_columns);
419
404
  document.getElementById(insID).setAttribute('data-matched-content-rows-num', ad.ui_rows);
@@ -421,25 +406,19 @@ var logText;
421
406
 
422
407
  ads_initialized ++;
423
408
  } else {
424
- if (ad.layout == layout) {
425
- if (development) {
426
- logger.warn('\n' + 'ad disabled on id ' + ad.id + ' for slot: ' + ad.slot);
427
- }
409
+ if (ad.layout === layout) {
410
+ logger.warn('\n' + 'ad disabled on id ' + ad.id + ' for slot: ' + ad.slot);
428
411
  }
429
412
  }
430
413
  } else {
431
- if (development) {
432
- logger.warn('\n' + 'skipped add settings on all ad containers');
433
- }
414
+ logger.warn('\n' + 'skipped add settings on all ad containers');
434
415
  } // END if user_consent.personalization
435
416
 
436
417
  });
437
418
  // END loading adverting containers
438
419
 
439
420
  if (ads_initialized > 0) {
440
- if (development) {
441
- logger.info('\n' + 'ads enabled found in page (total): ' + ads_initialized);
442
- }
421
+ logger.info('\n' + 'ads enabled found in page (total): ' + ads_initialized);
443
422
 
444
423
  var google_ads = document.getElementsByClassName('adsbygoogle');
445
424
  var counter = document.getElementsByClassName('adsbygoogle').length;
@@ -452,7 +431,7 @@ var logText;
452
431
  //
453
432
  counter--;
454
433
 
455
- [].forEach.call(google_ads, function() {
434
+ [].forEach.call(google_ads, () => {
456
435
  // skip last element in google_ads (adsbygoogle-noablate)
457
436
  if (counter > 0) {
458
437
  (adsbygoogle = window.adsbygoogle || []).push({});
@@ -460,17 +439,13 @@ var logText;
460
439
  counter --;
461
440
  });
462
441
  } else {
463
- if (development) {
464
- logger.warn('\n' + 'no ads found in page for layout: ' + layout);
465
- }
442
+ logger.warn('\n' + 'no ads found in page for layout: ' + layout);
466
443
  } // END if ads_initialized
467
444
 
468
445
  clearInterval(dependencies_met_page_visible);
469
446
  } // END contentVisible|ads_found
470
-
471
447
  }, 10); // END dependencies_met_page_visible
472
-
473
- }, // END ad_initializer
448
+ }, // END init
474
449
 
475
450
  // -------------------------------------------------------------------------
476
451
  // ad_monitor()
@@ -482,10 +457,10 @@ var logText;
482
457
  // NOTE: Skip ad containers with class 'adsbygoogle-noablate'
483
458
  //
484
459
  // -------------------------------------------------------------------------
485
- ad_monitor: function () {
460
+ ad_monitor: () => {
486
461
  $('.adsbygoogle').attrchange({
487
- trackValues: true,
488
- callback: function (event) {
462
+ trackValues: true,
463
+ callback: (event) => {
489
464
  var elm = event.target.dataset;
490
465
  var elm_classes = event.target.className;
491
466
  var validAdContainer = (elm_classes.includes('adsbygoogle-noablate')) ? false : true;
@@ -510,9 +485,7 @@ var logText;
510
485
  $('.adsbygoogle').hide();
511
486
  }
512
487
  } else if (event.newValue === 'filled') {
513
- if (development) {
514
- logger.info('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
515
- }
488
+ logger.info('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
516
489
  } else {
517
490
  var filled = (event.newValue.includes('display') ? true : false);
518
491
  var unfilled = (event.newValue.includes('dotted') ? true : false);
@@ -553,22 +526,20 @@ var logText;
553
526
  // See for more details:
554
527
  // https://stackoverflow.com/questions/33959324/how-to-detect-if-a-user-is-using-tracking-protection-in-firefox-42
555
528
  // -------------------------------------------------------------------------
556
- check_tracking_protection: function () {
529
+ check_tracking_protection: () => {
557
530
  var logger = log4javascript.getLogger('j1.adapter.advertising.monitor.tracking');
558
531
 
559
- if (development) {
560
- logText = '\n' + 'check for trackingprotection';
561
- logger.info(logText);
562
- }
532
+ logText = '\n' + 'check for trackingprotection';
533
+ logger.info(logText);
563
534
 
564
535
  function checkTrackingProtection() {
565
536
  if (!checkTrackingProtection.promise) {
566
- checkTrackingProtection.promise = new Promise(function(resolve, reject) {
537
+ checkTrackingProtection.promise = new Promise((resolve, reject) => {
567
538
 
568
- var time = Date.now();
569
- var img = new Image();
570
- img.onload = resolve;
571
- img.onerror = function() {
539
+ var time = Date.now();
540
+ var img = new Image();
541
+ img.onload = resolve;
542
+ img.onerror = () => {
572
543
  if ((Date.now() - time) < 50) {
573
544
  reject(new Error("Rejected."));
574
545
  } else {
@@ -580,9 +551,7 @@ var logText;
580
551
  tracking_protection = false;
581
552
  }).catch(e => {
582
553
  tracking_protection = true;
583
- if (development) {
584
- logger.debug('\n' + 'detection details: ' + e);
585
- }
554
+ logger.debug('\n' + 'detection details: ' + e);
586
555
  });
587
556
  }
588
557
  }
@@ -594,21 +563,21 @@ var logText;
594
563
  // messageHandler()
595
564
  // manage messages send from other J1 modules
596
565
  // -------------------------------------------------------------------------
597
- messageHandler: function (sender, message) {
566
+ messageHandler: (sender, message) => {
598
567
  var json_message = JSON.stringify(message, undefined, 2);
599
568
 
600
- if (development) {
601
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
602
- logger.debug(logText);
603
- }
569
+ logText = '\n' + 'received message from ' + sender + ': ' + json_message;
570
+ logger.debug(logText);
604
571
 
605
572
  // -----------------------------------------------------------------------
606
573
  // Process commands|actions
607
574
  // -----------------------------------------------------------------------
608
575
  if (message.type === 'command' && message.action === 'module_initialized') {
576
+
609
577
  //
610
578
  // Place handling of command|action here
611
579
  //
580
+
612
581
  if (development) {
613
582
  logger.info('\n' + message.text);
614
583
  }
@@ -625,7 +594,7 @@ var logText;
625
594
  // setState()
626
595
  // Sets the current (processing) state of the module
627
596
  // -------------------------------------------------------------------------
628
- setState: function (stat) {
597
+ setState: (stat) => {
629
598
  _this.state = stat;
630
599
  }, // END setState
631
600
 
@@ -633,7 +602,7 @@ var logText;
633
602
  // getState()
634
603
  // Returns the current (processing) state of the module
635
604
  // -------------------------------------------------------------------------
636
- getState: function () {
605
+ getState: () => {
637
606
  return _this.state;
638
607
  } // END getState
639
608