j1-template 2020.0.2 → 2020.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +22 -18
  3. data/_includes/themes/j1/layouts/content_generator_collection.html +15 -12
  4. data/_includes/themes/j1/layouts/content_generator_page.html +16 -17
  5. data/_includes/themes/j1/layouts/content_generator_post.html +21 -26
  6. data/_includes/themes/j1/modules/navigator/generator.html +62 -40
  7. data/{lib/starter_web/apps/public/cc → apps/public/cc/cc.yml} +0 -0
  8. data/apps/public/cc/index.adoc +107 -0
  9. data/assets/data/menu.html +6 -5
  10. data/assets/data/mmenu.html +455 -0
  11. data/assets/data/{sidebar.html → mmenu_sidebar.html} +24 -18
  12. data/assets/data/mmenu_toc.html +45 -0
  13. data/assets/data/quicklinks.html +9 -4
  14. data/assets/data/ssm.html +227 -0
  15. data/assets/error_pages/HTTP204.html +3 -3
  16. data/assets/themes/j1/adapter/js/algolia.js +321 -0
  17. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/attic.js +4 -4
  18. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/carousel.js +3 -3
  19. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/cookie_consent.js +0 -0
  20. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/framer.js +3 -3
  21. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/gallery_customizer.js +0 -0
  22. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/j1.js +15 -38
  23. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/justified_gallery.js +0 -0
  24. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/lightbox.js +0 -0
  25. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/logger.js +0 -0
  26. data/assets/themes/j1/adapter/js/mmenu.js +452 -0
  27. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/navigator.js +50 -50
  28. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/searcher.js +0 -0
  29. data/assets/themes/j1/adapter/js/ssm.js +507 -0
  30. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/themer.js +1 -1
  31. data/{lib/starter_web/assets → assets}/themes/j1/adapter/js/toccer.js +42 -44
  32. data/assets/themes/j1/core/css/bootstrap.css +116 -93
  33. data/assets/themes/j1/core/css/bootstrap.min.css +4 -4
  34. data/assets/themes/j1/core/css/globals.css +1 -1
  35. data/assets/themes/j1/core/css/theme_extensions.css +690 -137
  36. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  37. data/assets/themes/j1/core/css/uno.css +690 -137
  38. data/assets/themes/j1/core/css/uno.min.css +1 -1
  39. data/assets/themes/j1/core/css/vendor.css +134 -105
  40. data/assets/themes/j1/core/css/vendor.min.css +4 -4
  41. data/assets/themes/j1/core/js/template.js +306 -24
  42. data/assets/themes/j1/core/js/template.js.map +1 -1
  43. data/assets/themes/j1/core/js/template.min.js +1 -1
  44. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/css/carousel.css +0 -0
  45. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/css/carousel.min.css +0 -0
  46. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/css/carousel_transitions.css +0 -0
  47. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/css/carousel_transitions.min.css +0 -0
  48. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/css/theme/uno.css +0 -0
  49. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/css/theme/uno.min.css +0 -0
  50. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/images/ajax-loader.gif +0 -0
  51. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/images/grabbing.png +0 -0
  52. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/images/owl-logo.png +0 -0
  53. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/images/owl.video.play.png +0 -0
  54. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/js/carousel.js +0 -0
  55. data/{lib/starter_web/assets → assets}/themes/j1/extensions/carousel/js/carousel.min.js +0 -0
  56. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iconify/js/iconify.min.js +0 -0
  57. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/frame.absolute.html +0 -0
  58. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/frame.content.html +0 -0
  59. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/frame.hover.html +0 -0
  60. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/frame.nested.html +0 -0
  61. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/frame.textarea.html +0 -0
  62. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/frame.tolerance.html +0 -0
  63. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/index.html +0 -0
  64. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/examples/two.html +0 -0
  65. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.js +0 -0
  66. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.map +0 -0
  67. data/{lib/starter_web/assets → assets}/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.min.js +0 -0
  68. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/LICENSE +0 -0
  69. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/README.md +0 -0
  70. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/css/justifiedGallery.css +0 -0
  71. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/css/justifiedGallery.min.css +0 -0
  72. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/css/theme/uno.css +0 -0
  73. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/js/justifiedGallery.3.7.0.js +0 -0
  74. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/js/justifiedGallery.js +0 -0
  75. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/js/justifiedGallery.min.js +0 -0
  76. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/less/.csslintrc +0 -0
  77. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v3.7.0/less/justifiedGallery.less +0 -0
  78. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v4.0.0/css/justifiedGallery.css +0 -0
  79. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v4.0.0/css/justifiedGallery.min.css +0 -0
  80. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v4.0.0/css/theme/uno.css +0 -0
  81. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -0
  82. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -0
  83. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/css/justifiedGallery.css +0 -0
  84. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/css/justifiedGallery.min.css +0 -0
  85. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/css/theme/uno.css +0 -0
  86. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/css/theme/uno.min.css +0 -0
  87. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/js/justifiedGallery.js +0 -0
  88. data/{lib/starter_web/assets → assets}/themes/j1/extensions/justified_gallery/js/justifiedGallery.min.js +0 -0
  89. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/core/lg-fb-comment-box.css +0 -0
  90. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/core/lg-fb-comment-box.min.css +0 -0
  91. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/core/lg-transitions.css +0 -0
  92. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/core/lg-transitions.min.css +0 -0
  93. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/core/lightgallery.css +0 -0
  94. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/core/lightgallery.min.css +0 -0
  95. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/fonts/lg.eot +0 -0
  96. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/fonts/lg.svg +0 -0
  97. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/fonts/lg.ttf +0 -0
  98. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/fonts/lg.woff +0 -0
  99. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/img/loading.gif +0 -0
  100. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/img/video-play.png +0 -0
  101. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/img/vimeo-play.png +0 -0
  102. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/img/youtube-play.png +0 -0
  103. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/animation-w.png +0 -0
  104. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/customize-w.png +0 -0
  105. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/dynamic-w.png +0 -0
  106. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/facebook-icon.svg +0 -0
  107. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/googleplus-icon.svg +0 -0
  108. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/html5-w.png +0 -0
  109. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/linked-in.png +0 -0
  110. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/module-w.png +0 -0
  111. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/play-button.png +0 -0
  112. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/responsive-w.png +0 -0
  113. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/thumb-w.png +0 -0
  114. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/touch-w.png +0 -0
  115. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/twitter-icon.svg +0 -0
  116. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/twitter.png +0 -0
  117. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/video1-w.png +0 -0
  118. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/zoom-w.png +0 -0
  119. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/icons/zoom.png +0 -0
  120. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/uno.css +0 -0
  121. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/css/themes/uno.min.css +0 -0
  122. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/core/lightgallery.js +0 -0
  123. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/core/lightgallery.min.js +0 -0
  124. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/j1/j1-video.js +0 -0
  125. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/j1/j1-video.min.js +0 -0
  126. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-autoplay.js +0 -0
  127. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-autoplay.min.js +0 -0
  128. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-fullscreen.js +0 -0
  129. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-fullscreen.min.js +0 -0
  130. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-hash.js +0 -0
  131. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-hash.min.js +0 -0
  132. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-pager.js +0 -0
  133. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-pager.min.js +0 -0
  134. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-share.js +0 -0
  135. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-share.min.js +0 -0
  136. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-thumbnail.js +0 -0
  137. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-thumbnail.min.js +0 -0
  138. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-video.js +0 -0
  139. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-video.min.js +0 -0
  140. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-zoom.js +0 -0
  141. data/{lib/starter_web/assets → assets}/themes/j1/extensions/light_gallery/js/modules/lg-zoom.min.js +0 -0
  142. data/{lib/starter_web/assets → assets}/themes/j1/extensions/log4javascript/log4javascript.js +0 -0
  143. data/{lib/starter_web/assets → assets}/themes/j1/extensions/log4javascript/log4javascript.min.js +0 -0
  144. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.dark/theme.css +0 -0
  145. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.light/theme.css +0 -0
  146. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.monokai.dark/theme.css +0 -0
  147. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.monokai.light/theme.css +0 -0
  148. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.monokai/theme.css +0 -0
  149. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.solarized.dark/theme.css +0 -0
  150. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.solarized.light/theme.css +0 -0
  151. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16.solarized/theme.css +0 -0
  152. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/base16/theme.css +0 -0
  153. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/colorful/theme.css +0 -0
  154. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/github/theme.css +0 -0
  155. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/gruvbox.dark/theme.css +0 -0
  156. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/gruvbox.light/theme.css +0 -0
  157. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/gruvbox/theme.css +0 -0
  158. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/igorpro/theme.css +0 -0
  159. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/molokai/theme.css +0 -0
  160. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/monokai.sublime/theme.css +0 -0
  161. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/monokai/theme.css +0 -0
  162. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/pastie/theme.css +0 -0
  163. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/thankful_eyes/theme.css +0 -0
  164. data/{lib/starter_web/assets → assets}/themes/j1/extensions/rouge/css/tulip/theme.css +0 -0
  165. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/city.css +0 -0
  166. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/city.min.css +0 -0
  167. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/fantasy.css +0 -0
  168. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/fantasy.min.css +0 -0
  169. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/forest.css +0 -0
  170. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/forest.min.css +0 -0
  171. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/sea.css +0 -0
  172. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/themes/sea.min.css +0 -0
  173. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/video-js.css +0 -0
  174. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/css/video-js.min.css +0 -0
  175. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/js/video.js +0 -0
  176. data/{lib/starter_web/assets → assets}/themes/j1/extensions/videojs/js/video.min.js +0 -0
  177. data/{lib/starter_web/assets → assets}/themes/j1/extensions/vimeo/froogaloop/js/froogaloop2.min.js +0 -0
  178. data/{lib/starter_web/assets → assets}/themes/j1/extensions/vimeo/player/js/player.js +0 -0
  179. data/{lib/starter_web/assets → assets}/themes/j1/extensions/vimeo/player/js/player.js.map +0 -0
  180. data/{lib/starter_web/assets → assets}/themes/j1/extensions/vimeo/player/js/player.min.js +0 -0
  181. data/{lib/starter_web/assets → assets}/themes/j1/extensions/vimeo/player/js/player.min.js.map +0 -0
  182. data/lib/j1/version.rb +1 -1
  183. data/lib/j1_app/j1_auth_manager/auth_manager.rb +8 -0
  184. data/lib/starter_web/Gemfile +2 -2
  185. data/lib/starter_web/_config.yml +12 -139
  186. data/lib/starter_web/_data/modules/authentication.yml +1 -1
  187. data/lib/starter_web/_data/modules/defaults/navigator.yml +25 -24
  188. data/lib/starter_web/_data/modules/defaults/ssm.yml +50 -0
  189. data/lib/starter_web/_data/modules/defaults/toccer.yml +14 -15
  190. data/lib/starter_web/_data/modules/navigator.yml +164 -97
  191. data/lib/starter_web/_data/modules/ssm.yml +133 -0
  192. data/lib/starter_web/_data/modules/toccer.yml +20 -62
  193. data/lib/starter_web/_data/resources.yml +68 -51
  194. data/lib/starter_web/_data/template_settings.yml +13 -13
  195. data/lib/starter_web/_plugins/uglify.rb +41 -0
  196. data/lib/starter_web/assets/images/modules/icons/j1/{j1..ico → j1.ico} +0 -0
  197. data/lib/starter_web/collections/posts/public/{jekyll → featured}/_posts/2018-05-01-confusion-about-base-url.adoc +0 -0
  198. data/lib/starter_web/package.json +1 -1
  199. data/lib/starter_web/pages/public/about/about_site.adoc +3 -3
  200. data/lib/starter_web/pages/public/about/become_a_patron.adoc +9 -11
  201. data/lib/starter_web/pages/public/learn/floating_sidebar.adoc +199 -0
  202. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +3 -3
  203. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +6 -7
  204. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +5 -5
  205. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +22 -24
  206. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +27 -30
  207. data/lib/starter_web/pages/public/learn/whats_up.adoc +12 -11
  208. data/lib/starter_web/pages/public/legal/en/500_support.adoc +1 -1
  209. data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
  210. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -3
  211. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
  212. data/lib/starter_web/pages/public/site_search.adoc +196 -0
  213. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  214. data/lib/starter_web/utilsrv/package.json +1 -1
  215. metadata +169 -164
  216. data/assets/themes/j1/core/css/globals.scss +0 -28
  217. data/lib/starter_web/_data/modules/back2top.yml +0 -40
  218. data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -147
  219. data/lib/starter_web/_data/modules/defaults/smooth_scroll.yml +0 -169
  220. data/lib/starter_web/_data/modules/smooth_scroll.yml +0 -169
  221. data/lib/starter_web/assets/themes/j1/adapter/js/back2top.js +0 -227
  222. data/lib/starter_web/assets/themes/j1/adapter/js/scroller.js +0 -177
