j1_template 2019.4.8 → 2019.4.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (403) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +46 -0
  3. data/_includes/themes/j1/{modules/footers/boxes/about_box.proc → blocks/footer/boxes/about_box.proc.org} +0 -0
  4. data/_includes/themes/j1/{modules/footers → blocks/footer}/boxes/contacts_box.proc +1 -1
  5. data/_includes/themes/j1/blocks/footer/boxes/issue.proc +38 -0
  6. data/_includes/themes/j1/{modules/footers → blocks/footer}/boxes/legal_statements.proc +1 -12
  7. data/_includes/themes/j1/{modules/footers → blocks/footer}/boxes/links_box.proc +11 -4
  8. data/_includes/themes/j1/{modules/footers → blocks/footer}/boxes/news_box.proc +8 -2
  9. data/_includes/themes/j1/{modules/footers → blocks/footer}/boxes/social_media_icons.proc +1 -1
  10. data/_includes/themes/j1/{modules/footers/footer_light_generator.html → blocks/footer/generator.html} +7 -7
  11. data/_includes/themes/j1/layouts/_unused/layout_module_generator.html.org +49 -0
  12. data/_includes/themes/j1/layouts/{layout_theme_generator.html → _unused/layout_theme_generator.html} +0 -0
  13. data/_includes/themes/j1/layouts/{layout_theme_generator.new.html → _unused/layout_theme_generator.new.html} +0 -0
  14. data/_includes/themes/j1/layouts/{layout_theme_generator.org.html → _unused/layout_theme_generator.org.html} +0 -0
  15. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +20 -9
  16. data/_includes/themes/j1/layouts/content_generator_page.html +8 -13
  17. data/_includes/themes/j1/layouts/layout_module_generator.html +11 -13
  18. data/_includes/themes/j1/modules/{headers/master_header_generator.html → attics/generator.html} +35 -36
  19. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +2 -1
  20. data/_includes/themes/j1/procedures/global/{_get_page_path.proc.new → _unused/_get_page_path.proc.new} +0 -0
  21. data/_includes/themes/j1/procedures/global/{_get_page_path.proc.org → _unused/_get_page_path.proc.org} +0 -0
  22. data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +37 -0
  23. data/_includes/themes/j1/procedures/global/setup.proc +37 -45
  24. data/_includes/themes/j1/procedures/layouts/_unused/module_writer.proc.org +309 -0
  25. data/_includes/themes/j1/procedures/layouts/content_writer.proc +2 -1
  26. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
  27. data/_includes/themes/j1/procedures/layouts/module_writer.proc +222 -153
  28. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +6 -9
  29. data/_layouts/default.html +35 -30
  30. data/lib/j1/templates/posts/0000-00-00-welcome-to-j1-template.adoc.erb +14 -5
  31. data/lib/j1/version.rb +1 -1
  32. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.before_merge_added.rb +1 -1
  33. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.new.rb +1 -1
  34. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.no_cookie.mgmt.rb +1 -1
  35. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.ok.rb +1 -1
  36. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.org.2.rb +1 -1
  37. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.org.rb +1 -1
  38. data/lib/j1_app/j1_auth_manager/_unused/auth_manager.update.web_cookie.rb +1 -1
  39. data/lib/j1_app/j1_auth_manager/_views/auth_manager_ui.erb +234 -0
  40. data/lib/j1_app/j1_auth_manager/auth_manager.rb +1 -1
  41. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +9 -8
  42. data/lib/starter_web/Gemfile +22 -24
  43. data/lib/starter_web/_cc_test_data/_config.yml +1 -1
  44. data/lib/starter_web/_cc_test_data/_data/blocks/banner.yml +2 -2
  45. data/lib/starter_web/_cc_test_data/_data/blocks/defaults/banner.yml +1 -1
  46. data/lib/starter_web/_cc_test_data/_data/layouts/app.yml +2 -2
  47. data/lib/starter_web/_cc_test_data/_data/layouts/blog_archive.yml +2 -2
  48. data/lib/starter_web/_cc_test_data/_data/layouts/collection.yml +2 -2
  49. data/lib/starter_web/_cc_test_data/_data/layouts/home.yml +2 -2
  50. data/lib/starter_web/_cc_test_data/_data/layouts/page.yml +2 -2
  51. data/lib/starter_web/_cc_test_data/_data/layouts/post.yml +2 -2
  52. data/lib/starter_web/_cc_test_data/_data/layouts/raw.yml +2 -2
  53. data/lib/starter_web/_cc_test_data/_data/resources.yml +2 -2
  54. data/lib/starter_web/_config.yml +1 -1
  55. data/lib/starter_web/_data/_defaults/resources.yml +1 -1
  56. data/lib/starter_web/_data/_old_configs/j1_resources.org.yml +2 -2
  57. data/lib/starter_web/_data/_old_configs/j1_resources.yml +1 -1
  58. data/lib/starter_web/_data/blocks/_unused/banner.new.yml +297 -0
  59. data/lib/starter_web/_data/blocks/_unused/banner.org.yml +297 -0
  60. data/lib/starter_web/_data/blocks/_unused/panel.new.yml +348 -0
  61. data/lib/starter_web/_data/blocks/_unused/panel.org.yml +331 -0
  62. data/lib/starter_web/_data/blocks/banner.yml +27 -31
  63. data/lib/starter_web/_data/blocks/defaults/banner.yml +1 -1
  64. data/lib/starter_web/_data/blocks/footer.yml +9 -7
  65. data/lib/starter_web/_data/blocks/panel.yml +62 -52
  66. data/lib/starter_web/_data/layouts/app.yml +2 -2
  67. data/lib/starter_web/_data/layouts/blog_archive.yml +2 -2
  68. data/lib/starter_web/_data/layouts/collection.yml +2 -2
  69. data/lib/starter_web/_data/layouts/default.yml +8 -8
  70. data/lib/starter_web/_data/layouts/home.yml +5 -5
  71. data/lib/starter_web/_data/layouts/page.yml +2 -2
  72. data/lib/starter_web/_data/layouts/post.yml +2 -2
  73. data/lib/starter_web/_data/layouts/raw.yml +2 -2
  74. data/lib/starter_web/_data/modules/_old_configs/defaults/banner.yml +1 -1
  75. data/lib/starter_web/_data/modules/_old_configs/j1_banner.yml +1 -1
  76. data/lib/starter_web/_data/modules/_old_configs/j1_header.yml +1 -1
  77. data/lib/starter_web/_data/modules/attics.yml +220 -0
  78. data/lib/starter_web/_data/modules/defaults/attics.yml +220 -0
  79. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +0 -16
  80. data/lib/starter_web/_data/modules/defaults/navigator.yml +3 -3
  81. data/lib/starter_web/_data/modules/defaults/{theme_switcher.yml → themer.yml} +27 -27
  82. data/lib/starter_web/_data/modules/defaults/toccer.yml +40 -40
  83. data/lib/starter_web/_data/modules/log4javascript.yml +0 -16
  84. data/lib/starter_web/_data/modules/navigator_menu.yml +48 -35
  85. data/lib/starter_web/_data/modules/{theme_switcher.yml → themer.yml} +27 -48
  86. data/lib/starter_web/_data/modules/toccer.yml +3 -3
  87. data/lib/starter_web/_data/resources.yml +86 -60
  88. data/lib/starter_web/_data/template_settings.yml +1 -1
  89. data/lib/starter_web/_plugins/filters.rb +10 -0
  90. data/lib/starter_web/assets/_data/_temp/_banner.html +421 -0
  91. data/lib/starter_web/assets/_data/_temp/_panel.html +585 -0
  92. data/lib/starter_web/assets/{data → _data}/_temp/banner.case.snippet.html.asciidoc +0 -0
  93. data/lib/starter_web/assets/{data → _data}/_temp/banner.new.html.asciidoc +0 -0
  94. data/lib/starter_web/assets/{data → _data}/_temp/banner.with.defaults.html.asciidoc +0 -0
  95. data/lib/starter_web/assets/_data/_temp/footer.html.new +228 -0
  96. data/lib/starter_web/assets/_data/_temp/footer.html.org +234 -0
  97. data/lib/starter_web/assets/{data → _data}/_temp/footer.old.html +0 -0
  98. data/lib/starter_web/assets/{data → _data}/_temp/footer_new.html +0 -0
  99. data/lib/starter_web/assets/{data → _data}/_temp/footer_old.html +0 -0
  100. data/lib/starter_web/assets/{data → _data}/_temp/menu.old.html +0 -0
  101. data/lib/starter_web/assets/{data → _data}/_temp/panel.new.html +0 -0
  102. data/lib/starter_web/assets/{data → _data}/_temp/panel.old.html +0 -0
  103. data/lib/starter_web/assets/{data → _data}/_temp/panel.org.html +0 -0
  104. data/lib/starter_web/assets/_data/animate.json +120 -0
  105. data/lib/starter_web/assets/_data/ascii_code_table.json +1794 -0
  106. data/lib/starter_web/assets/_data/authclient.html +365 -0
  107. data/lib/starter_web/assets/_data/banner.html +431 -0
  108. data/lib/starter_web/assets/_data/carousel.json +110 -0
  109. data/lib/starter_web/assets/_data/colors.json +43 -0
  110. data/lib/starter_web/assets/_data/cookie_consent.html +225 -0
  111. data/lib/starter_web/assets/_data/countries.json +974 -0
  112. data/lib/starter_web/assets/_data/font_sizes.json +43 -0
  113. data/lib/starter_web/assets/_data/fontawesome_icons.json +5525 -0
  114. data/lib/starter_web/assets/_data/footer.html +239 -0
  115. data/lib/starter_web/assets/_data/galleries.json +160 -0
  116. data/lib/starter_web/assets/_data/mdi_icons.json +14641 -0
  117. data/lib/starter_web/assets/_data/menu.html +469 -0
  118. data/lib/starter_web/assets/_data/messages.yml +130 -0
  119. data/lib/starter_web/assets/_data/objects.json +458 -0
  120. data/lib/starter_web/assets/_data/panel.html +501 -0
  121. data/lib/starter_web/assets/_data/panel.new.html +498 -0
  122. data/lib/starter_web/assets/_data/quicklinks.html +178 -0
  123. data/lib/starter_web/assets/_data/search.yml +131 -0
  124. data/lib/starter_web/assets/_data/sidebar.html +261 -0
  125. data/lib/starter_web/assets/_data/themes.json +59 -0
  126. data/lib/starter_web/assets/_data/twa_v1.json +6978 -0
  127. data/lib/starter_web/assets/_data/twa_v2.json +12812 -0
  128. data/lib/starter_web/assets/_data/webhook.html +190 -0
  129. data/lib/starter_web/assets/data/_unused/_banner.html +421 -0
  130. data/lib/starter_web/assets/data/_unused/_panel.html +585 -0
  131. data/lib/starter_web/assets/data/_unused/banner.case.snippet.html.asciidoc +91 -0
  132. data/lib/starter_web/assets/data/_unused/banner.new.html.asciidoc +559 -0
  133. data/lib/starter_web/assets/data/_unused/banner.with.defaults.html.asciidoc +547 -0
  134. data/lib/starter_web/assets/data/_unused/footer.html.new +228 -0
  135. data/lib/starter_web/assets/data/_unused/footer.html.org +234 -0
  136. data/lib/starter_web/assets/data/_unused/footer.old.html +231 -0
  137. data/lib/starter_web/assets/data/_unused/footer_new.html +226 -0
  138. data/lib/starter_web/assets/data/_unused/footer_old.html +222 -0
  139. data/lib/starter_web/assets/data/_unused/menu.old.html +462 -0
  140. data/lib/starter_web/assets/data/_unused/panel.new.html +498 -0
  141. data/lib/starter_web/assets/data/_unused/panel.old.html +597 -0
  142. data/lib/starter_web/assets/data/_unused/panel.org.html +597 -0
  143. data/lib/starter_web/assets/data/authclient.html +6 -6
  144. data/lib/starter_web/assets/data/banner.html +92 -82
  145. data/lib/starter_web/assets/data/cookie_consent.html +11 -43
  146. data/lib/starter_web/assets/data/footer.html +16 -11
  147. data/lib/starter_web/assets/data/menu.html +19 -20
  148. data/lib/starter_web/assets/data/messages.yml +20 -19
  149. data/lib/starter_web/assets/data/panel.html +196 -280
  150. data/lib/starter_web/assets/data/webhook.html +4 -4
  151. data/lib/starter_web/assets/images/articles/img2.jpg +0 -0
  152. data/lib/starter_web/assets/images/articles/img3.jpg +0 -0
  153. data/lib/starter_web/assets/images/articles/img7.jpg +0 -0
  154. data/lib/starter_web/assets/images/attics/banner/admin-dashboard-bootstrap-1280x800-bw.jpg +0 -0
  155. data/lib/starter_web/assets/images/attics/banner/docker-1280x600-bw.jpg +0 -0
  156. data/lib/starter_web/assets/images/attics/banner/jekyll.1200x600-bw.jpg +0 -0
  157. data/lib/starter_web/assets/images/attics/banner/library-1920x800-bw.jpg +0 -0
  158. data/lib/starter_web/assets/images/attics/banner/signpost-1920x800-bw.jpg +0 -0
  159. data/lib/starter_web/assets/images/attics/banner/water-journal-1280x600.jpg +0 -0
  160. data/lib/starter_web/assets/images/attics/banner/write-1280x600-bw.jpg +0 -0
  161. data/lib/starter_web/assets/images/attics/building-blocks-1920x1280-bw.jpg +0 -0
  162. data/lib/starter_web/assets/images/attics/cookies-1920x1200-bw.jpg +0 -0
  163. data/lib/starter_web/assets/images/attics/go-up-1920x1280-bw.jpg +0 -0
  164. data/lib/starter_web/assets/images/attics/ideas-start-here-1920x1280-bw.jpg +0 -0
  165. data/lib/starter_web/assets/images/attics/library-1920x1280-bw.jpg +0 -0
  166. data/lib/starter_web/assets/images/attics/premium-1920x1280-bw.jpg +0 -0
  167. data/lib/starter_web/assets/images/attics/runner-1920x1200-bw.jpg +0 -0
  168. data/lib/starter_web/assets/images/attics/spider-web-1920x1200-bw.jpg +0 -0
  169. data/lib/starter_web/assets/images/attics/the-place-1920x1280-bw.jpg +0 -0
  170. data/lib/starter_web/assets/images/attics/welcome-1920x1280-bw.jpg +0 -0
  171. data/lib/starter_web/assets/images/icons/j1/favicon.ico +0 -0
  172. data/lib/starter_web/assets/images/icons/j1/j1-256x256.png +0 -0
  173. data/lib/starter_web/assets/images/icons/j1/j1-32x32.ico +0 -0
  174. data/lib/starter_web/assets/images/icons/j1/j1-512x512.png +0 -0
  175. data/lib/starter_web/assets/images/icons/j1/j1-64x64.png +0 -0
  176. data/lib/starter_web/assets/images/icons/j1/j1..ico +0 -0
  177. data/lib/starter_web/assets/images/icons/j1/scalable/j1.svg +37 -47
  178. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/get-started-1920x1280-bw.jpg +0 -0
  179. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{130_layout_inheritance.png → intro/130_layout_inheritance.png} +0 -0
  180. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{content_inheritance.png → intro/content_inheritance.png} +0 -0
  181. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{content_inheritance_thumb.png → intro/content_inheritance_thumb.png} +0 -0
  182. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{html_layout.png → intro/html_layout.png} +0 -0
  183. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{j1-quickstart-windows.png → intro/j1-quickstart-windows.png} +0 -0
  184. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/intro/j1-template-theme.jpg +0 -0
  185. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{j1_layout.png → intro/j1_layout.png} +0 -0
  186. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{jekyll-minima-theme.png → intro/jekyll-minima-theme.png} +0 -0
  187. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{lane_inheritance.png → intro/lane_inheritance.png} +0 -0
  188. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/{layout_inheritance.png → intro/layout_inheritance.png} +0 -0
  189. data/lib/starter_web/assets/images/pages/log_expert/image_020.png +0 -0
  190. data/lib/starter_web/assets/images/pages/roundtrip/bootstrap-1920x1000-bw.jpg +0 -0
  191. data/lib/starter_web/assets/images/pages/roundtrip/cards-1920x1280-bw.jpg +0 -0
  192. data/lib/starter_web/assets/images/pages/roundtrip/emojies-1920x1280-bw.jpg +0 -0
  193. data/lib/starter_web/assets/images/pages/roundtrip/icon-fonts-1920x1280-bw.jpg +0 -0
  194. data/lib/starter_web/assets/images/pages/roundtrip/images-1920x1280-bw.jpg +0 -0
  195. data/lib/starter_web/assets/images/pages/roundtrip/puzzle-1920x1280-bw.jpg +0 -0
  196. data/lib/starter_web/assets/images/pages/roundtrip/tables-1920x1280-bw.jpg +0 -0
  197. data/lib/starter_web/assets/images/pages/roundtrip/themes-1920x1280-bw.jpg +0 -0
  198. data/lib/starter_web/assets/images/pages/roundtrip/typography-1920x1280-bw.jpg +0 -0
  199. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/back2top.org.js +17 -19
  200. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/cookie_consent.org.js +1 -1
  201. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/masterheader.org.js +20 -20
  202. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/navigator.new.kapott.1.js +1 -1
  203. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/navigator.new.kapott.2.js +5 -5
  204. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/navigator.plus.old.func.js +980 -0
  205. data/lib/starter_web/assets/themes/j1/adapter/js/{octokit.app_only.js → _unused/octokit.app_only.js} +1 -1
  206. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/octokit.old.js +1 -1
  207. data/lib/starter_web/assets/themes/j1/adapter/js/{switcher.js → _unused/switcher.js} +55 -0
  208. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/template.new-1.js +1 -1
  209. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/template.new.js +4 -4
  210. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/template.old.js +5 -5
  211. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/template.org.js +1 -1
  212. data/lib/starter_web/assets/themes/j1/adapter/js/_unused/themer.css_load_check.js +360 -0
  213. data/lib/starter_web/assets/themes/j1/adapter/js/algolia.js +29 -24
  214. data/lib/starter_web/assets/themes/j1/adapter/js/{master_header.js → attic.js} +242 -213
  215. data/lib/starter_web/assets/themes/j1/adapter/js/back2top.js +38 -36
  216. data/lib/starter_web/assets/themes/j1/adapter/js/bootstrap_gallery.js +33 -33
  217. data/lib/starter_web/assets/themes/j1/adapter/js/carousel.js +35 -30
  218. data/lib/starter_web/assets/themes/j1/adapter/js/cookie_bar.js +24 -19
  219. data/lib/starter_web/assets/themes/j1/adapter/js/cookie_consent.js +89 -72
  220. data/lib/starter_web/assets/themes/j1/adapter/js/custom.js +31 -26
  221. data/lib/starter_web/assets/themes/j1/adapter/js/example.js +28 -22
  222. data/lib/starter_web/assets/themes/j1/adapter/js/framer.js +23 -18
  223. data/lib/starter_web/assets/themes/j1/adapter/js/justified_gallery.js +22 -18
  224. data/lib/starter_web/assets/themes/j1/adapter/js/lightbox.js +23 -18
  225. data/lib/starter_web/assets/themes/j1/adapter/js/logger.js +21 -18
  226. data/lib/starter_web/assets/themes/j1/adapter/js/navigator.js +344 -446
  227. data/lib/starter_web/assets/themes/j1/adapter/js/octokit.js +99 -98
  228. data/lib/starter_web/assets/themes/j1/adapter/js/scroller.js +19 -15
  229. data/lib/starter_web/assets/themes/j1/adapter/js/searcher.js +27 -30
  230. data/lib/starter_web/assets/themes/j1/adapter/js/stickybits.js +21 -15
  231. data/lib/starter_web/assets/themes/j1/adapter/js/themer.js +350 -0
  232. data/lib/starter_web/assets/themes/j1/adapter/js/toccer.js +59 -58
  233. data/lib/starter_web/assets/themes/j1/core/css/globals.css +14545 -0
  234. data/lib/starter_web/assets/themes/j1/core/css/globals.min.css +1 -0
  235. data/lib/starter_web/assets/themes/j1/core/css/globals.scss +28 -0
  236. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +283 -315
  237. data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  238. data/lib/starter_web/assets/themes/j1/core/css/uno.css +283 -315
  239. data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -1
  240. data/lib/starter_web/assets/themes/j1/core/css/vendor.css +211 -181
  241. data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +2 -2
  242. data/lib/starter_web/assets/themes/j1/{adapter/js/template.js → core/js/_unused/j1.flicker_timeout.js} +261 -192
  243. data/lib/starter_web/assets/themes/j1/core/js/j1.js +1792 -0
  244. data/lib/starter_web/assets/themes/j1/core/js/template.js +7 -7
  245. data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -1
  246. data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -1
  247. data/lib/starter_web/collections/posts/private/series/_posts/2018-11-01-docker-using-shared-folders.adoc +7 -9
  248. data/lib/starter_web/collections/posts/protected/wikipedia/_posts/2016-11-20-minneapolis.adoc +0 -1
  249. data/lib/starter_web/collections/posts/protected/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +0 -1
  250. data/lib/starter_web/collections/posts/protected/wikipedia/_posts/2016-11-26-columbia-river.adoc +0 -1
  251. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +123 -26
  252. data/lib/starter_web/collections/posts/public/featured/_posts/000_includes/unsplash-badge.asciidoc +31 -0
  253. data/lib/starter_web/collections/posts/public/featured/_posts/{2018-06-01-top-open-source-static-site-generators.adoc → 2019-05-01-top-open-source-static-site-generators.adoc} +24 -13
  254. data/lib/starter_web/collections/posts/public/featured/_posts/{2019-04-22-about-cookies.adoc → 2019-06-01-about-cookies.adoc} +28 -9
  255. data/lib/starter_web/collections/posts/public/jekyll/_posts/2018-05-01-confusion-about-base-url.adoc +6 -2
  256. data/lib/starter_web/index.html +20 -26
  257. data/lib/starter_web/package.json +6 -5
  258. data/lib/starter_web/pages/private/bookshelf/100_whats_up.adoc +12 -7
  259. data/lib/starter_web/pages/private/bookshelf/200_book_shelf_biography.adoc +3 -3
  260. data/lib/starter_web/pages/private/bookshelf/300_book_shelf_fantasy.adoc +3 -3
  261. data/lib/starter_web/pages/private/bookshelf/400_book_shelf_romance.adoc +3 -3
  262. data/lib/starter_web/pages/private/docs/gh_webhooks/manage_webhook_from_gh.adoc +1 -1
  263. data/lib/starter_web/pages/private/docs/platform/platform.adoc +2 -2
  264. data/lib/starter_web/pages/private/pen/jquery/deferred_try_catch.adoc +1 -1
  265. data/lib/starter_web/pages/protected/previewer/justified_gallery.html +5 -6
  266. data/lib/starter_web/pages/protected/previewer/mdi_icons_preview.adoc +3 -8
  267. data/lib/starter_web/pages/protected/previewer/twitter_emoji_preview.adoc +7 -8
  268. data/lib/starter_web/pages/public/about/{quick_search.adoc → _unused/site_search.adoc} +4 -4
  269. data/lib/starter_web/pages/public/about/about_site.adoc +5 -4
  270. data/lib/starter_web/pages/public/about/become_a_patron.adoc +10 -9
  271. data/lib/starter_web/pages/public/blog/navigator/archive.html +7 -8
  272. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +6 -7
  273. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +8 -8
  274. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +7 -8
  275. data/lib/starter_web/pages/public/blog/navigator/index.html +7 -8
  276. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +1 -1
  277. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +1 -1
  278. data/lib/starter_web/pages/public/panels/service_panel/01_core.adoc +2 -2
  279. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +36 -26
  280. data/lib/starter_web/pages/public/start/_unused/_roundtrip/000_includes/attributes.asciidoc +95 -0
  281. data/lib/starter_web/pages/public/start/_unused/_roundtrip/000_includes/documents/100_gistblock.asciidoc +27 -0
  282. data/lib/starter_web/pages/public/start/_unused/_roundtrip/000_includes/documents/410_extended_modals_html.asciidoc +928 -0
  283. data/lib/starter_web/pages/public/start/_unused/_roundtrip/000_includes/documents/420_responsive_tables.asciidoc +203 -0
  284. data/lib/starter_web/pages/public/start/_unused/_roundtrip/000_whats_up.adoc +63 -0
  285. data/lib/starter_web/pages/public/start/_unused/_roundtrip/100_present_images.adoc +305 -0
  286. data/lib/starter_web/pages/public/start/_unused/_roundtrip/100_present_videos.adoc +159 -0
  287. data/lib/starter_web/pages/public/start/_unused/_roundtrip/200_typography.adoc +517 -0
  288. data/lib/starter_web/pages/public/start/_unused/_roundtrip/300_icon_fonts.adoc +328 -0
  289. data/lib/starter_web/pages/public/start/_unused/_roundtrip/400_asciidoc_extensions.adoc +577 -0
  290. data/lib/starter_web/pages/public/start/_unused/_roundtrip/410_bs_modals_extentions.adoc +465 -0
  291. data/lib/starter_web/pages/public/start/_unused/_roundtrip/420_responsive_tables_extensions.adoc +268 -0
  292. data/lib/starter_web/pages/public/start/_unused/_roundtrip/500_themes.adoc +81 -0
  293. data/lib/starter_web/pages/public/start/_unused/_roundtrip/800_whats_next.adoc +73 -0
  294. data/lib/starter_web/pages/public/start/_unused/_roundtrip/_unused/600_cards.adoc +770 -0
  295. data/lib/starter_web/pages/public/start/_unused/_roundtrip/_unused/710_search_engine.adoc +195 -0
  296. data/lib/starter_web/pages/public/start/_unused/_roundtrip/_unused/720_google_custom_search.adoc +41 -0
  297. data/lib/starter_web/pages/public/start/_unused/bmd_examples/100_bmd_landing_page.asciidoc +2 -2
  298. data/lib/starter_web/pages/public/start/_unused/change_me_first.adoc +139 -0
  299. data/lib/starter_web/pages/public/start/downloads/quickstarter/100_linux_starter.adoc +2 -2
  300. data/lib/starter_web/pages/public/start/downloads/quickstarter/200_macos_starter.adoc +1 -1
  301. data/lib/starter_web/pages/public/start/downloads/quickstarter/300_windows_starter.adoc +1 -1
  302. data/lib/starter_web/pages/public/start/downloads/quickstarter/quickstart.adoc +3 -3
  303. data/lib/starter_web/pages/public/start/kickstarter/web_in_a_day/000_includes/attributes.asciidoc +8 -8
  304. data/lib/starter_web/pages/public/start/kickstarter/web_in_a_day/100_introduction.adoc +22 -14
  305. data/lib/starter_web/pages/public/start/kickstarter/web_in_a_day/110_preparations.adoc +3 -3
  306. data/lib/starter_web/pages/public/start/kickstarter/web_in_a_day/120_getting_started.adoc +3 -3
  307. data/lib/starter_web/pages/public/start/roundtrip/000_includes/attributes.asciidoc +2 -0
  308. data/lib/starter_web/pages/public/start/roundtrip/000_includes/documents/410_extended_modals_html.asciidoc +928 -0
  309. data/lib/starter_web/pages/public/start/roundtrip/000_whats_up.adoc +63 -0
  310. data/lib/starter_web/pages/public/start/roundtrip/100_present_images.adoc +15 -103
  311. data/lib/starter_web/pages/public/start/roundtrip/100_present_videos.adoc +159 -0
  312. data/lib/starter_web/pages/public/start/roundtrip/200_typography.adoc +16 -15
  313. data/lib/starter_web/pages/public/start/roundtrip/300_icon_fonts.adoc +9 -8
  314. data/lib/starter_web/pages/public/start/roundtrip/400_asciidoc_extensions.adoc +13 -8
  315. data/lib/starter_web/pages/public/start/roundtrip/410_bs_modals_extentions.adoc +12 -936
  316. data/lib/starter_web/pages/public/start/roundtrip/420_responsive_tables_extensions.adoc +25 -29
  317. data/lib/starter_web/pages/public/start/roundtrip/500_themes.adoc +17 -14
  318. data/lib/starter_web/pages/public/start/roundtrip/800_whats_next.adoc +73 -0
  319. data/lib/starter_web/pages/public/start/roundtrip/_unused/600_cards.adoc +5 -5
  320. data/lib/starter_web/pages/public/start/roundtrip/_unused/710_search_engine.adoc +1 -1
  321. data/lib/starter_web/pages/public/start/roundtrip/_unused/720_google_custom_search.adoc +2 -2
  322. data/lib/starter_web/pages/public/start/whats_next.adoc +76 -0
  323. data/lib/starter_web/pages/public/start/whats_up.adoc +13 -11
  324. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  325. data/lib/starter_web/utilsrv/package.json +1 -1
  326. metadata +274 -120
  327. data/_includes/themes/j1/modules/navigator/generator.olde.html +0 -192
  328. data/lib/starter_web/_data/modules/defaults/header.yml +0 -221
  329. data/lib/starter_web/_data/modules/header.yml +0 -221
  330. data/lib/starter_web/assets/images/animated/1_ZrgWTM-NmdhJFac8T7-4Rg.gif +0 -0
  331. data/lib/starter_web/assets/images/animated/2049.gif +0 -0
  332. data/lib/starter_web/assets/images/carousel/katarina/katarina-1.jpg +0 -0
  333. data/lib/starter_web/assets/images/carousel/katarina/katarina-2.jpg +0 -0
  334. data/lib/starter_web/assets/images/carousel/katarina/katarina-3.jpg +0 -0
  335. data/lib/starter_web/assets/images/carousel/katarina/katarina-4.jpg +0 -0
  336. data/lib/starter_web/assets/images/carousel/katarina/katarina-5.jpg +0 -0
  337. data/lib/starter_web/assets/images/icons/j1/j1.ico +0 -0
  338. data/lib/starter_web/assets/images/icons/j1/scalable/j1v2.svg +0 -2034
  339. data/lib/starter_web/assets/images/master_header/aaron-burden-1280x600.png +0 -0
  340. data/lib/starter_web/assets/images/master_header/admin-bootstrap.jpg +0 -0
  341. data/lib/starter_web/assets/images/master_header/admin-dashboard-bootstrap-1280x600.png +0 -0
  342. data/lib/starter_web/assets/images/master_header/chuttersnap-1280x800.png +0 -0
  343. data/lib/starter_web/assets/images/master_header/clark-tibbs-do-something-1280x600.png +0 -0
  344. data/lib/starter_web/assets/images/master_header/clark-tibbs-do-something-1920x900.png +0 -0
  345. data/lib/starter_web/assets/images/master_header/docker_banner_l-1280x500.png +0 -0
  346. data/lib/starter_web/assets/images/master_header/docker_banner_r-1280x500.png +0 -0
  347. data/lib/starter_web/assets/images/master_header/homehead-default-1280x600.png +0 -0
  348. data/lib/starter_web/assets/images/master_header/homehead-default-1920x800.png +0 -0
  349. data/lib/starter_web/assets/images/master_header/ideas-start-here-1280x900.png +0 -0
  350. data/lib/starter_web/assets/images/master_header/ideas-start-here-1920x1200.png +0 -0
  351. data/lib/starter_web/assets/images/master_header/maarten-van-den-heuvel-1280x600.png +0 -0
  352. data/lib/starter_web/assets/images/master_header/pagehead-default-1280x500.png +0 -0
  353. data/lib/starter_web/assets/images/master_header/pagehead-default-1920x600.png +0 -0
  354. data/lib/starter_web/assets/images/master_header/stefan-stefancik-1280x800.png +0 -0
  355. data/lib/starter_web/assets/images/master_header/tables-1920.jpg +0 -0
  356. data/lib/starter_web/assets/images/master_header/water-journal-1280x600.png +0 -0
  357. data/lib/starter_web/assets/images/master_header/whats-up-1920x1200.png +0 -0
  358. data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1-template-theme.png +0 -0
  359. data/lib/starter_web/assets/images/pages/roundtrip/bootstrap-modals.jpg +0 -0
  360. data/lib/starter_web/assets/images/pages/roundtrip/cards-1920.jpg +0 -0
  361. data/lib/starter_web/assets/images/pages/roundtrip/icon-fonts-1920.jpg +0 -0
  362. data/lib/starter_web/assets/images/pages/roundtrip/meeting.jpg +0 -0
  363. data/lib/starter_web/assets/images/pages/roundtrip/oleg-magni-1920x1280.png +0 -0
  364. data/lib/starter_web/assets/images/pages/roundtrip/package.json +0 -125
  365. data/lib/starter_web/assets/images/pages/roundtrip/puzzle-1280x600.jpg +0 -0
  366. data/lib/starter_web/assets/images/pages/roundtrip/readme_1280x600.png +0 -0
  367. data/lib/starter_web/assets/images/pages/roundtrip/readme_1920x1000.png +0 -0
  368. data/lib/starter_web/assets/images/pages/roundtrip/theme-1920.jpg +0 -0
  369. data/lib/starter_web/assets/images/pages/roundtrip/typography-1920.jpg +0 -0
  370. data/lib/starter_web/assets/images/public/aaron-burden-1280x600.png +0 -0
  371. data/lib/starter_web/assets/images/public/admin-bootstrap.jpg +0 -0
  372. data/lib/starter_web/assets/images/public/admin-dashboard-bootstrap-1280x600.png +0 -0
  373. data/lib/starter_web/assets/images/public/cat-5.jpg +0 -0
  374. data/lib/starter_web/assets/images/public/cat-6.jpg +0 -0
  375. data/lib/starter_web/assets/images/public/cat-7.jpg +0 -0
  376. data/lib/starter_web/assets/images/public/cat-8.jpg +0 -0
  377. data/lib/starter_web/assets/images/public/chuttersnap-1280x800.png +0 -0
  378. data/lib/starter_web/assets/images/public/clark-tibbs-do-something-1280x600.png +0 -0
  379. data/lib/starter_web/assets/images/public/clark-tibbs-do-something-1920x900.png +0 -0
  380. data/lib/starter_web/assets/images/public/docker_banner_l-1280x500.png +0 -0
  381. data/lib/starter_web/assets/images/public/docker_banner_r-1280x500.png +0 -0
  382. data/lib/starter_web/assets/images/public/homehead-default-1280x600.png +0 -0
  383. data/lib/starter_web/assets/images/public/homehead-default-1920x800.png +0 -0
  384. data/lib/starter_web/assets/images/public/ideas-start-here-1280x900.png +0 -0
  385. data/lib/starter_web/assets/images/public/ideas-start-here-1920x1200.png +0 -0
  386. data/lib/starter_web/assets/images/public/image_01.jpg +0 -0
  387. data/lib/starter_web/assets/images/public/image_02.jpg +0 -0
  388. data/lib/starter_web/assets/images/public/image_03.jpg +0 -0
  389. data/lib/starter_web/assets/images/public/image_04.jpg +0 -0
  390. data/lib/starter_web/assets/images/public/katarina-1.jpg +0 -0
  391. data/lib/starter_web/assets/images/public/katarina-2.jpg +0 -0
  392. data/lib/starter_web/assets/images/public/katarina-3.jpg +0 -0
  393. data/lib/starter_web/assets/images/public/katarina-4.jpg +0 -0
  394. data/lib/starter_web/assets/images/public/katarina-5.jpg +0 -0
  395. data/lib/starter_web/assets/images/public/maarten-van-den-heuvel-1280x600.png +0 -0
  396. data/lib/starter_web/assets/images/public/pagehead-default-1280x500.png +0 -0
  397. data/lib/starter_web/assets/images/public/pagehead-default-1920x600.png +0 -0
  398. data/lib/starter_web/assets/images/public/stefan-stefancik-1280x800.png +0 -0
  399. data/lib/starter_web/assets/images/public/tables-1920.jpg +0 -0
  400. data/lib/starter_web/assets/images/public/water-journal-1280x600.png +0 -0
  401. data/lib/starter_web/collections/posts/public/featured/_posts/2018-07-01-what-is-a-static-site.adoc +0 -140
  402. data/lib/starter_web/pages/public/start/change_me_first.adoc +0 -67
  403. data/screenshot.png +0 -0
