j1-template 2023.2.6 → 2023.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +2 -1
  3. data/_includes/themes/j1/layouts/content_generator_post.html +2 -2
  4. data/_includes/themes/j1/layouts/layout_metadata_generator.html +41 -38
  5. data/_includes/themes/j1/procedures/blocks/footer/boxes/about_box.proc +1 -1
  6. data/_includes/themes/j1/procedures/blocks/footer/boxes/contacts_box.proc +1 -1
  7. data/_includes/themes/j1/procedures/blocks/footer/boxes/issue.proc +1 -1
  8. data/_includes/themes/j1/procedures/blocks/footer/boxes/links_box.proc +1 -1
  9. data/_includes/themes/j1/procedures/blocks/footer/boxes/news_box.proc +1 -1
  10. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -3
  11. data/_includes/themes/j1/procedures/layouts/module_writer.proc +7 -23
  12. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +8 -8
  13. data/_layouts/compress.html +26 -21
  14. data/_layouts/default.html +36 -30
  15. data/assets/data/banner.html +5 -2
  16. data/assets/data/footer.html +15 -3
  17. data/assets/data/masterslider.html +1 -0
  18. data/assets/data/menu.html +4 -4
  19. data/assets/data/panel.html +6 -3
  20. data/assets/data/quicklinks.html +138 -149
  21. data/assets/error_pages/HTTP204.html +3 -3
  22. data/assets/error_pages/HTTP400.html +3 -3
  23. data/assets/error_pages/HTTP401.html +3 -3
  24. data/assets/error_pages/HTTP403.html +3 -3
  25. data/assets/error_pages/HTTP404.html +3 -3
  26. data/assets/error_pages/HTTP444.html +3 -3
  27. data/assets/error_pages/HTTP445.html +3 -3
  28. data/assets/error_pages/HTTP446.html +5 -5
  29. data/assets/error_pages/HTTP447.html +7 -7
  30. data/assets/error_pages/HTTP448.html +7 -7
  31. data/assets/error_pages/HTTP500.html +3 -3
  32. data/assets/error_pages/HTTP501.html +3 -3
  33. data/assets/error_pages/HTTP502.html +3 -3
  34. data/assets/error_pages/HTTP503.html +3 -3
  35. data/assets/themes/j1/adapter/js/advertising.js +109 -116
  36. data/assets/themes/j1/adapter/js/analytics.js +1 -1
  37. data/assets/themes/j1/adapter/js/asciidoctor.js +1 -1
  38. data/assets/themes/j1/adapter/js/attic.js +22 -14
  39. data/assets/themes/j1/adapter/js/bmd.js +1 -1
  40. data/assets/themes/j1/adapter/js/carousel.js +5 -4
  41. data/assets/themes/j1/adapter/js/clipboard.js +1 -1
  42. data/assets/themes/j1/adapter/js/comments.js +5 -5
  43. data/assets/themes/j1/adapter/js/cookieConsent.js +1 -1
  44. data/assets/themes/j1/adapter/js/customFunctions.js +1 -1
  45. data/assets/themes/j1/adapter/js/customModule.js +1 -1
  46. data/assets/themes/j1/adapter/js/dropdowns.js +4 -2
  47. data/assets/themes/j1/adapter/js/fab.js +9 -6
  48. data/assets/themes/j1/adapter/js/framer.js +1 -1
  49. data/assets/themes/j1/adapter/js/iconPicker.js +227 -0
  50. data/assets/themes/j1/adapter/js/j1.js +401 -76
  51. data/assets/themes/j1/adapter/js/justifiedGallery.js +9 -3
  52. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +2 -2
  53. data/assets/themes/j1/adapter/js/lightbox.js +4 -3
  54. data/assets/themes/j1/adapter/js/logger.js +1 -1
  55. data/assets/themes/j1/adapter/js/lunr.js +1 -1
  56. data/assets/themes/j1/adapter/js/masonry.js +4 -3
  57. data/assets/themes/j1/adapter/js/masterslider.js +30 -57
  58. data/assets/themes/j1/adapter/js/mmenu.js +2 -2
  59. data/assets/themes/j1/adapter/js/navigator.js +7 -5
  60. data/assets/themes/j1/adapter/js/nbinteract.js +9 -9
  61. data/assets/themes/j1/adapter/js/particles.js +2 -2
  62. data/assets/themes/j1/adapter/js/rangeSlider.js +2 -2
  63. data/assets/themes/j1/adapter/js/rouge.js +2 -2
  64. data/assets/themes/j1/adapter/js/rtable.js +1 -1
  65. data/assets/themes/j1/adapter/js/rtextResizer.js +1 -1
  66. data/assets/themes/j1/adapter/js/scroller.js +97 -109
  67. data/assets/themes/j1/adapter/js/slick.js +28 -18
  68. data/assets/themes/j1/adapter/js/themeToggler.js +259 -0
  69. data/assets/themes/j1/adapter/js/themer.js +17 -8
  70. data/assets/themes/j1/adapter/js/toccer.js +9 -6
  71. data/assets/themes/j1/adapter/js/translator.js +4 -2
  72. data/assets/themes/j1/adapter/js/waves.js +6 -4
  73. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +1322 -417
  74. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +3 -3
  75. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +1983 -1266
  76. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +3 -3
  77. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +10268 -9402
  78. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +10 -10
  79. data/assets/themes/j1/core/css/vendor.css +0 -14
  80. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  81. data/assets/themes/j1/modules/advertising/js/adInitializer.js +160 -0
  82. data/assets/themes/j1/modules/backstretch/js/backstretch.js +6 -4
  83. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  84. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.js +1 -1
  85. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.min.js +1 -1
  86. data/assets/themes/j1/modules/iconPicker/README.md +266 -0
  87. data/assets/themes/j1/modules/iconPicker/css/universal-icon-picker.css +419 -0
  88. data/assets/themes/j1/modules/iconPicker/css/universal-icon-picker.min.css +17 -0
  89. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-brands.json +467 -0
  90. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-brands.min.json +1 -0
  91. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-regular.json +169 -0
  92. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-regular.min.json +1 -0
  93. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-solid.json +1136 -0
  94. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome-solid.min.json +1 -0
  95. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome.json +1772 -0
  96. data/assets/themes/j1/modules/iconPicker/icons-libraries/font-awesome.min.json +1 -0
  97. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.json +292 -0
  98. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.min.json +1 -0
  99. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.json +7312 -0
  100. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.min.json +1 -0
  101. data/assets/themes/j1/modules/iconPicker/images/magnifying-glass-solid.svg +1 -0
  102. data/assets/themes/j1/modules/iconPicker/images/star-of-life-solid.svg +3 -0
  103. data/assets/themes/j1/modules/iconPicker/images/xmark-solid.svg +3 -0
  104. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.js +493 -0
  105. data/assets/themes/j1/modules/iconPicker/js/universal-icon-picker.min.js +17 -0
  106. data/assets/themes/j1/modules/jquery/AUTHORS.txt +372 -0
  107. data/assets/themes/j1/modules/jquery/LICENSE.txt +43 -0
  108. data/assets/themes/j1/modules/jquery/css/images/ui-icons_444444_256x240.png +0 -0
  109. data/assets/themes/j1/modules/jquery/css/images/ui-icons_555555_256x240.png +0 -0
  110. data/assets/themes/j1/modules/jquery/css/images/ui-icons_777620_256x240.png +0 -0
  111. data/assets/themes/j1/modules/jquery/css/images/ui-icons_777777_256x240.png +0 -0
  112. data/assets/themes/j1/modules/jquery/css/images/ui-icons_cc0000_256x240.png +0 -0
  113. data/assets/themes/j1/modules/jquery/css/images/ui-icons_ffffff_256x240.png +0 -0
  114. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.css +92 -92
  115. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.min.css +4 -4
  116. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.structure.css +88 -88
  117. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.structure.min.css +2 -2
  118. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.theme.css +4 -4
  119. data/assets/themes/j1/modules/jquery/css/jquery-ui/jquery-ui.theme.min.css +2 -2
  120. data/assets/themes/j1/modules/jquery/js/jquery-ui.js +13683 -13678
  121. data/assets/themes/j1/modules/jquery/js/jquery-ui.min.js +3 -3
  122. data/assets/themes/j1/modules/jquery/js/jquery.js +1029 -1203
  123. data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -2
  124. data/assets/themes/j1/modules/jquery/js/jquery.min.map +1 -1
  125. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.css +1315 -0
  126. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.min.css +7 -0
  127. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.css +886 -0
  128. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.min.css +5 -0
  129. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.css +446 -0
  130. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.min.css +5 -0
  131. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.js +37 -0
  132. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.min.js +17 -0
  133. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.js +42 -0
  134. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.min.js +17 -0
  135. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.js +19057 -0
  136. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.min.js +6 -0
  137. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.js +10872 -0
  138. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.js +2 -0
  139. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.map +1 -0
  140. data/assets/themes/j1/modules/jquery-3.5.1/js/require.js +2145 -0
  141. data/assets/themes/j1/modules/jquery-3.5.1/js/require.min.js +5 -0
  142. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.js +2 -2
  143. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.min.js +1 -1
  144. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +9 -9
  145. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +1 -1
  146. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +2 -2
  147. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
  148. data/assets/themes/j1/modules/rouge/css/uno.dark/theme.css +136 -47
  149. data/assets/themes/j1/modules/rouge/css/uno.light/theme.css +9 -9
  150. data/assets/themes/j1/modules/scroller/js/scroller.js +76 -69
  151. data/assets/themes/j1/modules/scroller/js/scroller.min.js +1 -1
  152. data/assets/themes/j1/modules/translator/js/translator.js +1 -1
  153. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  154. data/lib/j1/version.rb +1 -1
  155. data/lib/starter_web/Gemfile +2 -2
  156. data/lib/starter_web/README.md +5 -5
  157. data/lib/starter_web/_config.yml +4 -1
  158. data/lib/starter_web/_data/blocks/banner.yml +8 -5
  159. data/lib/starter_web/_data/blocks/defaults/footer.yml +3 -3
  160. data/lib/starter_web/_data/blocks/footer.yml +9 -5
  161. data/lib/starter_web/_data/blocks/panel.yml +41 -38
  162. data/lib/starter_web/_data/j1_config.yml +68 -58
  163. data/lib/starter_web/_data/layouts/collection.yml +1 -0
  164. data/lib/starter_web/_data/layouts/default.yml +1 -1
  165. data/lib/starter_web/_data/layouts/home.yml +9 -9
  166. data/lib/starter_web/_data/layouts/news_panel_posts.yml +1 -0
  167. data/lib/starter_web/_data/layouts/page.yml +2 -1
  168. data/lib/starter_web/_data/layouts/post.yml +1 -0
  169. data/lib/starter_web/_data/layouts/raw.yml +1 -0
  170. data/lib/starter_web/_data/modules/advertising.yml +134 -61
  171. data/lib/starter_web/_data/modules/analytics.yml +2 -2
  172. data/lib/starter_web/_data/modules/attics.yml +4 -7
  173. data/lib/starter_web/_data/modules/defaults/advertising.yml +2 -1
  174. data/lib/starter_web/_data/modules/defaults/attics.yml +3 -3
  175. data/lib/starter_web/_data/modules/defaults/iconPicker.yml +42 -0
  176. data/lib/starter_web/_data/modules/defaults/navigator.yml +15 -13
  177. data/lib/starter_web/_data/modules/defaults/theme_toggler.yml +42 -0
  178. data/lib/starter_web/_data/modules/iconPicker.yml +64 -0
  179. data/lib/starter_web/_data/modules/masonry.yml +1 -1
  180. data/lib/starter_web/_data/modules/masterslider.yml +5 -5
  181. data/lib/starter_web/_data/modules/navigator_menu.yml +150 -41
  182. data/lib/starter_web/_data/modules/scroller.yml +8 -8
  183. data/lib/starter_web/_data/modules/theme_toggler.yml +29 -0
  184. data/lib/starter_web/_data/modules/themer.yml +0 -6
  185. data/lib/starter_web/_data/resources.yml +53 -52
  186. data/lib/starter_web/_data/templates/feed.xml +1 -1
  187. data/lib/starter_web/_includes/attributes.asciidoc +57 -50
  188. data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +47 -0
  189. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  190. data/lib/starter_web/assets/images/icons/mdi/mdi.svg +1 -0
  191. data/lib/starter_web/assets/images/icons/mdi/mdil.svg +1 -0
  192. data/lib/starter_web/assets/images/modules/attics/1920x1280/alexander-redl.jpg +0 -0
  193. data/lib/starter_web/assets/images/modules/attics/1920x1280/alina-grubnyak.jpg +0 -0
  194. data/lib/starter_web/assets/images/modules/attics/1920x1280/andrea-badino.jpg +0 -0
  195. data/lib/starter_web/assets/images/modules/attics/1920x1280/brad-neathery.jpg +0 -0
  196. data/lib/starter_web/assets/images/modules/attics/1920x1280/bruno-figueiredo.jpg +0 -0
  197. data/lib/starter_web/assets/images/modules/attics/1920x1280/clem-onojeghuo.jpg +0 -0
  198. data/lib/starter_web/assets/images/modules/attics/1920x1280/core_web_vitals_best.png +0 -0
  199. data/lib/starter_web/assets/images/modules/attics/1920x1280/crawford-jolly.jpg +0 -0
  200. data/lib/starter_web/assets/images/modules/attics/1920x1280/eleni-afiontzi.jpg +0 -0
  201. data/lib/starter_web/assets/images/modules/attics/1920x1280/fly-d.jpg +0 -0
  202. data/lib/starter_web/assets/images/modules/attics/1920x1280/guillaume-bolduc.jpg +0 -0
  203. data/lib/starter_web/assets/images/modules/attics/1920x1280/harpal-singh.jpg +0 -0
  204. data/lib/starter_web/assets/images/modules/attics/1920x1280/hayden-mills-2.jpg +0 -0
  205. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-content-mockup-1.jpg +0 -0
  206. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-content-mockup-2.jpg +0 -0
  207. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-content-mockup-3.jpg +0 -0
  208. data/lib/starter_web/assets/images/modules/attics/1920x1280/j1-starter-mockup-1.jpg +0 -0
  209. data/lib/starter_web/assets/images/modules/attics/1920x1280/john-schnobrich-2.jpg +0 -0
  210. data/lib/starter_web/assets/images/modules/attics/1920x1280/josep-martins.jpg +0 -0
  211. data/lib/starter_web/assets/images/modules/attics/1920x1280/josh-liu.jpg +0 -0
  212. data/lib/starter_web/assets/images/modules/attics/1920x1280/kelly-sikkemal.jpg +0 -0
  213. data/lib/starter_web/assets/images/modules/attics/1920x1280/kira-auf-der-heide.jpg +0 -0
  214. data/lib/starter_web/assets/images/modules/attics/1920x1280/kristopher-roller.jpg +0 -0
  215. data/lib/starter_web/assets/images/modules/attics/1920x1280/kristopher-roller.webp +0 -0
  216. data/lib/starter_web/assets/images/modules/attics/1920x1280/matthaeus.jpg +0 -0
  217. data/lib/starter_web/assets/images/modules/attics/1920x1280/melanie-deziel.jpg +0 -0
  218. data/lib/starter_web/assets/images/modules/attics/1920x1280/milad-fakurian.jpg +0 -0
  219. data/lib/starter_web/assets/images/modules/attics/1920x1280/mohammad-rahmani.jpg +0 -0
  220. data/lib/starter_web/assets/images/modules/attics/1920x1280/nasa.jpg +0 -0
  221. data/lib/starter_web/assets/images/modules/attics/1920x1280/quino-al-2.jpg +0 -0
  222. data/lib/starter_web/assets/images/modules/attics/1920x1280/recha-oktaviani.jpg +0 -0
  223. data/lib/starter_web/assets/images/modules/attics/building-blocks-1920x1280.jpg +0 -0
  224. data/lib/starter_web/assets/images/modules/attics/christina-1920x1280.jpg +0 -0
  225. data/lib/starter_web/assets/images/modules/attics/cookies-1920x1200.jpg +0 -0
  226. data/lib/starter_web/assets/images/modules/attics/katie-moum-1920x1280.jpg +0 -0
  227. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best.jpg +0 -0
  228. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best.png +0 -0
  229. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best_full.png +0 -0
  230. data/lib/starter_web/assets/images/pages/html_validator/appdevtools-html-validator.jpg +0 -0
  231. data/lib/starter_web/assets/images/pages/html_validator/freeformatter-html-validator.jpg +0 -0
  232. data/lib/starter_web/assets/images/pages/html_validator/w3c-nu-checker.jpg +0 -0
  233. data/lib/starter_web/assets/images/pages/html_validator/w3c-validator.jpg +0 -0
  234. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +8 -9
  235. data/lib/starter_web/collections/_biography/becoming.adoc +22 -9
  236. data/lib/starter_web/collections/_biography/born-to-run.adoc +27 -9
  237. data/lib/starter_web/collections/_biography/forty-autumns.adoc +19 -12
  238. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +24 -14
  239. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +23 -14
  240. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +24 -11
  241. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +14 -10
  242. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +11 -8
  243. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +7 -8
  244. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +17 -14
  245. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +12 -13
  246. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +15 -15
  247. data/lib/starter_web/collections/_people/diana-petersen.adoc +2 -0
  248. data/lib/starter_web/collections/_people/larry-parker.adoc +2 -0
  249. data/lib/starter_web/collections/_people/parveen-anand.adoc +2 -0
  250. data/lib/starter_web/collections/_portfolio/branding.adoc +5 -0
  251. data/lib/starter_web/collections/_portfolio/graphic_design.adoc +5 -0
  252. data/lib/starter_web/collections/_portfolio/identity.adoc +5 -0
  253. data/lib/starter_web/collections/_portfolio/illustration.adoc +5 -0
  254. data/lib/starter_web/collections/_portfolio/photography.adoc +5 -0
  255. data/lib/starter_web/collections/_portfolio/web_design.adoc +5 -0
  256. data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes-a.adoc +8 -5
  257. data/lib/starter_web/collections/_romance/dressmaker-the.adoc +14 -14
  258. data/lib/starter_web/collections/_romance/fiery-cross-the.adoc +12 -9
  259. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +14 -11
  260. data/lib/starter_web/collections/_romance/outlander-novel.adoc +48 -25
  261. data/lib/starter_web/collections/_romance/virgins-outlander-short-story.adoc +30 -15
  262. data/lib/starter_web/index.html +6 -14
  263. data/lib/starter_web/package.json +3 -3
  264. data/lib/starter_web/pages/public/about/features.adoc +1 -4
  265. data/lib/starter_web/pages/public/about/reporting_issues.adoc +1 -3
  266. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +0 -5
  267. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -4
  268. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +0 -5
  269. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +0 -5
  270. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -6
  271. data/lib/starter_web/pages/public/features/general.adoc +0 -4
  272. data/lib/starter_web/pages/public/features/template.adoc +0 -4
  273. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +1 -3
  274. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
  275. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -1
  276. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -2
  277. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +75 -66
  278. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/attributes.asciidoc +58 -0
  279. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/accordion.asciidoc +34 -0
  280. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/alerts.asciidoc +15 -0
  281. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/badges.asciidoc +9 -0
  282. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/body.asciidoc +14 -0
  283. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/breadcrumbs.asciidoc +14 -0
  284. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/buttons.asciidoc +75 -0
  285. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/cards.asciidoc +22 -0
  286. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/carousel.asciidoc +37 -0
  287. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/close.asciidoc +15 -0
  288. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/code.asciidoc +14 -0
  289. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/color_system.asciidoc +353 -0
  290. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/components.asciidoc +69 -0
  291. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/dropdowns.asciidoc +53 -0
  292. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/figures.asciidoc +5 -0
  293. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/forms.asciidoc +270 -0
  294. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/grid.asciidoc +49 -0
  295. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/links.asciidoc +21 -0
  296. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/list_groups.asciidoc +28 -0
  297. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/modals.asciidoc +43 -0
  298. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navbar.asciidoc +45 -0
  299. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navs.asciidoc +28 -0
  300. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/offcanvas.asciidoc +16 -0
  301. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/options.asciidoc +30 -0
  302. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/pagination.asciidoc +40 -0
  303. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/paragraph.asciidoc +5 -0
  304. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/placeholders.asciidoc +5 -0
  305. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/popovers.asciidoc +28 -0
  306. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/position.asciidoc +8 -0
  307. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/progress_bars.asciidoc +12 -0
  308. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spacing.asciidoc +14 -0
  309. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spinners.asciidoc +12 -0
  310. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tables.asciidoc +55 -0
  311. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/thumbnails.asciidoc +9 -0
  312. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/toasts.asciidoc +18 -0
  313. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tooltips.asciidoc +28 -0
  314. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/typography.asciidoc +115 -0
  315. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/z_index.asciidoc +26 -0
  316. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/_table.asciidoc +9 -0
  317. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/accordion.asciidoc +87 -0
  318. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +262 -0
  319. data/lib/starter_web/pages/public/learn/cheatsheet/gem.adoc +255 -0
  320. data/lib/starter_web/pages/public/learn/cheatsheet/git.adoc +1458 -0
  321. data/lib/starter_web/pages/public/learn/cheatsheet/j1.adoc +63 -0
  322. data/lib/starter_web/pages/public/learn/cheatsheet/yaml.adoc +514 -0
  323. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/attributes.asciidoc +59 -0
  324. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/100_chapter.asciidoc +541 -0
  325. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/200_chapter.asciidoc +33 -0
  326. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/build_command_options.asciidoc +72 -0
  327. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/files_and_folders.asciidoc +66 -0
  328. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_configuration_options.asciidoc +63 -0
  329. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_variables.asciidoc +26 -0
  330. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/page_variables.asciidoc +54 -0
  331. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/serve_command_options.asciidoc +45 -0
  332. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/site_variables.asciidoc +59 -0
  333. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +442 -0
  334. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
  335. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +3 -4
  336. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +2 -2
  337. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +10 -10
  338. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +0 -2
  339. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +8 -2
  340. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +3 -7
  341. data/lib/starter_web/pages/public/learn/where_to_go.adoc +39 -45
  342. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +2 -6
  343. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +0 -1
  344. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +2 -6
  345. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +2 -6
  346. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +0 -2
  347. data/lib/starter_web/pages/public/plans/plans.adoc +0 -2
  348. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +93 -7
  349. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  350. data/lib/starter_web/utilsrv/package.json +1 -1
  351. metadata +133 -24
  352. data/_includes/themes/j1/modules/ads/google_ad_content_home.html +0 -11
  353. data/_includes/themes/j1/modules/ads/google_ad_top_home.html +0 -11
  354. data/assets/themes/j1/core/css/nbinteract-tutorial/styles.css +0 -1711
  355. data/assets/themes/j1/core/css/nbinteract-tutorial/styles.min.css +0 -1
  356. data/assets/themes/j1/modules/advertising/js/google/adInitializer.js +0 -127
  357. data/assets/themes/j1/modules/deeplAPI/js/deeplAPI.2.js +0 -460
  358. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +0 -97
  359. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +0 -15
  360. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.js +0 -115
  361. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.min.js +0 -15
  362. data/assets/themes/j1/modules/mdilPreviewer/css/previewer.css +0 -97
  363. data/assets/themes/j1/modules/mdilPreviewer/css/previewer.min.css +0 -15
  364. data/assets/themes/j1/modules/mdilPreviewer/js/previewer.js +0 -125
  365. data/assets/themes/j1/modules/mdilPreviewer/js/previewer.min.js +0 -15
  366. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_content_home.html +0 -11
  367. data/lib/starter_web/_includes/themes/j1/modules/ads/google_ad_top_home.html +0 -11
  368. /data/lib/starter_web/assets/images/{promo → quotes/promo}/home/screenshot.jpg +0 -0
  369. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-faq.jpg +0 -0
  370. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-generator.jpg +0 -0
  371. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-generator.png +0 -0
  372. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/jekyll-og.png +0 -0
  373. /data/lib/starter_web/assets/images/{promo → quotes/promo}/jekyll/scalable/jekyll-faq.psd +0 -0