@@ -6,8 +6,8 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/data/sidebar.html
10
- # Liquid PROCEDURE template to create the HTML portion of the sidebar
9
+ # ~/assets/data/mmenu_sidebar.html
10
+ # Liquid PROCEDURE template to create the HTML portion of the MMenu Sidebar
11
11
  # NOTE: Loaded dynamically by J1 NAV Manager module (AJAX)
12
12
  #
13
13
  # Product/Info:
@@ -40,12 +40,12 @@ regenerate: true
40
40
 
41
41
  {% comment %} Set config data
42
42
  -------------------------------------------------------------------------------- {% endcomment %}
43
- {% assign nav_sidebar_defaults = navigator_defaults.nav_sidebar %}
44
- {% assign nav_sidebar_settings = navigator_settings.nav_sidebar %}
43
+ {% assign nav_mmenu_defaults = navigator_defaults.nav_mmenu %}
44
+ {% assign nav_mmenu_settings = navigator_settings.nav_mmenu %}
45
45
 
46
46
  {% comment %} Set config options
47
47
  ------------------------------------------------------------------------------ {% endcomment %}
48
- {% assign sidebar_options = nav_sidebar_defaults | merge: nav_sidebar_settings %}
48
+ {% assign nav_mmenu_options = nav_mmenu_defaults | merge: nav_mmenu_settings %}
49
49
 
