j1-template 2023.3.0 → 2023.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +11 -9
  3. data/_includes/themes/j1/layouts/content_generator_post.html +1 -1
  4. data/_includes/themes/j1/layouts/layout_metadata_generator.html +0 -3
  5. data/_includes/themes/j1/modules/navigator/generator.html +3 -3
  6. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +5 -5
  7. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +3 -3
  8. data/_includes/themes/j1/procedures/global/select_icon_size.proc +9 -2
  9. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
  10. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +8 -8
  11. data/_includes/themes/j1/procedures/posts/create_series_header.proc +2 -2
  12. data/_layouts/category.html +2 -2
  13. data/assets/data/authclient.html +10 -12
  14. data/assets/data/banner.html +3 -3
  15. data/assets/data/fab.html +11 -8
  16. data/assets/data/footer.html +2 -3
  17. data/assets/data/gallery_customizer.html +2 -2
  18. data/assets/data/masonry.html +5 -5
  19. data/assets/data/masterslider.html +1 -1
  20. data/assets/data/menu.html +9 -6
  21. data/assets/data/panel.html +8 -8
  22. data/assets/data/quicklinks.html +3 -1
  23. data/assets/data/rtext_resizer.html +1 -1
  24. data/assets/data/slick.html +2 -2
  25. data/assets/data/translator.html +1 -1
  26. data/assets/themes/j1/adapter/js/advertising.js +302 -96
  27. data/assets/themes/j1/adapter/js/carousel.js +2 -2
  28. data/assets/themes/j1/adapter/js/j1.js +92 -25
  29. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +1 -1
  30. data/assets/themes/j1/adapter/js/lazyLoader.js +221 -0
  31. data/assets/themes/j1/adapter/js/lunr.js +3 -3
  32. data/assets/themes/j1/adapter/js/navigator.js +3 -5
  33. data/assets/themes/j1/adapter/js/themeToggler.js +3 -3
  34. data/assets/themes/j1/adapter/js/themer.js +55 -21
  35. data/assets/themes/j1/core/css/icon-fonts/mdi.css +3 -7
  36. data/assets/themes/j1/core/css/icon-fonts/mdi.min.css +1 -1
  37. data/assets/themes/j1/core/css/icon-fonts/mdib.css +8337 -0
  38. data/assets/themes/j1/core/css/icon-fonts/mdib.min.css +1 -0
  39. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +104 -30
  40. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
  41. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +19 -5
  42. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  43. data/assets/themes/j1/core/js/template.js +98 -31
  44. data/assets/themes/j1/core/js/template.min.js +2 -2
  45. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  46. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-base.json +2690 -0
  47. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-base.min.json +1 -0
  48. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.json +2 -2
  49. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-light.min.json +1 -1
  50. data/assets/themes/j1/modules/materialize/scss/components/_global.scss +1 -1
  51. data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +2 -2
  52. data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +1 -1
  53. data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +2 -2
  54. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -1
  55. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  56. data/lib/j1/version.rb +1 -1
  57. data/lib/starter_web/Gemfile +2 -2
  58. data/lib/starter_web/README.md +5 -5
  59. data/lib/starter_web/_config.yml +2 -2
  60. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  61. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  62. data/lib/starter_web/_data/blocks/footer.yml +4 -1
  63. data/lib/starter_web/_data/blocks/panel.yml +47 -47
  64. data/lib/starter_web/_data/layouts/default.yml +1 -1
  65. data/lib/starter_web/_data/layouts/home.yml +29 -0
  66. data/lib/starter_web/_data/modules/advertising.yml +120 -42
  67. data/lib/starter_web/_data/modules/defaults/advertising.yml +1 -1
  68. data/lib/starter_web/_data/modules/defaults/attics.yml +2 -2
  69. data/lib/starter_web/_data/modules/defaults/authentication.yml +1 -1
  70. data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +20 -20
  71. data/lib/starter_web/_data/modules/defaults/fab.yml +3 -3
  72. data/lib/starter_web/_data/modules/defaults/iconPicker.yml +1 -1
  73. data/lib/starter_web/_data/modules/defaults/lazyLoader.yml +33 -0
  74. data/lib/starter_web/_data/modules/defaults/lunr.yml +2 -2
  75. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  76. data/lib/starter_web/_data/modules/defaults/navigator.yml +18 -18
  77. data/lib/starter_web/_data/modules/defaults/themer.yml +2 -2
  78. data/lib/starter_web/_data/modules/fab.yml +7 -7
  79. data/lib/starter_web/_data/modules/iconPicker.yml +3 -3
  80. data/lib/starter_web/_data/modules/lazyLoader.yml +93 -0
  81. data/lib/starter_web/_data/modules/masonry.yml +2 -2
  82. data/lib/starter_web/_data/modules/navigator_menu.yml +190 -148
  83. data/lib/starter_web/_data/modules/slick.yml +47 -86
  84. data/lib/starter_web/_data/resources.yml +68 -70
  85. data/lib/starter_web/_data/templates/feed.xml +1 -1
  86. data/lib/starter_web/_includes/attributes.0.asciidoc +626 -0
  87. data/lib/starter_web/_includes/attributes.asciidoc +26 -24
  88. data/lib/starter_web/_includes/custom/templates/collection_panel.html +2 -2
  89. data/lib/starter_web/_includes/google/static/google_ad_5128488466.html +19 -0
  90. data/lib/starter_web/_includes/google/static/google_ad_7284712660.html +19 -0
  91. data/lib/starter_web/_includes/google/templates/google_ads.html +55 -0
  92. data/lib/starter_web/_plugins/asciidoctor/fab-icon-inline.rb +1 -1
  93. data/lib/starter_web/_plugins/asciidoctor/fas-icon-inline.rb +1 -1
  94. data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
  95. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  96. data/lib/starter_web/assets/images/badges/configBinder.jpg +0 -0
  97. data/lib/starter_web/assets/images/badges/docsBinder.jpg +0 -0
  98. data/lib/starter_web/assets/images/badges/notebookBinder.jpg +0 -0
  99. data/lib/starter_web/assets/images/badges/scaleable/configBinder.svg +1 -1
  100. data/lib/starter_web/assets/images/badges/scaleable/docsBinder.svg +1 -1
  101. data/lib/starter_web/assets/images/badges/scaleable/myBinder.svg +1 -1
  102. data/lib/starter_web/assets/images/badges/scaleable/notebookBinder.svg +1 -1
  103. data/lib/starter_web/assets/images/icons/hyvor-talk/jpg/hyvor-logo.512x512.jpg +0 -0
  104. data/lib/starter_web/assets/images/icons/hyvor-talk/png/hyvor-logo.24x24.jpg +0 -0
  105. data/lib/starter_web/assets/images/icons/hyvor-talk/scalable/hyvor-logo.svg +1 -1
  106. data/lib/starter_web/assets/images/icons/j1/jpg/j1-256x256.jpg +0 -0
  107. data/lib/starter_web/assets/images/icons/j1/jpg/j1-512x512.jpg +0 -0
  108. data/lib/starter_web/assets/images/icons/j1/jpg/j1-64x64.jpg +0 -0
  109. data/lib/starter_web/assets/images/icons/j1/png/j1-256x256.png +0 -0
  110. data/lib/starter_web/assets/images/icons/j1/png/j1-512x512.jpg +0 -0
  111. data/lib/starter_web/assets/images/icons/j1/png/j1-512x512.jpg.png +0 -0
  112. data/lib/starter_web/assets/images/icons/j1/png/j1-512x512.png +0 -0
  113. data/lib/starter_web/assets/images/icons/j1/png/j1-64x64.png +0 -0
  114. data/lib/starter_web/assets/images/icons/j1/scalable/j1.svg +1 -1
  115. data/lib/starter_web/assets/images/modules/attics/1920x1280/brigitta-schneiter.jpg +0 -0
  116. data/lib/starter_web/assets/images/modules/icons/j1/scalable/j1.svg +1 -1
  117. data/lib/starter_web/assets/images/pages/asciidoc_skeletons/example-pdf-screenshot.jpg +0 -0
  118. data/lib/starter_web/assets/images/pages/core_web_vitals/200-create-a-link-1.jpg +0 -0
  119. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best.jpg +0 -0
  120. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best_full.jpg +0 -0
  121. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1280x800.jpg +0 -0
  122. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.jpg +0 -0
  123. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.jpg +0 -0
  124. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.jpg +0 -0
  125. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.jpg +0 -0
  126. data/lib/starter_web/assets/images/posts/featured/dynamic-web-access.jpg +0 -0
  127. data/lib/starter_web/assets/images/posts/featured/jamstack-generators.jpg +0 -0
  128. data/lib/starter_web/assets/images/posts/featured/jekyll.1200x400.jpg +0 -0
  129. data/lib/starter_web/assets/images/posts/featured/jekyll.jpg +0 -0
  130. data/lib/starter_web/assets/images/posts/featured/static-web-access.jpg +0 -0
  131. data/lib/starter_web/assets/images/promo/home/screenshot.jpg +0 -0
  132. data/lib/starter_web/assets/images/promo/jekyll/jekyll-faq.jpg +0 -0
  133. data/lib/starter_web/assets/images/promo/jekyll/jekyll-generator.jpg +0 -0
  134. data/lib/starter_web/assets/images/promo/jekyll/jekyll-generator.png +0 -0
  135. data/lib/starter_web/assets/images/promo/jekyll/jekyll-og.png +0 -0
  136. data/lib/starter_web/assets/images/promo/jekyll/scalable/jekyll-faq.psd +0 -0
  137. data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +1 -1
  138. data/lib/starter_web/collections/_biography/becoming.adoc +1 -1
  139. data/lib/starter_web/collections/_biography/born-to-run.adoc +1 -1
  140. data/lib/starter_web/collections/_biography/forty-autumns.adoc +1 -1
  141. data/lib/starter_web/collections/_biography/not-dead-yet.adoc +1 -1
  142. data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +1 -1
  143. data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +1 -1
  144. data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +1 -1
  145. data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +1 -1
  146. data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +26 -1
  147. data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +1 -1
  148. data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +17 -2
  149. data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +24 -1
  150. data/lib/starter_web/collections/_romance/{breath-of-snow-and-ashes-a.adoc → breath-of-snow-and-ashes.adoc} +13 -1
  151. data/lib/starter_web/collections/_romance/dressmaker-the.adoc +13 -1
  152. data/lib/starter_web/collections/_romance/fiery-cross-the.adoc +1 -1
  153. data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +1 -1
  154. data/lib/starter_web/collections/_romance/outlander-novel.adoc +1 -1
  155. data/lib/starter_web/collections/_romance/virgins-outlander-short-story.adoc +1 -1
  156. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +4 -2
  157. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +4 -1
  158. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +5 -3
  159. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +4 -1
  160. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +2 -2
  161. data/lib/starter_web/index.html +0 -9
  162. data/lib/starter_web/package.json +1 -1
  163. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/attributes.asciidoc +1 -1
  164. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +1 -1
  165. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/200_themes/212_values.asciidoc +4 -4
  166. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/attributes.asciidoc +1 -1
  167. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/attributes.asciidoc +2 -2
  168. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.0.asciidoc +112 -0
  169. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +2 -2
  170. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_rouge.asciidoc +1 -1
  171. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +152 -12
  172. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +28 -4
  173. data/lib/starter_web/pages/public/learn/where_to_go.adoc +11 -13
  174. data/lib/starter_web/pages/public/{learn → tools}/cheatsheet/gem.adoc +5 -5
  175. data/lib/starter_web/pages/public/{learn → tools}/cheatsheet/git.adoc +14 -14
  176. data/lib/starter_web/pages/public/{learn → tools}/cheatsheet/j1.adoc +1 -1
  177. data/lib/starter_web/pages/public/{learn → tools}/cheatsheet/yaml.adoc +1 -1
  178. data/lib/starter_web/pages/public/{previewer → tools/previewer}/preview_bootstrap_theme.adoc +1 -1
  179. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  180. data/lib/starter_web/utilsrv/package.json +1 -1
  181. metadata +58 -88
  182. data/assets/data/nbinteract.html +0 -129
  183. data/assets/themes/j1/adapter/js/nbinteract.js +0 -1485
  184. data/assets/themes/j1/modules/advertising/js/adInitializer.js +0 -160
  185. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.json +0 -7312
  186. data/assets/themes/j1/modules/iconPicker/icons-libraries/mdi-icons-regular.min.json +0 -1
  187. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.css +0 -1315
  188. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.min.css +0 -7
  189. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.css +0 -886
  190. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.structure.min.css +0 -5
  191. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.css +0 -446
  192. data/assets/themes/j1/modules/jquery-3.5.1/css/jquery-ui/jquery-ui.theme.min.css +0 -5
  193. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.js +0 -37
  194. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/hasClass.min.js +0 -17
  195. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.js +0 -42
  196. data/assets/themes/j1/modules/jquery-3.5.1/js/extensions/removeClass.min.js +0 -17
  197. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.js +0 -19057
  198. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery-ui.min.js +0 -6
  199. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.js +0 -10872
  200. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.js +0 -2
  201. data/assets/themes/j1/modules/jquery-3.5.1/js/jquery.min.map +0 -1
  202. data/assets/themes/j1/modules/jquery-3.5.1/js/require.js +0 -2145
  203. data/assets/themes/j1/modules/jquery-3.5.1/js/require.min.js +0 -5
  204. data/assets/themes/j1/modules/nbinteract-core/LICENSE.txt +0 -60
  205. data/assets/themes/j1/modules/nbinteract-core/README.md +0 -226
  206. data/assets/themes/j1/modules/nbinteract-core/css/nbinteract.css +0 -191
  207. data/assets/themes/j1/modules/nbinteract-core/css/nbinteract.min.css +0 -19
  208. data/assets/themes/j1/modules/nbinteract-core/css/theme/uno/nbinteract.css +0 -250
  209. data/assets/themes/j1/modules/nbinteract-core/css/theme/uno/nbinteract.min.css +0 -15
  210. data/assets/themes/j1/modules/nbinteract-core/js/mathjax/latest.js +0 -19
  211. data/assets/themes/j1/modules/nbinteract-core/js/mathjax/tex-chtml-full.js +0 -34
  212. data/assets/themes/j1/modules/nbinteract-core/js/mathjax/tex-chtml.js +0 -1
  213. data/assets/themes/j1/modules/nbinteract-core/js/mathjax/tex-mml-chtml.js +0 -1
  214. data/assets/themes/j1/modules/nbinteract-core/js/nbinteract/README +0 -1
  215. data/assets/themes/j1/modules/nbinteract-core/js/nbinteract/j1-nbinteract-core.js +0 -94
  216. data/assets/themes/j1/modules/nbinteract-core/js/nbinteract/j1-nbinteract-core.js.map +0 -1
  217. data/assets/themes/j1/modules/nbinteract-core/js/requireJS/require.js +0 -2068
  218. data/assets/themes/j1/modules/nbinteract-core/js/requireJS/require.min.js +0 -36
  219. data/lib/starter_web/_data/modules/defaults/nbinteract.yml +0 -281
  220. data/lib/starter_web/assets/images/icons/j1/j1-256x256.gif +0 -0
  221. data/lib/starter_web/assets/images/pages/asciidoc_skeletons/example-pdf-screenshot.png +0 -0
  222. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best.png +0 -0
  223. data/lib/starter_web/assets/images/pages/core_web_vitals/core_web_vitals_best_full.png +0 -0
  224. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1280x800.png +0 -0
  225. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.png +0 -0
  226. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.png +0 -0
  227. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.png +0 -0
  228. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.png +0 -0
  229. data/lib/starter_web/assets/images/pages/nbinteract/binderhub-architecture.jpg +0 -0
  230. data/lib/starter_web/assets/images/pages/nbinteract/jupyterlab-architecture.jpg +0 -0
  231. data/lib/starter_web/assets/images/pages/nbinteract/mandelbrot-menge-1920x1200.jpg +0 -0
  232. data/lib/starter_web/assets/images/pages/nbinteract/mandelbrot-menge.png +0 -0
  233. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi-textbook-example.jpg +0 -0
  234. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_bar.jpg +0 -0
  235. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_hist.jpg +0 -0
  236. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_line.jpg +0 -0
  237. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_multiple_choice.jpg +0 -0
  238. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_scatter.jpg +0 -0
  239. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_scatter_drag.jpg +0 -0
  240. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_short_answer.jpg +0 -0
  241. data/lib/starter_web/assets/images/pages/nbinteract/nbi-textbook-example.jpg +0 -0
  242. data/lib/starter_web/assets/images/posts/featured/dynamic-web-access.png +0 -0
  243. data/lib/starter_web/assets/images/posts/featured/jamstack-generators.png +0 -0
  244. data/lib/starter_web/assets/images/posts/featured/jekyll.1200x400.png +0 -0
  245. data/lib/starter_web/assets/images/posts/featured/jekyll.png +0 -0
  246. data/lib/starter_web/assets/images/posts/featured/post-1.jpg +0 -0
  247. data/lib/starter_web/assets/images/posts/featured/post-2.jpg +0 -0
  248. data/lib/starter_web/assets/images/posts/featured/post-3.jpg +0 -0
  249. data/lib/starter_web/assets/images/posts/featured/post-4.jpg +0 -0
  250. data/lib/starter_web/assets/images/posts/featured/post-5.jpg +0 -0
  251. data/lib/starter_web/assets/images/posts/featured/static-web-access.png +0 -0
  252. data/lib/starter_web/collections/posts/public/series/_posts/2022-08-01-organize-your-life.adoc +0 -118
  253. data/lib/starter_web/collections/posts/public/series/_posts/2022-08-02-organize-your-life.adoc +0 -118
  254. data/lib/starter_web/collections/posts/public/series/_posts/2022-08-03-organize-your-life.adoc +0 -118
  255. data/lib/starter_web/collections/posts/public/series/_posts/2022-09-01-organize-your-life.adoc +0 -117
  256. data/lib/starter_web/collections/posts/public/series/_posts/2022-09-02-organize-your-life.adoc +0 -117
  257. /data/lib/starter_web/assets/images/badges/{configBinder.png → png/configBinder.png} +0 -0
  258. /data/lib/starter_web/assets/images/badges/{docsBinder.png → png/docsBinder.png} +0 -0
  259. /data/lib/starter_web/assets/images/badges/{notebookBinder.png → png/notebookBinder.png} +0 -0
  260. /data/lib/starter_web/assets/images/icons/hyvor-talk/{hyvor-logo.24x24.png → png/hyvor-logo.24x24.png} +0 -0
  261. /data/lib/starter_web/assets/images/icons/hyvor-talk/{hyvor-logo.512x512.png → png/hyvor-logo.512x512.png} +0 -0