@@ -14,7 +14,7 @@ http_error: 447
14
14
  back_url: "https://support.mozilla.org/en-US/kb/trackers-and-scripts-firefox-blocks-enhanced-track"
15
15
  sitemap: false
16
16
  ---
17
- {% capture j1_cache %}
17
+ {%- capture j1_cache -%}
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
@@ -50,7 +50,7 @@ sitemap: false
50
50
  {% assign brand_image_source = site.brand.image %}
51
51
  {% assign brand_image_height = site.brand.image_height %}
52
52
 
53
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
53
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{%- endcapture -%}
54
54
 
55
55
  {% comment %} language detection
56
56
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -64,15 +64,15 @@ sitemap: false
64
64
 
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Site Blocked" %}
67
- {% assign back_url_text = "Back to J1 Theme (Home)" %}
68
- {% assign reason = "Access to the site has been blocked for technical reasons. <br> Your browser is blocking tracking activity but that is necessary for the display of advertisements. <br> Advertisements are required to display pages on this website." %}
67
+ {% assign back_url_text = "Show info page" %}
68
+ {% assign reason = "Access to the site has been blocked for technical reasons. <br> Your browser is blocking tracking activity but that is necessary to display advertisements. <br> Advertisements are required to display this page." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Website gesperrt" %}
74
- {% assign back_url_text = "Zurück zu J1 Theme (Home)" %}
75
- {% assign reason = "Diese Webseiten sind aus technischen Gründen nicht verfügbar. <br> Ihr Browser blockiert Tracking-Aktivitäten, dies ist jedoch für die Anzeige Werbeeinblendungen erforderlich. <br> Werbeeinblendungen sind zum Anzeigen von Seiten dieser Website erforderlich." %}
74
+ {% assign back_url_text = "Anzeige der Informations Seite" %}
75
+ {% assign reason = "Diese Webseite sind aus technischen Gründen nicht verfügbar. <br> Ihr Browser blockiert Tracking-Aktivitäten, dies ist jedoch für die Anzeige Werbeeinblendungen erforderlich. <br> Werbeeinblendungen sind zur Anzeige dieser Seite erforderlich." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -121,6 +121,6 @@ sitemap: false
121
121
 
122
122
  </html>
123
123
 
124
- {% endcapture %}
124
+ {%- endcapture -%}
125
125
  {{ j1_cache | strip_empty_lines }}
126
126
  {% assign j1_cache = nil %}
@@ -13,7 +13,7 @@ permalink: /448.html
13
13
  http_error: 448
14
14
  sitemap: false
15
15
  ---
16
- {% capture j1_cache %}
16
+ {%- capture j1_cache -%}
17
17
 
18
18
  {% comment %}
19
19
  # -----------------------------------------------------------------------------
@@ -49,7 +49,7 @@ sitemap: false
49
49
  {% assign brand_image_source = site.brand.image %}
50
50
  {% assign brand_image_height = site.brand.image_height %}
51
51
 
52
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
52
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{%- endcapture -%}
53
53
 
54
54
  {% comment %} language detection
55
55
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -63,16 +63,16 @@ sitemap: false
63
63
 
64
64
  {% if language == 'en' %}
65
65
  {% assign title = "Blocked Content" %}
66
- {% assign back_url = "/pages/public/legal/en/privacy/#privacy-and-your-settings" %}
67
- {% assign back_url_text = "Your Privacy Settings" %}
66
+ {% assign back_url = "/" %}
67
+ {% assign back_url_text = "Back Home" %}
68
68
  {% assign reason = "Access to the pages of this site has been disabled for technical reasons. <br> Your privacy settings disabled personalization. <br> Advertisements are not allowed but required to display pages on this website." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Gesperrter Inhalt" %}
74
- {% assign back_url = "/pages/public/legal/de/privacy/#privacy-and-your-settings" %}
75
- {% assign back_url_text = "Ihre Datenschutzeinstellungen" %}
74
+ {% assign back_url = "/" %}
75
+ {% assign back_url_text = "Zurück zur Startseite" %}
76
76
  {% assign reason = "Die Anzeige von Seiten dieser Website ist aus technischen Gründen gesperrt. <br> Die Einstellungen zu Ihrer Privatsphäre erlauben keine Personalisierung. <br> Werbeeinblendungen sind nicht erlabt, jedoch erforderlich um Seiten auf dieser Website anzuzeigen." %}
77
77
  {% assign contact_issue = "Technischer Kontakt" %}
78
78
  {% endif %}
@@ -122,6 +122,6 @@ sitemap: false
122
122
 
123
123
  </html>
124
124
 
125
- {% endcapture %}
125
+ {%- endcapture -%}
126
126
  {{ j1_cache | strip_empty_lines }}
127
127
  {% assign j1_cache = nil %}
@@ -14,7 +14,7 @@ http_error: 500
14
14
  back_url: /
15
15
  sitemap: false
16
16
  ---
17
- {% capture j1_cache %}
17
+ {%- capture j1_cache -%}
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
@@ -50,7 +50,7 @@ sitemap: false
50
50
  {% assign brand_image_source = site.brand.image %}
51
51
  {% assign brand_image_height = site.brand.image_height %}
52
52
 
53
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
53
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{%- endcapture -%}
54
54
 
55
55
  {% comment %} language detection
56
56
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -121,6 +121,6 @@ sitemap: false
121
121
 
122
122
  </html>
123
123
 
124
- {% endcapture %}
124
+ {%- endcapture -%}
125
125
  {{ j1_cache | strip_empty_lines }}
126
126
  {% assign j1_cache = nil %}
@@ -14,7 +14,7 @@ http_error: 501
14
14
  back_url: /
15
15
  sitemap: false
16
16
  ---
17
- {% capture j1_cache %}
17
+ {%- capture j1_cache -%}
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
@@ -50,7 +50,7 @@ sitemap: false
50
50
  {% assign brand_image_source = site.brand.image %}
51
51
  {% assign brand_image_height = site.brand.image_height %}
52
52
 
53
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
53
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{%- endcapture -%}
54
54
 
55
55
  {% comment %} language detection
56
56
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -121,6 +121,6 @@ sitemap: false
121
121
 
122
122
  </html>
123
123
 
124
- {% endcapture %}
124
+ {%- endcapture -%}
125
125
  {{ j1_cache | strip_empty_lines }}
126
126
  {% assign j1_cache = nil %}
@@ -14,7 +14,7 @@ http_error: 502
14
14
  back_url: /
15
15
  sitemap: false
16
16
  ---
17
- {% capture j1_cache %}
17
+ {%- capture j1_cache -%}
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
@@ -50,7 +50,7 @@ sitemap: false
50
50
  {% assign brand_image_source = site.brand.image %}
51
51
  {% assign brand_image_height = site.brand.image_height %}
52
52
 
53
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
53
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{%- endcapture -%}
54
54
 
55
55
  {% comment %} language detection
56
56
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -121,6 +121,6 @@ sitemap: false
121
121
 
122
122
  </html>
123
123
 
124
- {% endcapture %}
124
+ {%- endcapture -%}
125
125
  {{ j1_cache | strip_empty_lines }}
126
126
  {% assign j1_cache = nil %}
@@ -14,7 +14,7 @@ http_error: 503
14
14
  back_url: /
15
15
  sitemap: false
16
16
  ---
17
- {% capture j1_cache %}
17
+ {%- capture j1_cache -%}
18
18
 
19
19
  {% comment %}
20
20
  # -----------------------------------------------------------------------------
@@ -52,7 +52,7 @@ sitemap: false
52
52
  {% assign brand_image_source = site.brand.image %}
53
53
  {% assign brand_image_height = site.brand.image_height %}
54
54
 
55
- {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{% endcapture %}
55
+ {% capture brand_image %}{{images_dir}}/{{brand_image_source}}{%- endcapture -%}
56
56
 
57
57
 
58
58
  {% comment %} language detection
@@ -124,6 +124,6 @@ sitemap: false
124
124
 
125
125
  </html>
126
126
 
127
- {% endcapture %}
127
+ {%- endcapture -%}
128
128
  {{ j1_cache | strip_empty_lines }}
129
129
  {% assign j1_cache = nil %}
@@ -39,14 +39,14 @@ regenerate: true
39
39
  {% assign blocks = site.data.blocks %}
40
40
  {% assign modules = site.data.modules %}
41
41
 
42
- {% comment %} Set config data (settings only)
42
+ {% comment %} Set config data
43
43
  -------------------------------------------------------------------------------- {% endcomment %}
44
44
  {% assign cookie_defaults = modules.defaults.cookies.defaults %}
45
45
  {% assign cookie_settings = modules.cookies.settings %}
46
46
  {% assign advertising_defaults = modules.defaults.advertising.defaults %}
47
47
  {% assign advertising_settings = modules.advertising.settings %}
48
48
 
49
- {% comment %} Set config options (settings only)
49
+ {% comment %} Set config options
50
50
  -------------------------------------------------------------------------------- {% endcomment %}
51
51
  {% assign cookie_options = cookie_defaults | merge: cookie_settings %}
52
52
  {% assign advertising_options = advertising_defaults | merge: advertising_settings %}
@@ -93,11 +93,14 @@ j1.adapter.advertising = (function (j1, window) {
93
93
  var environment = '{{environment}}';
94
94
  var date = new Date();
95
95
  var timestamp_now = date.toISOString();
96
- var gadScript = document.createElement('script');
96
+ var gasScript = document.createElement('script');
97
+ var gasDiv = document.createElement('div');
98
+ var gasIns = document.createElement('ins');
97
99
  var adInitializerScript = document.createElement('script');
98
100
  var advertisingDefaults;
99
101
  var aadvertisingSettings;
100
102
  var advertisingOptions;
103
+ var frontmatterOptions;
101
104
  var autoHideOnUnfilled;
102
105
  var addBorderOnUnfilled;
103
106
  var checkTrackingProtection;
@@ -110,8 +113,8 @@ var hostname;
110
113
  var cookie_names;
111
114
  var user_consent;
112
115
  var advertisingProvider;
113
- var providerID;
114
- var validProviderID;
116
+ var publisherID;
117
+ var validPublisherID;
115
118
  var _this;
116
119
  var logger;
117
120
  var logText;
@@ -127,20 +130,6 @@ var logText;
127
130
  // -------------------------------------------------------------------------
128
131
  init: function (options) {
129
132
 
130
- {% if advertising %}
131
- // [INFO ] [j1.adapter.advertising ] [ detected advertising provider (j1_config): {{advertising_provider}}} ]
132
- // [INFO ] [j1.adapter.advertising ] [ start processing load region head, layout: {{page.layout}} ]
133
-
134
- // Load module DEFAULTS|CONFIG
135
- advertisingDefaults = $.extend({}, {{analytics_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
136
- aadvertisingSettings = $.extend({}, {{analytics_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
137
- advertisingOptions = $.extend(true, {}, advertisingDefaults, aadvertisingSettings);
138
-
139
- autoHideOnUnfilled = analyticsOptions.google.autoHideOnUnfilled;
140
- addBorderOnUnfilled = analyticsOptions.google.addBorderOnUnfilled;
141
- checkTrackingProtection = analyticsOptions.google.checkTrackingProtection;
142
- showErrorPageOnBlocked = analyticsOptions.google.showErrorPageOnBlocked;
143
-
144
133
  // -----------------------------------------------------------------------
145
134
  // Default module settings
146
135
  // -----------------------------------------------------------------------
@@ -152,65 +141,91 @@ var logText;
152
141
  // -----------------------------------------------------------------------
153
142
  // Global variable settings
154
143
  // -----------------------------------------------------------------------
144
+ logger = log4javascript.getLogger('j1.adapter.advertising');
145
+ _this = j1.adapter.advertising;
155
146
  cookie_names = j1.getCookieNames();
156
147
  user_consent = j1.readCookie(cookie_names.user_consent);
157
148
  url = new liteURL(window.location.href);
158
149
  hostname = url.hostname;
159
150
 
160
- {% case advertising_provider %}
161
- {% when "google" %}
162
- // [INFO ] [j1.adapter.advertising ] [ place provider: Google Adsense ]
151
+ // create settings object from frontmatter
152
+ frontmatterOptions = options != null ? $.extend({}, options) : {};
153
+
154
+ advertisingDefaults = $.extend({}, {{advertising_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
155
+ aadvertisingSettings = $.extend({}, {{advertising_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
156
+ advertisingOptions = $.extend(true, {}, advertisingDefaults, aadvertisingSettings);
163
157
 
164
- _this = j1.adapter.advertising;
165
- logger = log4javascript.getLogger('j1.adapter.advertising.google');
158
+ autoHideOnUnfilled = advertisingOptions.google.autoHideOnUnfilled;
159
+ addBorderOnUnfilled = advertisingOptions.google.addBorderOnUnfilled;
160
+ checkTrackingProtection = advertisingOptions.google.checkTrackingProtection;
161
+ showErrorPageOnBlocked = advertisingOptions.google.showErrorPageOnBlocked;
166
162
 
167
- // initialize state flag
168
- _this.setState('started');
169
- logger.debug('\n' + 'state: ' + _this.getState());
170
- logger.info('\n' + 'module is being initialized');
163
+ var dependencies_met_page_ready = setInterval (function (options) {
164
+ var pageState = $('#no_flicker').css("display");
165
+ var pageVisible = (pageState == 'block') ? true: false;
166
+ var atticFinished = (j1.adapter.attic.getState() == 'finished') ? true: false;
171
167
 
172
- var dependencies_met_page_ready = setInterval(function() {
173
- if (j1.getState() == 'finished') {
168
+ // if (j1.getState() === 'finished' && pageVisible && atticFinished) {
169
+ if (j1.getState() === 'finished' && pageVisible) {
170
+ {% if advertising %}
174
171
 
175
- providerID = advertisingOptions.publisherID;
176
- advertisingProvider = 'Google Adsense';
177
- validProviderID = (providerID.includes('your')) ? false : true;
172
+ var advertisingProvider = 'Google Adsense';
173
+ var providerID = '{{advertising_options.google.publisherID}}';
174
+ var validProviderID = (providerID.includes('pub-')) ? true : false;
178
175
  if (!validProviderID) {
179
- logger.warn('\n' + 'invalid publisherID detected for Google Adsense (GAS): ' + providerID);
180
- logger.info('\n' + 'skip initialization for provider: ' + advertisingProvider);
176
+ logger.warn('\n' + 'invalid publisher id: ' + providerID);
177
+ logger.info('\n' + 'module disabled' );
181
178
  clearInterval(dependencies_met_page_ready);
182
179
  return false;
183
180
  }
184
181
 
182
+ {% case advertising_provider %}
183
+ {% when "google" %}
184
+ // [INFO ] [j1.adapter.advertising ] [ place provider: Google Adsense ]
185
+
186
+ // initialize state flag
187
+ _this.setState('started');
188
+ logger.debug('\n' + 'state: ' + _this.getState());
189
+
185
190
  if (user_consent.personalization) {
186
- // place all ads configured for the page
187
- // NOTE: currently NOT implemented/used
188
- // -----------------------------------------------------------------
189
- // _this.place_ads();
191
+ logger.info('\n' + 'adsense api is being initialized');
192
+
193
+ publisherID = advertisingOptions.google.publisherID;
194
+ advertisingProvider = 'Google Adsense';
195
+ validPublisherID = (publisherID.includes('your')) ? false : true;
190
196
 
191
- // add gad api dynamically in the head section
197
+ if (!validPublisherID) {
198
+ logger.debug('\n' + 'invalid publisherID detected for Google Adsense (GAS): ' + publisherID);
199
+ logger.info('\n' + 'skip initialization for provider: ' + advertisingProvider);
200
+ // return false;
201
+ } else {
202
+ logger.info('\n' + 'use publisherID for Google Adsense (GAS): ' + publisherID);
203
+ }
204
+
205
+ // add GAS API (Google Adsense) dynamically in head section
206
+ // loaded async
192
207
  // -----------------------------------------------------------------
193
- logger.info('\n' + 'add gas api in section: head');
194
- gadScript.async = true;
195
- gadScript.id = 'gas-api';
196
- gadScript.src = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
197
- gadScript.setAttribute('data-ad-client', 'ca-pub-3885670015316130');
198
- document.head.appendChild(gadScript);
208
+ logger.info('\n' + 'add Google Adsense (GAS) API in section: head');
209
+ gasScript.async = true;
210
+ gasScript.id = 'gas-api';
211
+ gasScript.src = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
212
+ gasScript.setAttribute('data-ad-client', publisherID);
213
+ document.head.appendChild(gasScript);
214
+ logger.info('\n' + 'adsense api initialized');
199
215
 
200
216
  // setup monitor for state changes on all ads configured
201
- // ---------------------------------------------------------------
202
- logger.debug('\n' + 'setup monitoring');
203
- _this.monitor_ads();
217
+ // -----------------------------------------------------------------
218
+ logger.info('\n' + 'setup ad monitoring');
219
+ _this.ad_monitor();
204
220
 
205
221
  // run protection check
206
- // -------------------------------------------------------------------
222
+ // -----------------------------------------------------------------
207
223
  if (checkTrackingProtection) {
208
224
  logger.debug('\n' + 'run checks for tracking protection');
209
- _this.check_tracking_protection();
210
225
 
226
+ _this.check_tracking_protection();
211
227
  var dependencies_met_tracking_check_ready = setInterval (function (options) {
212
228
  if (typeof tracking_protection !== 'undefined' ) {
213
-
214
229
  var browser_tracking_feature = navigator.DoNotTrack;
215
230
 
216
231
  if (!tracking_protection && !browser_tracking_feature) {
@@ -218,7 +233,7 @@ var logText;
218
233
  logger.info(logText);
219
234
  } else {
220
235
  logText = '\n' + 'tracking protection: enabled';
221
- logger.warn(logText);
236
+ logger.debug(logText);
222
237
 
223
238
  if (showErrorPageOnBlocked) {
224
239
  logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
@@ -228,29 +243,30 @@ var logText;
228
243
  }
229
244
  }
230
245
  clearInterval(dependencies_met_tracking_check_ready);
231
- }, 25);
246
+ }, 10);
232
247
  } else {
233
- // setup monitor for state changes on all ads configured
234
- // ---------------------------------------------------------------
235
- logger.info('\n' + 'setup monitoring');
236
- _this.monitor_ads();
237
-
248
+ // no protection check enabled
238
249
  _this.setState('finished');
239
250
  logger.debug('\n' + 'state: ' + _this.getState());
240
251
  logger.info('\n' + 'module initialized successfully');
241
252
  clearInterval(dependencies_met_tracking_check_ready);
242
253
  }
243
- clearInterval(dependencies_met_page_ready);
254
+
244
255
  } else {
256
+ // user consent on personalization "false"
257
+ //
258
+ logger.warn('\n' + 'user consent on personalization: ' + user_consent.personalization);
259
+ logger.warn('\n' + 'initializing module: skipped');
260
+
245
261
  // manage GAD cookies if no consent is given|rejected
246
262
  // -----------------------------------------------------------------
247
263
  var gasCookies = j1.findCookie('__ga');
248
- logger.warn('\n' + 'consent on cookies disabled for personalization');
249
- logger.warn('\n' + 'initialization of module advertising skipped');
264
+ logger.debug('\n' + 'consent on cookies disabled for personalization');
265
+ logger.debug('\n' + 'initialization of module advertising skipped');
250
266
 
251
267
  // remove cookies on invalid GAS config or left from a previous
252
268
  // session/page view if they exists
253
- // ---------------------------------------------------------------------
269
+ // ------------------------------------------------------------------
254
270
  gasCookies.forEach(function (item) {
255
271
  // Remove cookies from Google Ads
256
272
  if (hostname == 'localhost') {
@@ -265,7 +281,7 @@ var logText;
265
281
  if (checkTrackingProtection) {
266
282
  if (!user_consent.personalization) {
267
283
  logText = '\n' + 'consent on cookies disabled for personalization';
268
- logger.warn(logText);
284
+ logger.debug(logText);
269
285
 
270
286
  if (showErrorPageOnBlocked) {
271
287
  logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
@@ -274,55 +290,53 @@ var logText;
274
290
  }
275
291
  }
276
292
  }
277
- clearInterval(dependencies_met_page_ready);
293
+
278
294
  } // END if user_consent.personalization
279
- } // END if getState 'finished'
280
- }, 25);
281
-
282
- {% when "custom" %}
283
- // [INFO ] [j1.adapter.advertising ] [ place provider: Custom Provider ]
284
- {% endcase %}
285
- // [INFO ] [j1.adapter.advertising ] [ end processing ]
286
- {% else %}
287
- var dependencies_met_page_ready = setInterval(function() {
288
- if (j1.getState() == 'finished') {
289
- var ads_found = document.getElementsByClassName('adsbygoogle').length;
290
- logger = log4javascript.getLogger('j1.adapter.advertising.google');
291
- logger.warn('\n' + 'found ads in page: #' + ads_found);
292
- logger.warn('\n' + 'no ads initialized, advertising disabled');
295
+
296
+ {% when "custom" %}
297
+ // [INFO ] [j1.adapter.advertising ] [ place provider: Custom Provider ]
298
+ {% endcase %}
299
+ // [INFO ] [j1.adapter.advertising ] [ end processing ]
300
+ {% else %}
301
+ var ads_found = document.getElementsByClassName('adsbygoogle').length;
302
+ logger = log4javascript.getLogger('j1.adapter.advertising');
303
+ logger.debug('\n' + 'found ads in page: #' + ads_found);
304
+ logger.debug('\n' + 'no ads initialized, advertising disabled');
305
+ {% endif %}
306
+
293
307
  clearInterval(dependencies_met_page_ready);
294
308
  }
295
- }, 25);
296
- {% endif %}
297
- return;
309
+ }, 10);
298
310
  }, // END init
299
311
 
300
312
  // -------------------------------------------------------------------------
301
- // monitor_ads()
313
+ // ad_monitor()
302
314
  // monitor for state changes on the ad placed in pages (if any)
303
315
  //
304
316
  // NOTE: Check visibility state of the adSlot to prevent multiple
305
317
  // processing of the same slot
306
318
  // -------------------------------------------------------------------------
307
- monitor_ads: function () {
308
- var logger = log4javascript.getLogger('j1.adapter.advertising.monitor.ads');
309
-
319
+ ad_monitor: function () {
320
+ // logger.info('\n' + 'setup ad monitoring');
310
321
  $('.adsbygoogle').attrchange({
311
322
  trackValues: true,
312
323
  callback: function (event) {
313
324
  if (event.newValue === 'unfilled') {
314
325
  var elm = event.target.dataset;
315
- var adSlotIsVisible = $('#' + elm.adSlot ).is(":visible");
326
+ var adSlotIsVisible = $('.adsbygoogle').is(":visible");
316
327
  if (adSlotIsVisible) {
317
- if (addBorderOnUnfilled) { $('.adsbygoogle').addClass('border--dotted'); }
318
- if (elm.adClient) {
319
- logger.warn('\n' + 'found ad state ' + event.newValue + ' for slot: ' + elm.adSlot);
320
- if (autoHideOnUnfilled) {
321
- logger.warn('\n' + ' hide ad for slot: ' + elm.adSlot);
322
- $('#' + elm.adSlot ).hide();
323
- }
328
+ logger.warn('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
329
+ if (addBorderOnUnfilled) {
330
+ $('.adsbygoogle').addClass('border--dotted');
331
+ }
332
+
333
+ if (autoHideOnUnfilled) {
334
+ logger.info('\n' + ' hide ad on slot: ' + elm.adSlot);
335
+ $('.adsbygoogle').hide();
324
336
  }
325
337
  }
338
+ } else {
339
+ // logger.info('\n' + 'found ad in state ' + event.newValue + ' on slot: ' + elm.adSlot);
326
340
  }
327
341
  }
328
342
  });
@@ -369,31 +383,10 @@ var logText;
369
383
  });
370
384
  }
371
385
  }
386
+
372
387
  checkTrackingProtection();
373
388
  }, // END check_tracking_protection
374
389
 
375
- // -------------------------------------------------------------------------
376
- // place_ads()
377
- // place ads configured|enabled
378
- // -------------------------------------------------------------------------
379
- place_ads: function () {
380
-
381
- logText = '\n' + 'ads are being placed';
382
- logger.info(logText);
383
-
384
- // START loadig ads
385
- var dependencies_met_page_ready = setInterval (function (options) {
386
- if (j1.getState() === 'finished') {
387
-
388
- {% comment %} See loop for loading elements with adapter/scroller.js
389
- ---------------------------------------------------------------------- {% endcomment %}
390
- clearInterval(dependencies_met_page_ready);
391
-
392
- }
393
- });
394
- // END place ads
395
- },
396
-
397
390
  // -------------------------------------------------------------------------
398
391
  // messageHandler()
399
392
  // manage messages send from other J1 modules
@@ -226,7 +226,7 @@ var logText;
226
226
  {% endif %}
227
227
  }
228
228
  clearInterval(dependencies_met_page_ready);
229
- }, 25);
229
+ }, 10);
230
230
 
231
231
  return;
232
232
  }, // END init
@@ -120,7 +120,7 @@ j1.adapter.asciidoctor = (function (j1, window) {
120
120
 
121
121
  clearInterval(dependencies_met_j1_finished);
122
122
  } // END dependencies_met_j1_finished
123
- }, 25);
123
+ }, 10);
124
124
 
125
125
  }, // END init
126
126