50
50
  {% comment %} Set sidebar properties
51
51
  ------------------------------------------------------------------------------ {% endcomment %}
@@ -62,6 +62,13 @@ regenerate: true
62
62
  {% comment %} Main
63
63
  ------------------------------------------------------------------------------ {% endcomment %}
64
64
 
65
+ {% for item in nav_mmenu_options.menus %}
66
+ {% if item.menu.xhr_container_id == "navigator_sidebar_mmenu" %}
67
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [ collect data for mmenu sitebar ] -->
68
+ {% assign sidebar_options = item.menu.content %}
69
+ {% endif %}
70
+ {% endfor %}
71
+
65
72
  {% if sidebar_options.icon_family == 'FontAwesome' or sidebar_options.icon_family == 'FontAwesome4' or sidebar_options.icon_family == 'FontAwesome5' %}
66
73
  {% assign icon_family = 'fa' %}
67
74
  {% elsif sidebar_options.icon_family == 'MDI' or sidebar_options.icon_family == 'Material Design Icons'%}
@@ -80,9 +87,9 @@ regenerate: true
80
87
  {% comment %} Main
81
88
  -------------------------------------------------------------------------------- {% endcomment %}
82
89
 
83
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [Start processing: sidebar] -->
84
- <a href="#" class="close-side"><i class="{{icon_family}} {{icon_family}}-{{close_icon}} mdi-48px" {{icon_color}}></i></a>
85
-
90
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [Start processing: sidebar] -->
91
+ <!-- use BS4 class d-block to make sure, the sidebar is VISIBLE on ALL @media -->
92
+ <div id="sidebar_mmenu" class="mm-side" style="display:none">
86
93
  {% for boxes in sidebar_options.boxes %}
87
94
  {% for box in boxes %}
88
95
 
@@ -102,8 +109,8 @@ regenerate: true
102
109
  {% comment %} Collect USER info
103
110
  ---------------------------------------------------------------------- {% endcomment %}
104
111
  {% when 'user_info' %}
105
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [USER info enabled] -->
106
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [Write widged placeholder: USER info] -->
112
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [USER info enabled] -->
113
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [Write widged placeholder: USER info] -->
107
114
  <div id="user-info" class="widget">
108
115
  <h4 class="heading">{{title}}</h4>
109
116
  <ul id="display_user_details" class="link">
@@ -153,8 +160,8 @@ regenerate: true
153
160
  {% comment %} Collect THEME info
154
161
  ---------------------------------------------------------------------- {% endcomment %}
155
162
  {% when 'theme_info' %}
156
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [THEME info detected] -->
157
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [Write widged placeholder: USER info] -->
163
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [THEME info detected] -->
164
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [Write widged placeholder: USER info] -->
158
165
  <div id="theme-info" class="widget">
159
166
  <h4 class="heading">{{title}}</h4>
160
167
  <ul class="link">
@@ -189,7 +196,7 @@ regenerate: true
189
196
  {% endfor %}
190
197
  </ul>
191
198
  </div>
192
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [End processing: THEME info] -->
199
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [End processing: THEME info] -->
193
200
 
194
201
  {% comment %} END Collect THEME info
195
202
  ---------------------------------------------------------------------- {% endcomment %}
@@ -205,7 +212,7 @@ regenerate: true
205
212
  {% comment %} Collect SITE info
206
213
  ---------------------------------------------------------------------- {% endcomment %}
207
214
  {% when 'site_info' %}
208
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [Start processing SITE info] -->
215
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [Start processing SITE info] -->
209
216
 
210
217
  <div id="site-info" class="widget">
211
218
  <h4 class="heading">{{title}}</h4>
@@ -251,11 +258,10 @@ regenerate: true
251
258
 
252
259
  {% endfor %}
253
260
  {% endfor %}
254
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [End processing sidebar boxes] -->
255
- <!-- [INFO ] [j1.modules.navigator.sidebar.proc ] [End processing: sidebar] -->
256
-
261
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [End processing sidebar boxes] -->
262
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_sidebar.html ] [End processing: sidebar] -->
263
+ </div>
257
264
  {% endcapture %}