@@ -118,7 +118,7 @@ j1.adapter['octokit'] = (function (j1, window) {
118
118
  logger.info('Module is being initialized');
119
119
 
120
120
  // Load webhook modals
121
- $.when( j1.xhrLoadData('j1.adapter.octokit', moduleOptions))
121
+ $.when( j1.xhrDATA('j1.adapter.octokit', moduleOptions))
122
122
  .then (function (success) {
123
123
  if (success) {
124
124
  {% comment %} Run initializers if webhook modals LOADED
@@ -92,7 +92,7 @@ j1.octokit = (function (j1, window) {
92
92
  state = 'initialize';
93
93
  logger.info('state: ' + state);
94
94
 
95
- $.when( j1.xhrLoadData( 'j1.octokit', moduleOptions ) )
95
+ $.when( j1.xhrDATA( 'j1.octokit', moduleOptions ) )
96
96
  .done ( function ( success ) {
97
97
  // Loading data started successfully
98
98
  if (success) {
@@ -49,6 +49,16 @@ regenerate: false
49
49
  {% comment %} Set config options
50
50
  -------------------------------------------------------------------------------- {% endcomment %}
51
51
  {% assign switcher_options = switcher_defaults | merge: switcher_settings %}
52
+ {% assign default_theme = template_config.bootstrap.default_theme %}
53
+ {% assign vendor_css = "vendor" %}
54
+ {% assign theme_base = "core/css" %}
55
+ {% assign theme_ext = "css" %}
56
+
57
+ {% if environment == "development" or environment == "test" %}
58
+ {% assign theme_ext = "css" %}
59
+ {% else %}
60
+ {% assign theme_ext = "min.css" %}
61
+ {% endif %}
52
62
 
53
63
  /*
54
64
  # -----------------------------------------------------------------------------
@@ -84,6 +94,24 @@ j1.adapter['switcher'] = (function (j1, window) {
84
94
  var logger;
85
95
  var logText;
86
96
 
97
+
98
+
99
+ var cookie_names = j1.getCookieNames();
100
+ var user_state_cookie_name = cookie_names.user_session;
101
+ var user_state_detected = false;
102
+
103
+ var id = 'default';
104
+ var cssFile = '{{switcher_options.defaultCssFile}}';
105
+ var themeName;
106
+ var themeCss;
107
+ var themeCssHtml;
108
+ var themeExtensionCss;
109
+ var themeExtensionCssHtml;
110
+
111
+ var user_state = {};
112
+ var user_state_json;
113
+ var user_state_cookie;
114
+
87
115
  // ---------------------------------------------------------------------------
88
116
  // Main object
89
117
  // ---------------------------------------------------------------------------
@@ -98,6 +126,33 @@ j1.adapter['switcher'] = (function (j1, window) {
98
126
  state = 'started';
99
127
  logger.info('state: ' + state); // Set|Log status
100
128
 
129
+ // Detect|Set J1 UserState
130
+ user_state_detected = j1.existsCookie(user_state_cookie_name);
131
+ if ( user_state_detected ) {
132
+ user_state = j1.readCookie(user_state_cookie_name);
133
+ themeName = user_state.theme_name;
134
+ themeCss = user_state.theme_css;
135
+ themeExtensionCss = user_state.theme_extension_css;
136
+ }
137
+ if (themeCss) {
138
+ themeCssHtml = "<link rel='stylesheet' id='" + id + "' href='" + themeCss + "' type='text/css' />";
139
+ themeExtensionCssHtml = "<link rel='stylesheet' id='" + id + "' href='" + themeExtensionCss + "' type='text/css' />";
140
+ } else {
141
+ themeCssHtml = '<link rel="stylesheet" type="text/css" id="default" href="{{asset_path}}/{{theme_base}}/{{default_theme}}.{{theme_ext}}" />';
142
+ vendorCssHtml = '<link rel="stylesheet" type="text/css" id="default" href="{{asset_path}}/{{theme_base}}/{{vendor_css}}.{{theme_ext}}" />';
143
+ $('head').append(vendorCssHtml);
144
+ }
145
+ $('head').append(themeCssHtml);
146
+
147
+ // Append|Remove theme extentions
148
+ // TODO: Make default theme name 'Uno' configurable
149
+ if ( themeName === 'Uno' ) {
150
+ $('head link[href*="' +themeExtensionCss+ '"]').remove();
151
+ } else {
152
+ $('head').append(themeExtensionCssHtml);
153
+ }
154
+
155
+
101
156
  {% if switcher_options.enabled %}
102
157
  logger.info("ThemeSwitcher being initialized");
103
158
 
@@ -480,7 +480,7 @@ var j1 = function () {
480
480
  logger.info(logText);
481
481
 
482
482
  var headerLoaded = setInterval(function() {
483
- if ( j1.MastHead.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
483
+ if ( j1.attic.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
484
484
  // pause the display of current page for flicker timeout [ms]
485
485
  setTimeout( function() {
486
486
  // display current page
@@ -1310,12 +1310,12 @@ var j1 = (function () {
1310
1310
  // }, // END fetchAPI
1311
1311
 
1312
1312
  // -------------------------------------------------------------------------
1313
- // xhrLoadData:
1313
+ // xhrDATA:
1314
1314
  // Load data asychronously using XHR on a DIV container
1315
1315
  // specified (from options)
1316
1316
  // -------------------------------------------------------------------------
1317
- xhrLoadData: function ( mod, options, state ) {
1318
- var logger = log4javascript.getLogger('j1.xhrLoadData');
1317
+ xhrDATA: function ( mod, options, state ) {
1318
+ var logger = log4javascript.getLogger('j1.xhrDATA');
1319
1319
  var state;
1320
1320
  var logText;
1321
1321
 
@@ -1353,7 +1353,7 @@ var j1 = (function () {
1353
1353
  executeFunctionByName(mod + '.setState', window, state)
1354
1354
  return false;
1355
1355
  }
1356
- }, // END xhrLoadData
1356
+ }, // END xhrDATA
1357
1357
 
1358
1358
  // -------------------------------------------------------------------------
1359
1359
  // getColorData: Returns the j1_colors object
@@ -568,7 +568,7 @@ var j1 = function () {
568
568
  logger.info(logText);
569
569
 
570
570
  var headerLoaded = setInterval(function() {
571
- if ( j1.MastHead.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
571
+ if ( j1.attic.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
572
572
  // pause the display of current page for flicker timeout [ms]
573
573
  setTimeout( function() {
574
574
  // display current page
@@ -1300,16 +1300,16 @@ var j1 = function () {
1300
1300
  }, // END fetchAPI
1301
1301
 
1302
1302
  // -------------------------------------------------------------------------
1303
- // xhrLoadData:
1303
+ // xhrDATA:
1304
1304
  // Load data asychronously using XHR on a DIV container
1305
1305
  // specified (from options)
1306
1306
  // -------------------------------------------------------------------------
1307
- xhrLoadData: function ( mod, options ) {
1307
+ xhrDATA: function ( mod, options ) {
1308
1308
  var state;
1309
1309
 
1310
1310
  var cb_load_closure = function( mod, id ) {
1311
1311
  return function ( responseTxt, statusTxt, xhr ) {
1312
- var logger = log4javascript.getLogger('j1.xhrLoadData');
1312
+ var logger = log4javascript.getLogger('j1.xhrDATA');
1313
1313
  if ( statusTxt == "success" ) {
1314
1314
  var logText = "Data on ID " +id+ " loaded successfully"
1315
1315
  logger.info(logText);
@@ -1342,7 +1342,7 @@ var j1 = function () {
1342
1342
  executeFunctionByName('j1.' + mod + '.setState', window, state)
1343
1343
  return false;
1344
1344
  }
1345
- }, // END xhrLoadData
1345
+ }, // END xhrDATA
1346
1346
 
1347
1347
  // -------------------------------------------------------------------------
1348
1348
  // Send message
@@ -486,7 +486,7 @@ var j1 = function () {
486
486
  logger.info(logText);
487
487
 
488
488
  var headerLoaded = setInterval(function() {
489
- if ( j1.MastHead.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
489
+ if ( j1.attic.state() === 'initialized' && j1.Navigator.state() === 'finished' ) {
490
490
  // pause the display of current page for flicker timeout [ms]
491
491
  setTimeout( function() {
492
492
  // display current page
@@ -0,0 +1,360 @@
1
+ ---
2
+ regenerate: false
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/themes/j1/adapter/js/themer.js
10
+ # Liquid template to adapt theme functions
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ #
15
+ # Copyright (C) 2019 Juergen Adams
16
+ #
17
+ # J1 Template is licensed under the MIT License.
18
+ # For details, see https://jekyll.one
19
+ #
20
+ # -----------------------------------------------------------------------------
21
+ # Test data:
22
+ # {{ config | debug }}
23
+ # -----------------------------------------------------------------------------
24
+ {% endcomment %}
25
+
26
+ {% comment %} Liquid procedures
27
+ -------------------------------------------------------------------------------- {% endcomment %}
28
+
29
+ {% comment %} Set global settings
30
+ -------------------------------------------------------------------------------- {% endcomment %}
31
+ {% assign environment = site.environment %}
32
+ {% assign template_version = site.version %}
33
+
34
+ {% comment %} Process YML config data
35
+ ================================================================================ {% endcomment %}
36
+
37
+ {% comment %} Set config files
38
+ -------------------------------------------------------------------------------- {% endcomment %}
39
+ {% assign site_config = site %}
40
+ {% assign template_config = site.data.template_settings %}
41
+ {% assign blocks = site.data.blocks %}
42
+ {% assign modules = site.data.modules %}
43
+
44
+ {% comment %} Set config data
45
+ -------------------------------------------------------------------------------- {% endcomment %}
46
+ {% assign themer_defaults = modules.defaults.themer.defaults %}
47
+ {% assign themer_settings = modules.themer.settings %}
48
+
49
+ {% comment %} Set config options
50
+ -------------------------------------------------------------------------------- {% endcomment %}
51
+ {% assign themer_options = themer_defaults | merge: themer_settings %}
52
+ {% assign default_theme = template_config.bootstrap.default_theme %}
53
+ {% assign vendor_css = "vendor" %}
54
+ {% assign theme_base = "core/css" %}
55
+ {% assign theme_ext = "css" %}
56
+
57
+ {% if environment == "development" or environment == "test" %}
58
+ {% assign theme_ext = "css" %}
59
+ {% else %}
60
+ {% assign theme_ext = "min.css" %}
61
+ {% endif %}
62
+
63
+
64
+ /*
65
+ # -----------------------------------------------------------------------------
66
+ # ~/assets/themes/j1/adapter/js/themer.js
67
+ # JS Adapter for J1 themer (BS Theme themer)
68
+ #
69
+ # Product/Info:
70
+ # https://jekyll.one
71
+ # https://github.com/jguadagno/bootstrapThemethemer
72
+ #
73
+ # Copyright (C) 2019 Juergen Adams
74
+ # Copyright (C) 2014 Joseph Guadagno
75
+ #
76
+ # J1 Template is licensed under the MIT License.
77
+ # For details, see https://jekyll.one
78
+ # BS Theme themer is licensed under the MIT License.
79
+ # For details, see https://github.com/jguadagno/bootstrapThemethemer/blob/master/LICENSE
80
+ # -----------------------------------------------------------------------------
81
+ # NOTE:
82
+ # Setup of theme selectors (ThemeList|ThemeSelect) moved
83
+ # to j1_adapter_navigator.js
84
+ # -----------------------------------------------------------------------------
85
+ # Adapter generated: {{site.time}}
86
+ # -----------------------------------------------------------------------------
87
+ */
88
+ 'use strict';
89
+
90
+ j1.adapter['themer'] = (function (j1, window) {
91
+
92
+ // ---------------------------------------------------------------------------
93
+ // globals
94
+ // ---------------------------------------------------------------------------
95
+ var environment = '{{environment}}';
96
+ var state = 'not_started';
97
+ var moduleOptions = {};
98
+ var user_state = {};
99
+ var cookie_names = j1.getCookieNames();
100
+ var user_state_cookie_name = cookie_names.user_session;
101
+ var user_state_detected = false;
102
+ var id = 'default';
103
+ var cssFile = '{{themer_options.defaultCssFile}}';
104
+ var interval_count = 0;
105
+ var max_count = 10;
106
+ var user_state_json;
107
+ var user_state_cookie;
108
+ var _this;
109
+ var theme;
110
+ var themeName;
111
+ var themeCss;
112
+ var themeCssHtml;
113
+ var themeExtensionCss;
114
+ var themeExtensionCssHtml;
115
+ var logger;
116
+ var logText;
117
+
118
+ // ---------------------------------------------------------------------------
119
+ // helper functions
120
+ // ---------------------------------------------------------------------------
121
+
122
+ // See: https://stackoverflow.com/questions/16965515/how-to-get-a-style-attribute-from-a-css-class-by-javascript-jquery
123
+ // Example: getStyleValueFromStyleSheet('bg-primary', 'background-color', 'vendor');
124
+ function styleSheetLoaded(styleSheet) {
125
+ // var styleSheet = styleSheetName.toLowerCase() + '.css';
126
+ var sheets = document.styleSheets, stylesheet = sheets[(sheets.length - 1)];
127
+
128
+ // find CSS file 'styleSheetName' in document
129
+ for(var i in document.styleSheets) {
130
+ if(sheets[i].href && sheets[i].href.indexOf(styleSheet) > -1) {
131
+ return true;;
132
+ }
133
+ }
134
+ return false;
135
+ }
136
+
137
+ {% comment %} Unused
138
+ ------------------------------------------------------------------------------
139
+ // NOTE: Does not work anymore because of CORS check violation
140
+ // See: https://stackoverflow.com/questions/16965515/how-to-get-a-style-attribute-from-a-css-class-by-javascript-jquery
141
+ // Example: getStyleValueFromStyleSheet('bg-primary', 'background-color', 'vendor');
142
+ function getStyleValueFromStyleSheet(className, style, styleSheetName) {
143
+ var sheets = document.styleSheets, stylesheet = sheets[(sheets.length - 1)];
144
+ var style;
145
+
146
+ // find CSS file 'styleSheetName' in document
147
+ for( var i in document.styleSheets ){
148
+ if( sheets[i].href && sheets[i].href.indexOf(styleSheetName + ".css") > -1 ) {
149
+ stylesheet = sheets[i];
150
+ break;
151
+ }
152
+ if (typeof(stylesheet) === 'undefined') return null;
153
+ }
154
+
155
+ // find CSS style 'style' in styleSheetName
156
+ for (var j=0, k=stylesheet.cssRules.length; j < k; j++) {
157
+ var rule = stylesheet.cssRules[j];
158
+ if (rule.selectorText && rule.selectorText.split(',').indexOf('.' +className) !== -1) {
159
+ style = rule.style[style];
160
+ return style;
161
+ }
162
+ }
163
+
164
+ return null;
165
+ }
166
+ ------------------------------------------------------------------------------ {% endcomment %}
167
+
168
+
169
+ // ---------------------------------------------------------------------------
170
+ // Main object
171
+ // ---------------------------------------------------------------------------
172
+ return {
173
+
174
+ // -------------------------------------------------------------------------
175
+ // initializer
176
+ // -------------------------------------------------------------------------
177
+ init: function () {
178
+ _this = j1.adapter.themer;
179
+ logger = log4javascript.getLogger('j1.adapter.themer');
180
+
181
+ j1.adapter.themer.state = 'started';
182
+
183
+ logger.info('state: ' + _this.getState());
184
+
185
+ // Detect|Set J1 UserState
186
+ user_state_detected = j1.existsCookie(user_state_cookie_name);
187
+ if ( user_state_detected ) {
188
+ user_state = j1.readCookie(user_state_cookie_name);
189
+ themeName = user_state.theme_name;
190
+ themeCss = user_state.theme_css;
191
+ themeExtensionCss = user_state.theme_extension_css;
192
+ }
193
+ if (themeCss) {
194
+ themeCssHtml = "<link rel='stylesheet' id='" + id + "' href='" + themeCss + "' type='text/css' />";
195
+ themeExtensionCssHtml = "<link rel='stylesheet' id='" + id + "' href='" + themeExtensionCss + "' type='text/css' />";
196
+ } else {
197
+ themeCssHtml = '<link rel="stylesheet" type="text/css" id="default" href="{{asset_path}}/{{theme_base}}/{{default_theme}}.{{theme_ext}}" />';
198
+ vendorCssHtml = '<link rel="stylesheet" type="text/css" id="default" href="{{asset_path}}/{{theme_base}}/{{vendor_css}}.{{theme_ext}}" />';
199
+ $('head').append(vendorCssHtml);
200
+ }
201
+ $('head').append(themeCssHtml);
202
+
203
+ // Append|Remove theme extentions
204
+ // TODO: Make default theme name 'Uno' configurable
205
+ if ( themeName === 'Uno' ) {
206
+ $('head link[href*="' +themeExtensionCss+ '"]').remove();
207
+ } else {
208
+ $('head').append(themeExtensionCssHtml);
209
+ }
210
+
211
+ {% if themer_options.enabled %}
212
+ logger.info('themes detected as: enabled');
213
+ logger.info('theme is being initialized: ' + themeName);
214
+
215
+ $.when(
216
+ $('#ThemeList').bootstrapThemeSwitcher.defaults = {
217
+ debug: {{ themer_options.debug | json }},
218
+ saveToCookie: {{ themer_options.saveToCookie | json }},
219
+ cssThemeLink: {{ themer_options.cssThemeLink | json }},
220
+ cookieThemeName: {{ themer_options.cookieThemeName | json }},
221
+ cookieDefaultThemeName: {{ themer_options.cookieDefaultThemeName | json }},
222
+ cookieThemeCss: {{ themer_options.cookieThemeCss | json }},
223
+ cookieThemeExtensionCss: {{ themer_options.cookieThemeExtensionCss | json }},
224
+ cookieExpiration: {{ themer_options.cookieExpiration | json }},
225
+ cookiePath: {{ themer_options.cookiePath | json }},
226
+ defaultCssFile: {{ themer_options.defaultCssFile | json }},
227
+ bootswatchApiUrl: {{ themer_options.bootswatchApiUrl | json }},
228
+ bootswatchApiVersion: {{ themer_options.bootswatchApiVersion | json }},
229
+ loadFromBootswatch: {{ themer_options.loadFromBootswatch | json }},
230
+ localFeed: {{ themer_options.localFeed | json }},
231
+ excludeBootswatch: {{ themer_options.excludeBootswatch | json }},
232
+ includeBootswatch: {{ themer_options.includeBootswatch | json }},
233
+ skipIncludeBootswatch: {{ themer_options.skipIncludeBootswatch | json }}
234
+ })
235
+ .then (function() {
236
+ if (themeName === 'Uno' || themeName === 'Bootstrap') {
237
+ theme = environment === 'production'
238
+ ? themeName.toLowerCase() + '.min.css'
239
+ : themeName.toLowerCase() + '.css';
240
+ } else {
241
+ theme = 'bootstrap.css'; // fallback
242
+ }
243
+
244
+ logger.info('wait until theme loaded: ' + themeName);
245
+ var dependency_met_theme_css_loaded = setInterval(function() {
246
+ interval_count += 1;
247
+ if (styleSheetLoaded(theme) === true) {
248
+ logger.info('theme loaded: ' + themeName);
249
+ _this.setState('finished');
250
+ logger.info('state: ' + state);
251
+ logger.info('module initialized successfully:' + themeName);
252
+
253
+ // set general|global theme colors
254
+ _this.setCss();
255
+
256
+ clearInterval(dependency_met_theme_css_loaded);
257
+ return true;
258
+ }
259
+ if (interval_count > max_count) {
260
+ clearInterval(dependency_met_theme_css_loaded);
261
+ _this.setCss();
262
+ _this.setState('finished');
263
+ logger.info('state: ' + _this.getState());
264
+ logger.warn('failed to detected css file loaded for theme: ' + themeName);
265
+ return false;
266
+ }
267
+ }, 25);
268
+ });
269
+ {% else %}
270
+ _this.setState('finished');
271
+ logger.info('state: ' + _this.getState());
272
+ logger.info('module detected as: disabled');
273
+ return true;
274
+ {% endif %}
275
+ }, // END init
276
+
277
+ // -------------------------------------------------------------------------
278
+ // setCss
279
+ // Set dynamic styles
280
+ // -------------------------------------------------------------------------
281
+ setCss: function () {
282
+ var bg_primary = j1.getStyleValue('bg-primary', 'background-color');
283
+ // var admonitionblock_note_color = j1.getStyleValue('icon-note', 'color');
284
+ // var admonitionblock_tip_color = j1.getStyleValue('icon-tip', 'color');
285
+ // var admonitionblock_important_color = j1.getStyleValue('icon-important', 'color');
286
+ // var admonitionblock_warning_color = j1.getStyleValue('icon-warning', 'color');
287
+ // var admonitionblock_caution_color = j1.getStyleValue('icon-caution', 'color');
288
+
289
+ var admonitionblock_note_color = j1.getStyleValue('btn-info', 'background-color');
290
+ var admonitionblock_tip_color = j1.getStyleValue('btn-success', 'background-color');
291
+ var admonitionblock_important_color = j1.getStyleValue('btn-warning', 'background-color');
292
+ var admonitionblock_warning_color = j1.getStyleValue('icon-warning', 'color');
293
+ var admonitionblock_caution_color = j1.getStyleValue('btn-danger', 'background-color');
294
+
295
+ var tabs_pills_link_color_hover = j1.getStyleValue('btn-info', 'background-color');
296
+
297
+ $('head').append('<style>.g-bg-primary { background-color: ' +bg_primary+ ' !important; }</style>');
298
+ $('head').append('<style>.mdi-md-bg-primary { color: ' +bg_primary+ '; }</style>');
299
+
300
+ $('head').append('<style>.nav-link:hover { background-color: ' +tabs_pills_link_color_hover+ ' !important; }</style>');
301
+ $('head').append('<style>.nav-link.active { background-color: ' +tabs_pills_link_color_hover+ ' !important; }</style>');
302
+
303
+ $('head').append('<style>.icon-note { color: ' +admonitionblock_note_color+ ' !important; }</style>');
304
+ $('head').append('<style>.icon-tip { color: ' +admonitionblock_tip_color+ ' !important; }</style>');
305
+ $('head').append('<style>.icon-important { color: ' +admonitionblock_important_color+ ' !important; }</style>');
306
+ $('head').append('<style>.icon-warning { color: ' +admonitionblock_warning_color+ ' !important; }</style>');
307
+ $('head').append('<style>.icon-caution { color: ' +admonitionblock_caution_color+ ' !important; }</style>');
308
+
309
+
310
+ return true;
311
+ }, // END setCss
312
+
313
+ // -------------------------------------------------------------------------
314
+ // messageHandler
315
+ // Manage messages send from other J1 modules
316
+ // -------------------------------------------------------------------------
317
+ messageHandler: function ( sender, message ) {
318
+ var json_message = JSON.stringify(message, undefined, 2);
319
+
320
+ logText = 'Received message from ' + sender + ': ' + json_message;
321
+ logger.info(logText);
322
+
323
+ // -----------------------------------------------------------------------
324
+ // Process commands|actions
325
+ // -----------------------------------------------------------------------
326
+ if ( message.type === 'command' && message.action === 'module_initialized' ) {
327
+ //
328
+ // Place handling of command|action here
329
+ //
330
+ }
331
+ //
332
+ // Place handling of other command|action here
333
+ //
334
+
335
+ return true;
336
+ }, // END messageHandler
337
+
338
+ // -------------------------------------------------------------------------
339
+ // setState
340
+ // Set the current (processing) state of the module
341
+ // -------------------------------------------------------------------------
342
+ setState: function ( stat ) {
343
+ j1.adapter.themer.state = stat;
344
+ }, // END setState
345
+
346
+ // -------------------------------------------------------------------------
347
+ // getState
348
+ // Returns the current (processing) state of the module
349
+ // -------------------------------------------------------------------------
350
+ getState: function () {
351
+ return j1.adapter.themer.state;
352
+ } // END state
353
+
354
+ }; // END return
355
+ })(j1, window);
356
+
357
+ {% endcapture %}
358
+
359
+ {{ cache | strip_empty_lines }}
360
+ {% assign cache = nil %}