j1-template 2023.2.6 → 2023.3.0

Sign up to get free protection for your applications and to get access to all the features.
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