258
265
 
259
266
  {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
260
267
  {% assign cache = nil %}
261
-
@@ -0,0 +1,45 @@
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/data/mmenu_toc.html
10
+ # Liquid PROCEDURE template to create the HTML portion of the MMenu TocBar
11
+ # NOTE: Loaded dynamically by J1 MMenu module (AJAX)
12
+ #
13
+ # Product/Info:
14
+ # https://jekyll.one
15
+ #
16
+ # Copyright (C) 2020 Juergen Adams
17
+ #
18
+ # J1 Template is licensed under the MIT License.
19
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
20
+ # -----------------------------------------------------------------------------
21
+ # Test data:
22
+ # liquid_var: {{ liquid_var | debug }}
23
+ # -----------------------------------------------------------------------------
24
+ {% endcomment %}
25
+
26
+ {% comment %} Main
27
+ -------------------------------------------------------------------------------- {% endcomment %}
28
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_toc.html ] [Start processing: toc] -->
29
+ <div id="toc_mmenu" class="mm-side" style="display:none">
30
+ <div class="widget">
31
+ <h4 class="heading">Table of Contents</h4>
32
+ </div>
33
+ <!-- use BS4 class d-block to make sure, the sidebar is VISIBLE on ALL @media -->
34
+ <!-- use class sticky for BS4 as a replacement for former BS3 ScrollSpy -->
35
+ <div class="d-block sticky">
36
+ <div id="sidebar">
37
+ <div id="j1-toc-mgr" class="toc js-toc"></div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <!-- [INFO ] [ j1.modules.navigator.mmenu_toc.html ] [End processing: toc] -->
42
+ {% endcapture %}
43
+
44
+ {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
45
+ {% assign cache = nil %}
@@ -94,6 +94,8 @@ regenerate: true
94
94
 
95
95
  {% assign r_text_icon = quicklinks_options.r_text_icon %}
96
96
 
97
+ {% assign toc_icon = quicklinks_options.toc_icon %}
98
+
97
99
  {% assign back_icon = quicklinks_options.back_icon %}
98
100
  {% assign back_url = quicklinks_options.back_url %}
99
101
 
@@ -152,6 +154,8 @@ regenerate: true
152
154
  {% assign show_sidebar_icon = false %}
153
155
  {% endif %}
154
156
 
157
+ {% assign show_sidebar_icon = false %}
158
+
155
159
  {% comment %} Show|Hide RSizer icon
156
160
  -------------------------------------------------------------------------------- {% endcomment %}
157
161
  {% if quicklinks_options.r_text_sizer %}
@@ -203,8 +207,9 @@ regenerate: true
203
207
  <!-- [INFO ] [j1.modules.navigator.quicklinks.html ] [Show ControlCenter icon detected as: {{ show_control_center_icon }}] -->
204
208
  <!-- [INFO ] [j1.modules.navigator.quicklinks.html ] [Set icon familiy as: {{ icon_family }}] -->
205
209
  <!-- [INFO ] [j1.modules.navigator.quicklinks.html ] [Set icon size as: {{ icon_size }}] -->
210
+
206
211
  <ul class="navbar-nav">
207
- {% if back_url != "none" %}<li id="quickLinksHomeButton" class="nav-item"><a id="home_id" class="nav-icon" href="{{back_url}}"><i class="{{icon_family}} {{icon_family}}-{{back_icon}} {{icon_size}}"></i></a></li>{% endif %}
212
+ {% if back_url != "none" %}<li id="quickLinksHomeButton" class="nav-item"><a id="page_back_id" class="nav-icon" href="{{back_url}}"><i class="{{icon_family}} {{icon_family}}-{{back_icon}} {{icon_size}}"></i></a></li>{% endif %}
208
213
  {% if home_url != "none" %}<li id="quickLinksHomeButton" class="nav-item"><a id="home_id" class="nav-icon" href="{{home_url}}"><i class="{{icon_family}} {{icon_family}}-{{home_icon}} {{icon_size}}"></i></a></li>{% endif %}
209
214
  {% if disqus_url != "none" %}<li id="quickLinksDisqusButton" class="nav-item"><a id="disqus_id" class="nav-icon" href="{{disqus_url}}" target="blank"><i class="{{icon_family}} {{icon_family}}-{{disqus_icon}} {{icon_size}}"></i></a></li>{% endif %}
210
215
  {% if github_url != "none" %}<li id="quickLinksGithubButton" class="nav-item"><a id="github_id" class="nav-icon" href="{{github_url}}" target="blank"><i class="{{icon_family}} {{icon_family}}-{{github_icon}} {{icon_size}}"></i></a></li>{% endif %}
@@ -214,12 +219,12 @@ regenerate: true
214
219
  {% if show_auth_manager_icon %}<li id="quickLinksSignInOutButton" class="nav-item" style="display: none;"><a class="nav-icon" id="navLinkSignInOut" href="#" data-toggle="modal" data-target="#{{signin_modal_id}}"><i id="iconSignInOut" class="{{icon_family}} {{icon_family}}-{{signin_icon}} {{icon_size}}"></i></a></li>{% endif %}
215
220
  {% if show_cookie_consent_icon %}<li id="quickLinksCookieButton" class="nav-item" style="display: none;"><a id="cookie-state" class="nav-icon" href="#" data-toggle="modal" data-target="#cookieRevokeCentralDanger"><i class="{{icon_family}} {{icon_family}}-{{cookies_icon}} {{icon_size}}"></i></a></li>{% endif %}
216
221
  {% if show_translator_icon %}<li id="quickLinksLanguageButton" class="nav-item translator"><a class="nav-icon" href="#"><i class="{{icon_family}} {{icon_family}}-{{translator_icon}} {{icon_size}}"></i></a></li>{% endif %}
217
- {% if show_quick_search_icon %}<li id="quickLinksSearchButton" class="nav-item search"><a class="nav-icon" href="#"><i class="{{icon_family}} {{icon_family}}-{{search_icon}} {{icon_size}}"></i></a></li>{% endif %}
222
+ {% if show_quick_search_icon %}<li id="quickLinksSearchButton" class="nav-item search"><a class="nav-icon" href="#"><i class="{{icon_family}} {{icon_family}}-{{search_icon}} {{icon_size}}"></i></a></li>{% endif %}
218
223
  {% if show_control_center_icon %}<li id="quickLinksControlCenterButton" class="nav-item control-center" style="display: block;"><a class="nav-icon" href="{{control_center_url}}"><i class="{{icon_family}} {{icon_family}}-{{control_center_icon}} {{icon_size}}"></i></a></li>{% endif %}
219
224
  {% if show_r_text_icon %}<li id="quickLinksRTextButton" class="nav-item control-center" style="display: block;"><a class="nav-icon" href="#" data-toggle="modal" data-target="#fluidModalRTextResizer"><i class="{{icon_family}} {{icon_family}}-{{r_text_icon}} {{icon_size}}"></i></a></li>{% endif %}
220
- {% if show_sidebar_icon %}<li id="quickLinksSideBarButton" class="nav-item side-menu"><a class="nav-icon" href="#"><i class="{{icon_family}} {{icon_family}}-{{sidebar_icon}} {{icon_size}}"></i></a></li>{% endif %}
221
225
  </ul>
222
226
 
227
+ mdi-menu
223
228
  {% endcapture %}
224
229
  {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
225
- {% assign cache = nil %}
230
+ {% assign cache = nil %}
@@ -0,0 +1,227 @@
1
+ ---
2
+ regenerate: true
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/data/ssm.html
10
+ # Liquid procedure to generate HTML portion for the Sticky Side Menu
11
+ # container
12
+ #
13
+ # NOTE: Loaded dynamically by J1 NAV Manager module (AJAX)
14
+ #
15
+ # Product/Info:
16
+ # https://jekyll.one
17
+ #
18
+ # Copyright (C) 2020 Juergen Adams
19
+ #
20
+ # J1 Template is licensed under the MIT License.
21
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
22
+ # -----------------------------------------------------------------------------
23
+ # Test data:
24
+ # {{variable | debug}}
25
+ # -----------------------------------------------------------------------------
26
+ {% endcomment %}
27
+
28
+ {% comment %} Liquid procedures (unused)
29
+ --------------------------------------------------------------------------------
30
+ {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
31
+ {% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
32
+ -------------------------------------------------------------------------------- {% endcomment %}
33
+
34
+ {% comment %} Liquid var initialization
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 modules = site.data.modules %}
42
+
43
+ {% comment %} Set config data
44
+ -------------------------------------------------------------------------------- {% endcomment %}
45
+ {% assign ssm_settings = modules.ssm.settings %}
46
+ {% assign ssm_defaults = modules.defaults.ssm.defaults %}
47
+
48
+ {% comment %} Set config options
49
+ -------------------------------------------------------------------------------- {% endcomment %}
50
+ {% assign ssm_options = ssm_defaults | merge: ssm_settings %}
51
+ {% assign ssm_menu_config = ssm_options.items %}
52
+
53
+ {% comment %} Set permalink setting
54
+ -------------------------------------------------------------------------------- {% endcomment %}
55
+ {% assign ext = '' %}
56
+ {% if site.permalink == 'none' %}
57
+ {% assign ext = '.html' %}
58
+ {% endif %}
59
+
60
+ {% comment %} Set base icons and sizes
61
+ -------------------------------------------------------------------------------- {% endcomment %}
62
+ {% assign ssm_menu_icon_family = ssm_options.icon_family %}
63
+ {% assign ssm_menu_icon_style = ssm_options.icon_style %}
64
+ {% assign ssm_menu_icon_color = ssm_options.icon_color %}
65
+ {% assign ssm_menu_icon_size = ssm_options.icon_size %}
66
+
67
+ {% assign icon_family = ssm_menu_icon_family | strip | downcase %}
68
+
69
+ {% if icon_family == 'fontawesome' or icon_family == 'fontawesome5' %}
70
+ {% assign ssm_menu_icon_family = 'fa' %}
71
+ {% assign ssm_menu_icon_style = ssm_menu_icon_style %}
72
+ {% elsif icon_family == 'mdi' %}
73
+ {% assign ssm_menu_icon_family = 'mdi' %}
74
+ {% assign ssm_menu_icon_style = ssm_menu_icon_style %}
75
+ {% else %}
76
+ {% assign ssm_menu_icon_family = 'mdi' %}
77
+ {% assign ssm_menu_icon_style = ssm_menu_icon_style %}
78
+ {% endif %}
79
+
80
+ {% comment %} unused
81
+ --------------------------------------------------------------------------------
82
+ {% include {{select_color}} color=ssm_menu_icon_color fallback="#9E9E9E" %}
83
+ {% assign ssm_menu_icon_color = color %}
84
+
85
+ {% include {{select_icon_size}} family=ssm_menu_icon_family size=ssm_menu_icon_size %}
86
+ {% assign ssm_menu_icon_size = size %}
87
+ -------------------------------------------------------------------------------- {% endcomment %}
88
+
89
+ {% comment %} Main
90
+ -------------------------------------------------------------------------------- {% endcomment %}
91
+ <!-- [DEBUG ] [j1.modules.ssm_menu.html ] [collect all menu items] -->
92
+ <ul class="ssm-light-hover">
93
+
94
+ {% for menu in ssm_menu_config %}
95
+
96
+ {% comment %} {{menu | debug}}
97
+ ---------------------------------------------------------------------------- {% endcomment %}
98
+
99
+ {% comment %} Identify the menu (item) type
100
+ ---------------------------------------------------------------------------- {% endcomment %}
101
+ {% if menu.sublevel %}
102
+ {% assign menu_type = 'sublevel_menu' %}
103
+ {% elsif menu.sublevel == null and menu.megamenu == null and menu.login_menu == null and menu.theme_select == null %}
104
+ {% assign menu_type = 'top_level_item' %}
105
+ {% endif %}
106
+
107
+ {% comment %} Process all menu sections
108
+ ---------------------------------------------------------------------------- {% endcomment %}
109
+ {% case menu_type %}
110
+
111
+ {% comment %} Collect items having a SUB menue
112
+ ---------------------------------------------------------------------------- {% endcomment %}
113
+ {% when 'sublevel_menu' %}
114
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [found menu-type: sub-menue] -->
115
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [submenu sublevel detected] -->
116
+ {% if menu.enabled %}
117
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [processing: sublevel] -->
118
+ <li class="ssm-share-btn ssm-btn">
119
+ {% if menu.icon == null %}
120
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [no menu icon found] -->
121
+ <a href="#">{{menu.item}}>
122
+ <i class="{{ssm_menu_icon_family}} {{ssm_menu_icon_family}}-{{menu.icon}} {{menu.icon_classes}} {{ssm_menu_icon_color}} {{ssm_menu_icon_size}} ml-2 mr-2"></i>
123
+ {{menu.item}}
124
+ </a>
125
+ {% else %}
126
+ <a href="#"> <i class="{{ssm_menu_icon_family}} {{ssm_menu_icon_family}}-{{menu.icon}} {{menu.icon_classes}} {{ssm_menu_icon_color}} {{ssm_menu_icon_size}} ml-2 mr-2"></i>{{menu.item}}</a>
127
+ {% endif %}
128
+ <div class="ssm-sub-menu">
129
+ <ul>
130
+ {% for sublevel in menu.sublevel %}
131
+ {% if sublevel.event_handler == null %}
132
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [no event_handler found, create simple URL ] -->
133
+ {% if sublevel.icon == null %}
134
+ <li id="{{sublevel.id}}" class="ssm-btn">
135
+ <a href="{{sublevel.href}}{{ext}}">{{sublevel.title}}</a>
136
+ </li>
137
+ {% else %}
138
+ <li id="{{sublevel.id}}" class="ssm-btn">
139
+ <a href="{{sublevel.href}}{{ext}}" target="{{sublevel.target}}">{{sublevel.title}}</a>
140
+ </li>
141
+ {% endif %}
142
+ {% else %}
143
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [event_handler found, register click event ] -->
144
+ <li id="{{sublevel.id}}" class="ssm-btn">
145
+ <a href="{{sublevel.href}}{{ext}}" target="{{sublevel.target}}"
146
+ onclick="{{sublevel.event_handler}}">
147
+ <i class="{{ssm_menu_icon_family}} {{ssm_menu_icon_family}}-{{sublevel.icon}} {{sublevel.icon_classes}} {{ssm_menu_icon_color}} {{ssm_menu_icon_size}} ml-2 mr-2"></i>
148
+ {{sublevel.title}}
149
+ </a>
150
+ </li>
151
+ {% endif %}
152
+ {% endfor %} <!-- [INFO ] [j1.modules.ssm_menu.html ] [end processing: sublevel] -->
153
+ </ul>
154
+ </div>
155
+ </li>
156
+ {% else %}
157
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [sublevel menu disabled: {{sublevel.id}}] -->
158
+ {% endif %}
159
+
160
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [reset menu_type for next loop] -->
161
+ {% assign menu_type = '' %}
162
+
163
+ {% comment %} Collect TOP-LEVEL items (NO sub-menu)
164
+ ---------------------------------------------------------------------------- {% endcomment %}
165
+ {% when 'top_level_item' %}
166
+
167
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [found menu-type: menu-top-level-only] -->
168
+ {% if menu.icon == null %}
169
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [no icon for menu-item found -->
170
+ {% if menu.target == null %}
171
+ <li class="ssm-btn">
172
+ <a id="{{menu.id}}" href="{{menu.href}}{{ext}}">{{menu.item}}</a>
173
+ </li>
174
+ {% else %}
175
+ <li class="ssm-btn">
176
+ <a id="{{menu.id}}" href="{{menu.href}}{{ext}}" target="{{menu.target}}">{{menu.item}}</a>
177
+ </li>
178
+ {% endif %}
179
+ {% elsif menu.icon %}
180
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [icon for menu-item found -->
181
+ {% if menu.href == null %}
182
+ {% if menu.enabled %}
183
+ <li class="ssm-btn">
184
+ <!-- a href="{{menu.href}}{{ext}}" -->
185
+ <a id="{{menu.id}}">
186
+ <i class="{{ssm_menu_icon_family}} {{ssm_menu_icon_family}}-{{menu.icon}} {{menu.icon_classes}} {{ssm_menu_icon_color}} {{ssm_menu_icon_size}} ml-2 mr-2"></i>
187
+ {{menu.item}}
188
+ </a>
189
+ </li>
190
+ {% else %}
191
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [menu item disabled: {{menu.id}}] -->
192
+ {% endif %}
193
+ {% else %}
194
+ {% if menu.enabled %}
195
+ <li class="ssm-btn">
196
+ <a id="{{menu.id}}" href="{{menu.href}}{{ext}}" target="{{menu.target}}">
197
+ <i class="{{ssm_menu_icon_family}} {{ssm_menu_icon_family}}-{{menu.icon}} {{menu.icon_classes}} {{ssm_menu_icon_color}} {{ssm_menu_icon_size}} ml-2 mr-2"></i>
198
+ {{menu.item}}
199
+ </a>
200
+ </li>
201
+ {% else %}
202
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [menu item disabled: {{menu.id}}] -->
203
+ {% endif %}
204
+ {% endif %}
205
+ {% else %}
206
+ <!-- [FATAL ] [ssm-top-level-only ] [processing menu item failed] -->
207
+ {% endif %}
208
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [menu-top-level-only: end items] -->
209
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [reset menu_type for next loop] -->
210
+ {% assign menu_type = '' %}
211
+
212
+ {% comment %} Collect items failed
213
+ -------------------------------------------------------------------------- {% endcomment %}
214
+ {% else %}
215
+ <!-- [FATAL ] [j1.modules.ssm_menu.html ] [detecting menu items|type failed] -->
216
+ {% assign menu_type = '' %}
217
+
218
+ {% endcase %}
219
+
220
+ {% endfor %}
221
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [nav_menu_settings: end menu] -->
222
+ </ul>
223
+ <!-- [INFO ] [j1.modules.ssm_menu.html ] [nav_menu_settings: end ssc container] -->
224
+
225
+ {% endcapture %}
226
+ {{cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines}}
227
+ {% assign cache = nil %}
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  regenerate: false
3
- permalink: /533.html
3
+ permalink: /204.html
4
4
  ---
5
5
  {% capture j1_cache %}
6
6
 
7
- {% comment %}
7
+ {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
9
  # ~/assets/http_error_pages/HTTP204.html
10
10
  # Liquid TEMPLATE to generate customized HTML error pages: 204 - No Content
@@ -67,4 +67,4 @@ permalink: /533.html
67
67
 
68
68
  {% endcapture %}
69
69
  {{ j1_cache | strip_empty_lines }}
70
- {% assign j1_cache = nil %}
70
+ {% assign j1_cache = nil %}
@@ -0,0 +1,321 @@
1
+ ---
2
+ regenerate: false
3
+ ---
4
+
5
+ {% capture cache %}
6
+
7
+ {% comment %}
8
+ # -----------------------------------------------------------------------------
9
+ # ~/assets/themes/j1/adapter/js/algolia.js
10
+ # Liquid template to adapt Algolia Core functions
11
+ #
12
+ # Product/Info:
13
+ # https://jekyll.one
14
+ # https://community.algolia.com/instantsearch.js/v2/getting-started.html
15
+ # Copyright (C) 2020 Juergen Adams
16
+ #
17
+ # J1 Template is licensed under the MIT License.
18
+ # For details, see https://jekyll.one
19
+ # -----------------------------------------------------------------------------
20
+ # Test data:
21
+ # {{ liquid_var | debug }}
22
+ # -----------------------------------------------------------------------------
23
+ {% endcomment %}
24
+
25
+ {% comment %} Liquid procedures
26
+ -------------------------------------------------------------------------------- {% endcomment %}
27
+
28
+ {% comment %} Set global settings
29
+ -------------------------------------------------------------------------------- {% endcomment %}
30
+ {% assign environment = site.environment %}
31
+ {% assign template_version = site.version %}
32
+
33
+ {% comment %} Process YML config data
34
+ ================================================================================ {% endcomment %}
35
+
36
+ {% comment %} Set config files
37
+ -------------------------------------------------------------------------------- {% endcomment %}
38
+ {% assign site_config = site %}
39
+ {% assign template_config = site.data.template_settings %}
40
+ {% assign blocks = site.data.blocks %}
41
+ {% assign modules = site.data.modules %}
42
+
43
+ {% comment %} Set config data
44
+ -------------------------------------------------------------------------------- {% endcomment %}
45
+ {% assign algolia_config = site_config.algolia %}
46
+
47
+ {% comment %} Set config options
48
+ -------------------------------------------------------------------------------- {% endcomment %}
49
+
50
+ /*
51
+ # -----------------------------------------------------------------------------
52
+ # ~/assets/themes/j1/adapter/js/algolia.js
53
+ # J1 Adapter for Algolia
54
+ #
55
+ # Product/Info:
56
+ # https://jekyll.one
57
+ #
58
+ # Copyright (C) 2020 Juergen Adams
59
+ #
60
+ # J1 Template is licensed under the MIT License.
61
+ # For details, see https://jekyll.one
62
+ # -----------------------------------------------------------------------------
63
+ # Adapter generated: {{site.time}}
64
+ # -----------------------------------------------------------------------------
65
+ */
66
+ 'use strict';
67
+
68
+ {% comment %} Main
69
+ -------------------------------------------------------------------------------- {% endcomment %}
70
+ j1.adapter['algolia'] = (function (j1, window) {
71
+
72
+ {% comment %} Set global variables
73
+ ------------------------------------------------------------------------------ {% endcomment %}
74
+ var environment = '{{environment}}';
75
+ var moduleOptions = {};
76
+ var _this;
77
+ var logger;
78
+ var logText;
79
+
80
+ // ---------------------------------------------------------------------------
81
+ // Helper functions
82
+ // ---------------------------------------------------------------------------
83
+
84
+ // ---------------------------------------------------------------------------
85
+ // Main object
86
+ // ---------------------------------------------------------------------------
87
+ return {
88
+
89
+ // -------------------------------------------------------------------------
90
+ // Initializer
91
+ // -------------------------------------------------------------------------
92
+ init: function (options) {
93
+ // initialize state flag
94
+ j1.adapter.algolia.state = 'pending';
95
+
96
+ // -----------------------------------------------------------------------
97
+ // Default module settings
98
+ // -----------------------------------------------------------------------
99
+ var settings = $.extend({
100
+ module_name: 'j1.adapter.algolia',
101
+ generated: '{{site.time}}'
102
+ }, options);
103
+
104
+ {% comment %} Set global variables
105
+ -------------------------------------------------------------------------- {% endcomment %}
106
+ _this = j1.adapter.algolia;
107
+ logger = log4javascript.getLogger('j1.adapter.algolia');
108
+
109
+ _this.setState('started');
110
+ logger.info('state: ' + _this.getState());
111
+ logger.info('module is being initialized');
112
+
113
+ {% comment %} Load module config from yml data
114
+ -------------------------------------------------------------------------- {% endcomment %}
115
+ // Load module DEFAULTS|CONFIG
116
+ moduleOptions = $.extend({}, {{algolia_config | replace: '=>', ':' | replace: 'nil', '""'}});
117
+
118
+ if (typeof settings !== 'undefined') {
119
+ moduleOptions = j1.mergeData(moduleOptions, settings);
120
+ }
121
+
122
+ var search = instantsearch({
123
+ appId: moduleOptions.application_id,
124
+ apiKey: moduleOptions.search_only_api_key,
125
+ indexName: moduleOptions.index_name,
126
+ routing: true
127
+ });
128
+
129
+ var hitTemplate = function(hit) {
130
+ // state = 'start search';
131
+ // logger.info('state: ' + state);
132
+ // var re = new RegExp("^\/posts");
133
+ // var re = new RegExp("^\/pages");
134
+ var re = new RegExp("^\/pages|^\/posts|^\/collections");
135
+ if (re.test(hit.url)) {
136
+ let date = '';
137
+ if (hit.date) {
138
+ date = moment.unix(hit.date).format('MMM D, YYYY');
139
+ }
140
+ // let url = `/jekyll-algolia-example${hit.url}#${hit.anchor}`;
141
+ let url = `${hit.url}`;
142
+
143
+ const title = hit._highlightResult.title.value;
144
+ let breadcrumbs = '';
145
+
146
+ if (hit._highlightResult.headings) {
147
+ breadcrumbs = hit._highlightResult.headings.map(match => {
148
+ return `<span class="post-breadcrumb">${match.value}</span>`
149
+ }).join(' > ')
150
+ }
151
+
152
+ var content = hit._highlightResult.html.value;
153
+
154
+ return `
155
+ <li class="search-result-item">
156
+ <div class="card card-flat">
157
+ <div class="card-body">
158
+ <span class="post-meta">${date}</span>
159
+ <h2 class="card-title">${title}</h2>
160
+ <h6 class="card-subtitle mb-2 text-muted">${hit.tagline}</h6>
161
+ <div class="card-text">${content}</div>
162
+ <div class="card-footer">
163
+ <a class="card-link" href="${url}" target="_blank">Read more ..</a>
164
+ </div>
165
+ </div>
166
+ </div>
167
+ </li>
168
+ `;
169
+ }
170
+ // state = 'finished search';
171
+ // logger.info('state: ' + state);
172
+ }
173
+
174
+ if (moduleOptions.enabled == true) {
175
+ // initialize currentRefinedValues
176
+ search.addWidget(
177
+ instantsearch.widgets.currentRefinedValues({
178
+ container: '#current-refined-values',
179
+ // This widget can also contain a clear all link to remove all filters,
180
+ // we disable it in this example since we use `clearAll` widget on its own.
181
+ clearAll: false
182
+ })
183
+ );
184
+
185
+ // initialize clearAll
186
+ search.addWidget(
187
+ instantsearch.widgets.clearAll({
188
+ container: '#clear-all',
189
+ templates: {
190
+ link: 'Reset TAGS'
191
+ },
192
+ clearsQuery: false,
193
+ autoHideContainer: false
194
+ })
195
+ );
196
+
197
+ // initialize pagination
198
+ search.addWidget(
199
+ instantsearch.widgets.pagination({
200
+ container: '#pagination',
201
+ maxPages: 20,
202
+ // default is to scroll to 'body', here we disable this behavior
203
+ scrollTo: false
204
+ })
205
+ );
206
+ // initialize SearchBox
207
+ search.addWidget(
208
+ instantsearch.widgets.searchBox({
209
+ container: '#search-searchbar',
210
+ placeholder: 'Search this site ..',
211
+ autofocus: true,
212
+ reset: true,
213
+ loadingIndicator: false,
214
+ poweredBy: true // This is required if you're on the free Community plan
215
+ })
216
+ );
217
+ // initialize hits widget
218
+ search.addWidget(
219
+ instantsearch.widgets.hits({
220
+ container: '#search-hits',
221
+ templates: {
222
+ empty: 'No results',
223
+ item: hitTemplate
224
+ }
225
+ })
226
+ );
227
+ // initialize RefinementList
228
+ search.addWidget(
229
+ instantsearch.widgets.refinementList({
230
+ container: '#refinement-list',
231
+ attributeName: 'tags',
232
+ collapsible: true,
233
+ operator: "and",
234
+ limit: 5,
235
+ sortBy: ["isRefined","count:desc","name:asc"],
236
+ templates: {
237
+ header: 'Tags'
238
+ },
239
+ showMore: true
240
+ })
241
+ );
242
+ /*
243
+ search.addWidget(
244
+ instantsearch.widgets.hitsPerPageSelector({
245
+ container: '#hits-per-page-selector',
246
+ items: [
247
+ {value: 3, label: '3 per page', default: true},
248
+ {value: 6, label: '6 per page'},
249
+ {value: 12, label: '12 per page'},
250
+ ]
251
+ })
252
+ );
253
+ */
254
+ }
255
+
256
+ if (moduleOptions.enabled == true) {
257
+ search.start();
258
+ $('#searcher').addClass('row');
259
+
260
+ _this.setState('finished');
261
+ logger.info('state: ' + _this.getState());
262
+ logger.info('initializing module finished');
263
+ } else {
264
+ $('#algolia-site-search').append('<p class="ml-5 mt-5 mb-5 "> <strong>Algolia Search DISABLED</strong> </p>');
265
+ _this.setState('finished');
266
+ logger.info('state: ' + _this.getState());
267
+ logger.warn("module disabled");
268
+ }
269
+
270
+ return true;
271
+ }, // END init
272
+
273
+ // -------------------------------------------------------------------------
274
+ // messageHandler: MessageHandler for J1 CookieConsent module
275
+ // Manage messages send from other J1 modules
276
+ // -------------------------------------------------------------------------
277
+ messageHandler: function (sender, message) {
278
+ var json_message = JSON.stringify(message, undefined, 2);
279
+
280
+ logText = 'received message from ' + sender + ': ' + json_message;
281
+ logger.debug(logText);
282
+
283
+ // -----------------------------------------------------------------------
284
+ // Process commands|actions
285
+ // -----------------------------------------------------------------------
286
+ if (message.type === 'command' && message.action === 'module_initialized') {
287
+ //
288
+ // Place handling of command|action here
289
+ //
290
+ logger.info(message.text);
291
+ }
292
+
293
+ //
294
+ // Place handling of other command|action here
295
+ //
296
+
297
+ return true;
298
+ }, // END messageHandler
299
+
300
+ // -------------------------------------------------------------------------
301
+ // setState
302
+ // Set the current (processing) state of the module
303
+ // -------------------------------------------------------------------------
304
+ setState: function (stat) {
305
+ j1.adapter.algolia.state = stat;
306
+ }, // END setState
307
+
308
+ // -------------------------------------------------------------------------
309
+ // getState
310
+ // Returns the current (processing) state of the module
311
+ // -------------------------------------------------------------------------
312
+ getState: function () {
313
+ return j1.adapter.algolia.state;
314
+ } // END state
315
+
316
+ }; // END return
317
+ })(j1, window);
318
+
319
+ {% endcapture %}
320
+ {{ cache | strip_empty_lines }}
321
+ {% assign cache = nil %}