@@ -6,7 +6,7 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/advertising.js
9
+ # ~/assets/theFdames/j1/adapter/js/advertising.js
10
10
  # Liquid template to adapt advertising plugin
11
11
  #
12
12
  # Product/Info:
@@ -55,6 +55,7 @@ regenerate: true
55
55
  -------------------------------------------------------------------------------- {% endcomment %}
56
56
  {% assign advertising = advertising_options.enabled %}
57
57
  {% assign advertising_provider = advertising_options.provider %}
58
+ {% assign layout = page.layout %}
58
59
 
59
60
  {% comment %} Detect prod mode
60
61
  -------------------------------------------------------------------------------- {% endcomment %}
@@ -90,15 +91,19 @@ j1.adapter.advertising = (function (j1, window) {
90
91
 
91
92
  {% comment %} Set global variables
92
93
  -------------------------------------------------------------------------------- {% endcomment %}
93
- var environment = '{{environment}}';
94
- var date = new Date();
95
- var timestamp_now = date.toISOString();
96
- var gasScript = document.createElement('script');
97
- var gasDiv = document.createElement('div');
98
- var gasIns = document.createElement('ins');
99
- var adInitializerScript = document.createElement('script');
94
+ var environment = '{{environment}}';
95
+ var production = (environment.includes('prod') ? true : false);
96
+ var development = (environment.includes('dev') ? true : false);
97
+ var date = new Date();
98
+ var timestamp_now = date.toISOString();
99
+ var gasScript = document.createElement('script');
100
+ var gasDiv = document.createElement('div');
101
+ var gasIns = document.createElement('ins');
102
+ var adInitializerScript = document.createElement('script');
103
+ var advertisingProvider = 'Google Adsense';
104
+ var layout;
100
105
  var advertisingDefaults;
101
- var aadvertisingSettings;
106
+ var advertisingSettings;
102
107
  var advertisingOptions;
103
108
  var frontmatterOptions;
104
109
  var autoHideOnUnfilled;
@@ -112,9 +117,8 @@ var baseUrl;
112
117
  var hostname;
113
118
  var cookie_names;
114
119
  var user_consent;
115
- var advertisingProvider;
116
120
  var publisherID;
117
- var validPublisherID;
121
+ var validpublisherID;
118
122
  var _this;
119
123
  var logger;
120
124
  var logText;
@@ -149,79 +153,111 @@ var logText;
149
153
  hostname = url.hostname;
150
154
 
151
155
  // create settings object from frontmatter
156
+ //
152
157
  frontmatterOptions = options != null ? $.extend({}, options) : {};
153
158
 
159
+ // initialze advertisingOptions
160
+ //
154
161
  advertisingDefaults = $.extend({}, {{advertising_defaults | replace: 'nil', 'null' | replace: '=>', ':' }});
155
- aadvertisingSettings = $.extend({}, {{advertising_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
156
- advertisingOptions = $.extend(true, {}, advertisingDefaults, aadvertisingSettings);
157
-
162
+ advertisingSettings = $.extend({}, {{advertising_settings | replace: 'nil', 'null' | replace: '=>', ':' }});
163
+ advertisingOptions = $.extend(true, {}, advertisingDefaults, advertisingSettings, frontmatterOptions);
164
+ layout = advertisingOptions.layout;
165
+ publisherID = advertisingOptions.google.publisherID;
166
+ validpublisherID = (publisherID.includes('pub-')) ? true : false;
158
167
  autoHideOnUnfilled = advertisingOptions.google.autoHideOnUnfilled;
159
168
  addBorderOnUnfilled = advertisingOptions.google.addBorderOnUnfilled;
160
169
  checkTrackingProtection = advertisingOptions.google.checkTrackingProtection;
161
170
  showErrorPageOnBlocked = advertisingOptions.google.showErrorPageOnBlocked;
162
171
 
172
+ // run initialization on 'contentVisible'
173
+ //
163
174
  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;
175
+ var contentState = $('#content').css("display");
176
+ var contentVisible = (contentState == 'block') ? true: false;
177
+
178
+ if (j1.getState() === 'finished' && contentVisible) {
167
179
 
168
- // if (j1.getState() === 'finished' && pageVisible && atticFinished) {
169
- if (j1.getState() === 'finished' && pageVisible) {
180
+ {% comment %} detect|load code if 'advertising' is 'enabled'
181
+ ------------------------------------------------------------------------ {% endcomment %}
170
182
  {% if advertising %}
171
183
 
172
- var advertisingProvider = 'Google Adsense';
173
- var providerID = '{{advertising_options.google.publisherID}}';
174
- var validProviderID = (providerID.includes('pub-')) ? true : false;
175
- if (!validProviderID) {
176
- logger.warn('\n' + 'invalid publisher id: ' + providerID);
177
- logger.info('\n' + 'module disabled' );
184
+ _this.ad_initializer();
185
+
186
+ if (!validpublisherID) {
187
+ if (development) {
188
+ logger.warn('\n' + 'invalid publisher id: ' + publisherID);
189
+ logger.info('\n' + 'module disabled' );
190
+ }
178
191
  clearInterval(dependencies_met_page_ready);
179
192
  return false;
180
193
  }
181
194
 
182
195
  {% case advertising_provider %}
183
196
  {% when "google" %}
184
- // [INFO ] [j1.adapter.advertising ] [ place provider: Google Adsense ]
197
+ // [INFO ] [j1.adapter.advertising ] [ place provider: Google Adsense ]
185
198
 
186
199
  // initialize state flag
200
+ //
187
201
  _this.setState('started');
188
- logger.debug('\n' + 'state: ' + _this.getState());
202
+ if (development) {
203
+ logger.debug('\n' + 'state: ' + _this.getState());
204
+ }
189
205
 
190
206
  if (user_consent.personalization) {
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;
207
+ if (development) {
208
+ logger.info('\n' + 'adsense api is being initialized');
209
+ }
196
210
 
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;
211
+ if (!validpublisherID) {
212
+ if (development) {
213
+ logger.debug('\n' + 'invalid publisherID detected for Google Adsense: ' + publisherID);
214
+ logger.info('\n' + 'skip initialization for provider: ' + advertisingProvider);
215
+ }
216
+ return false;
201
217
  } else {
202
- logger.info('\n' + 'use publisherID for Google Adsense (GAS): ' + publisherID);
218
+ if (development) {
219
+ logger.info('\n' + 'use publisherID for Google Adsense: ' + publisherID);
220
+ }
221
+ }
222
+
223
+ // add Google Adsense API dynamically in head section loaded async
224
+ //
225
+ if (development) {
226
+ logger.info('\n' + 'add Google AdsenseAPI in section: head');
203
227
  }
204
228
 
205
- // add GAS API (Google Adsense) dynamically in head section
206
- // loaded async
207
- // -----------------------------------------------------------------
208
- logger.info('\n' + 'add Google Adsense (GAS) API in section: head');
209
229
  gasScript.async = true;
210
230
  gasScript.id = 'gas-api';
211
231
  gasScript.src = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
212
232
  gasScript.setAttribute('data-ad-client', publisherID);
213
233
  document.head.appendChild(gasScript);
214
- logger.info('\n' + 'adsense api initialized');
234
+
235
+ if (development) {
236
+ logger.info('\n' + 'adsense api initialized');
237
+ }
215
238
 
216
239
  // setup monitor for state changes on all ads configured
217
- // -----------------------------------------------------------------
218
- logger.info('\n' + 'setup ad monitoring');
219
- _this.ad_monitor();
240
+ //
241
+ setTimeout(function () {
242
+ var ads_found = (document.getElementsByClassName('adsbygoogle').length > 0) ? true : false;
243
+ if (ads_found > 0) {
244
+ if (development) {
245
+ logger.info('\n' + 'setup Google Ad monitoring');
246
+ }
247
+ _this.ad_monitor();
248
+ } else {
249
+ if (development) {
250
+ logger.warn('\n' + 'no initialized Google Ads found in page');
251
+ }
252
+ }
253
+ }, 1000);
220
254
 
221
255
  // run protection check
222
- // -----------------------------------------------------------------
256
+ //
223
257
  if (checkTrackingProtection) {
224
- logger.debug('\n' + 'run checks for tracking protection');
258
+ if (development) {
259
+ logger.debug('\n' + 'run checks for tracking protection');
260
+ }
225
261
 
226
262
  _this.check_tracking_protection();
227
263
  var dependencies_met_tracking_check_ready = setInterval (function (options) {
@@ -229,46 +265,57 @@ var logText;
229
265
  var browser_tracking_feature = navigator.DoNotTrack;
230
266
 
231
267
  if (!tracking_protection && !browser_tracking_feature) {
232
- logText = '\n' + 'tracking protection: disabled';
233
- logger.info(logText);
268
+ if (development) {
269
+ logText = '\n' + 'tracking protection: disabled';
270
+ logger.info(logText);
271
+ }
234
272
  } else {
235
- logText = '\n' + 'tracking protection: enabled';
236
- logger.debug(logText);
273
+ if (development) {
274
+ logText = '\n' + 'tracking protection: enabled';
275
+ logger.debug(logText);
276
+ }
237
277
 
238
278
  if (showErrorPageOnBlocked) {
239
- logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
279
+ if (development) {
280
+ logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
281
+ }
240
282
  // redirect to error page: blocked content
241
283
  window.location.href = '/447.html';
242
284
  }
243
285
  }
244
286
  }
287
+
245
288
  clearInterval(dependencies_met_tracking_check_ready);
246
289
  }, 10);
247
290
  } else {
248
291
  // no protection check enabled
249
292
  _this.setState('finished');
250
- logger.debug('\n' + 'state: ' + _this.getState());
251
- logger.info('\n' + 'module initialized successfully');
293
+
294
+ if (development) {
295
+ logger.debug('\n' + 'state: ' + _this.getState());
296
+ logger.info('\n' + 'module initialized successfully');
297
+ }
298
+
252
299
  clearInterval(dependencies_met_tracking_check_ready);
253
300
  }
254
301
 
255
302
  } else {
256
303
  // user consent on personalization "false"
257
304
  //
258
- logger.warn('\n' + 'user consent on personalization: ' + user_consent.personalization);
259
- logger.warn('\n' + 'initializing module: skipped');
260
-
261
- // manage GAD cookies if no consent is given|rejected
262
- // -----------------------------------------------------------------
263
- var gasCookies = j1.findCookie('__ga');
264
- logger.debug('\n' + 'consent on cookies disabled for personalization');
265
- logger.debug('\n' + 'initialization of module advertising skipped');
266
-
267
- // remove cookies on invalid GAS config or left from a previous
268
- // session/page view if they exists
269
- // ------------------------------------------------------------------
305
+ if (production) {
306
+ console.debug('cookies for personalization rejected');
307
+ console.debug('initialization of module advertising skipped');
308
+ } else {
309
+ logger.warn('\n' + 'user consent on personalization: ' + user_consent.personalization);
310
+ logger.warn('\n' + 'initializing module: skipped');
311
+ }
312
+
313
+ // if consent is rejected, detect and remove Adsense cookies
314
+ //
315
+ var gasCookies = j1.findCookie('__g');
270
316
  gasCookies.forEach(function (item) {
271
- // Remove cookies from Google Ads
317
+ // remove Google Ad cookies
318
+ //
272
319
  if (hostname == 'localhost') {
273
320
  j1.removeCookie({ name: item, domain: false, secure: false });
274
321
  } else {
@@ -277,14 +324,18 @@ var logText;
277
324
  });
278
325
 
279
326
  // manage tracking protection
280
- // -----------------------------------------------------------------
327
+ //
281
328
  if (checkTrackingProtection) {
282
329
  if (!user_consent.personalization) {
283
- logText = '\n' + 'consent on cookies disabled for personalization';
284
- logger.debug(logText);
330
+ if (development) {
331
+ logText = '\n' + 'consent on cookies disabled for personalization';
332
+ logger.debug(logText);
333
+ }
285
334
 
286
335
  if (showErrorPageOnBlocked) {
287
- logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
336
+ if (development) {
337
+ logger.error('\n' + 'redirect to error page (blocked content): HTML-447');
338
+ }
288
339
  // redirect to error page: blocked content
289
340
  window.location.href = '/448.html';
290
341
  }
@@ -299,48 +350,195 @@ var logText;
299
350
  // [INFO ] [j1.adapter.advertising ] [ end processing ]
300
351
  {% else %}
301
352
  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 %}
353
+ if (development) {
354
+ logger = log4javascript.getLogger('j1.adapter.advertising');
355
+ logger.debug('\n' + 'found ads in page: #' + ads_found);
356
+ logger.debug('\n' + 'no ads initialized, advertising disabled');
357
+ }
358
+ {% endif %} // END if 'advertising'
306
359
 
307
360
  clearInterval(dependencies_met_page_ready);
308
361
  }
309
362
  }, 10);
310
363
  }, // END init
311
364
 
365
+ // -------------------------------------------------------------------------
366
+ // ad_initializer()
367
+ // initialze all ad units in a page (ins elements)
368
+ // -------------------------------------------------------------------------
369
+ ad_initializer: function () {
370
+
371
+ var dependencies_met_page_visible = setInterval (function (options) {
372
+ var contentState = $('#content').css("display");
373
+ var contentVisible = (contentState == 'block') ? true: false;
374
+ var ads_found = (document.getElementsByClassName('adsbygoogle').length > 0) ? true : false;
375
+ var ads_initialized = 0;
376
+ var ad_containers;
377
+
378
+ if (j1.getState() === 'finished' && contentVisible && ads_found) {
379
+ if (!validpublisherID) {
380
+ // skip setup processes
381
+ //
382
+ clearInterval(dependencies_met_page_visible);
383
+ return false;
384
+ }
385
+
386
+ // create|loading adverting for containers enabled
387
+ //
388
+ ad_containers = advertisingOptions.google.ads;
389
+ ad_containers.forEach(function (ad) {
390
+ if (user_consent.personalization) {
391
+ var currentDiv = document.getElementById(ad.id);
392
+
393
+ if (ad.enabled && ad.layout == layout) {
394
+ var ins = document.createElement('ins');
395
+
396
+ currentDiv.appendChild(ins);
397
+ var insID = 'ins_' + ad.id;
398
+ ins.setAttribute('id', insID);
399
+ ins.className = "adsbygoogle";
400
+
401
+ document.getElementById(insID).setAttribute('style', ad.styles);
402
+ document.getElementById(insID).setAttribute('data-ad-test', ad.test)
403
+ document.getElementById(insID).setAttribute('data-ad-client', ad.publisherID);
404
+ document.getElementById(insID).setAttribute('data-ad-slot', ad.slot);
405
+ document.getElementById(insID).setAttribute('data-ad-format', ad.ad_format);
406
+
407
+ if (ad.ad_layout == 'display') {
408
+ document.getElementById(insID).setAttribute('data-full-width-responsive', ad.ad_responsive);
409
+ }
410
+
411
+ // if (ad.ad_layout == 'in-article') {
412
+ // document.getElementById(insID).setAttribute('data-ad-format', ad.ad_format);
413
+ // }
414
+
415
+ if (ad.ad_layout == 'multiplex') {
416
+ document.getElementById(insID).setAttribute('data-matched-content-ui-typ', ad.ui_type);
417
+ document.getElementById(insID).setAttribute('data-matched-content-columns-num', ad.ui_columns);
418
+ document.getElementById(insID).setAttribute('data-matched-content-rows-num', ad.ui_rows);
419
+ }
420
+
421
+ ads_initialized ++;
422
+ } else {
423
+ if (ad.layout == layout) {
424
+ if (development) {
425
+ logger.warn('\n' + 'ad disabled on id ' + ad.id + ' for slot: ' + ad.slot);
426
+ }
427
+ }
428
+ }
429
+ } else {
430
+ if (development) {
431
+ logger.warn('\n' + 'skipped add settings on all ad containers');
432
+ }
433
+ } // END if user_consent.personalization
434
+
435
+ });
436
+ // END loading adverting containers
437
+
438
+ if (ads_initialized > 0) {
439
+ if (development) {
440
+ logger.info('\n' + 'ads enabled found in page (total): ' + ads_initialized);
441
+ }
442
+
443
+ var google_ads = document.getElementsByClassName('adsbygoogle');
444
+ var counter = document.getElementsByClassName('adsbygoogle').length;
445
+
446
+ // jadams, 2023-06-22:
447
+ // skip last element in google_ads (adsbygoogle-noablate)
448
+ // TODO: clarify for what reason an 'ins' element with
449
+ // class 'adsbygoogle-noablate' is added by Googgle Adsense
450
+ // Possible reason: publisherID is 'wrong|fake' or NOT 'verified'
451
+ //
452
+ counter--;
453
+
454
+ [].forEach.call(google_ads, function() {
455
+ // skip last element in google_ads (adsbygoogle-noablate)
456
+ if (counter > 0) {
457
+ (adsbygoogle = window.adsbygoogle || []).push({});
458
+ }
459
+ counter --;
460
+ });
461
+ } else {
462
+ if (development) {
463
+ logger.warn('\n' + 'no ads found in page for layout: ' + layout);
464
+ }
465
+ } // END if ads_initialized
466
+
467
+ clearInterval(dependencies_met_page_visible);
468
+ } // END contentVisible|ads_found
469
+
470
+ }, 10); // END dependencies_met_page_visible
471
+
472
+ }, // END ad_initializer
473
+
312
474
  // -------------------------------------------------------------------------
313
475
  // ad_monitor()
314
476
  // monitor for state changes on the ad placed in pages (if any)
315
477
  //
316
478
  // NOTE: Check visibility state of the adSlot to prevent multiple
317
479
  // processing of the same slot
480
+ //
481
+ // NOTE: Skip ad containers with class 'adsbygoogle-noablate'
482
+ //
318
483
  // -------------------------------------------------------------------------
319
484
  ad_monitor: function () {
320
- // logger.info('\n' + 'setup ad monitoring');
321
485
  $('.adsbygoogle').attrchange({
322
486
  trackValues: true,
323
487
  callback: function (event) {
324
- if (event.newValue === 'unfilled') {
325
- var elm = event.target.dataset;
326
- var adSlotIsVisible = $('.adsbygoogle').is(":visible");
327
- if (adSlotIsVisible) {
328
- logger.warn('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
488
+ var elm = event.target.dataset;
489
+ var elm_classes = event.target.className;
490
+ var validAdContainer = (elm_classes.includes('adsbygoogle-noablate')) ? false : true;
491
+ var environment = '{{environment}}';
492
+ var production = (environment.includes('prod') ? true : false);
493
+ var adSlotIsVisible = $('.adsbygoogle').is(":visible");
494
+
495
+ if (adSlotIsVisible && validAdContainer && event.newValue !== event.oldValue) {
496
+ if (event.newValue === 'unfilled') {
497
+ if (production) {
498
+ console.debug('detected ad blocks in state: unfilled');
499
+ } else {
500
+ logger.warn('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
501
+ }
329
502
  if (addBorderOnUnfilled) {
330
503
  $('.adsbygoogle').addClass('border--dotted');
331
504
  }
332
-
333
505
  if (autoHideOnUnfilled) {
334
- logger.info('\n' + ' hide ad on slot: ' + elm.adSlot);
506
+ if (development) {
507
+ logger.info('\n' + ' hide ad on slot: ' + elm.adSlot);
508
+ }
335
509
  $('.adsbygoogle').hide();
336
510
  }
337
- }
338
- } else {
339
- // logger.info('\n' + 'found ad in state ' + event.newValue + ' on slot: ' + elm.adSlot);
340
- }
341
- }
342
- });
343
- },
511
+ } else if (event.newValue === 'filled') {
512
+ if (development) {
513
+ logger.info('\n' + 'detected ad on slot ' + elm.adSlot + ' in state: ' + event.newValue);
514
+ }
515
+ } else {
516
+ var filled = (event.newValue.includes('display') ? true : false);
517
+ var unfilled = (event.newValue.includes('dotted') ? true : false);
518
+ if (filled) {
519
+ if (production) {
520
+ console.info('detected ad blocks in state: filled');
521
+ } else {
522
+ logger.info('\n' + 'detected ad block on slot ' + elm.adSlot + ' in state: filled');
523
+ }
524
+ } else if (unfilled) {
525
+ if (production) {
526
+ console.info('detected ad blocks in state: unfilled');
527
+ } else {
528
+ logger.info('\n' + 'detected ad block on slot ' + elm.adSlot + ' in state: unfilled');
529
+ }
530
+ } else {
531
+ if (production) {
532
+ console.warn('unknown ad state detected: ' + event.newValue);
533
+ } else {
534
+ logger.warn('\n' + 'unknown ad state detected on slot ' + elm.adSlot + ' : ' + event.newValue);
535
+ }
536
+ }
537
+ } // END if 'event.newValue'
538
+ } // END if 'adSlotIsVisible'
539
+ } // END 'callback'
540
+ }); // END 'attrchange'
541
+ }, // END ad_monitor
344
542
 
345
543
  // -------------------------------------------------------------------------
346
544
  // check_tracking_protection()
@@ -357,8 +555,10 @@ var logText;
357
555
  check_tracking_protection: function () {
358
556
  var logger = log4javascript.getLogger('j1.adapter.advertising.monitor.tracking');
359
557
 
360
- logText = '\n' + 'check for trackingprotection';
361
- logger.info(logText);
558
+ if (development) {
559
+ logText = '\n' + 'check for trackingprotection';
560
+ logger.info(logText);
561
+ }
362
562
 
363
563
  function checkTrackingProtection() {
364
564
  if (!checkTrackingProtection.promise) {
@@ -379,7 +579,9 @@ var logText;
379
579
  tracking_protection = false;
380
580
  }).catch(e => {
381
581
  tracking_protection = true;
382
- logger.debug('\n' + 'detection details: ' + e);
582
+ if (development) {
583
+ logger.debug('\n' + 'detection details: ' + e);
584
+ }
383
585
  });
384
586
  }
385
587
  }
@@ -394,8 +596,10 @@ var logText;
394
596
  messageHandler: function (sender, message) {
395
597
  var json_message = JSON.stringify(message, undefined, 2);
396
598
 
397
- logText = '\n' + 'received message from ' + sender + ': ' + json_message;
398
- logger.debug(logText);
599
+ if (development) {
600
+ logText = '\n' + 'received message from ' + sender + ': ' + json_message;
601
+ logger.debug(logText);
602
+ }
399
603
 
400
604
  // -----------------------------------------------------------------------
401
605
  // Process commands|actions
@@ -404,7 +608,9 @@ var logText;
404
608
  //
405
609
  // Place handling of command|action here
406
610
  //
407
- logger.info('\n' + message.text);
611
+ if (development) {
612
+ logger.info('\n' + message.text);
613
+ }
408
614
  }
409
615
 
410
616
  //
@@ -242,9 +242,9 @@ j1.adapter.carousel = (function (j1, window) {
242
242
  {% endif %}
243
243
 
244
244
  {% if text_color %}
245
- $('#{{slider_id}}').addClass('mdi-{{text_color}}');
245
+ $('#{{slider_id}}').addClass('md-{{text_color}}');
246
246
  {% else %}
247
- $('#{{slider_id}}').addClass('mdi-md-grey-100');
247
+ $('#{{slider_id}}').addClass('md-grey-100');
248
248
  {% endif %}
249
249
 
250
250
  {% if font_size %}