j1-template 2020.0.22 → 2020.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_page.html +1 -1
  3. data/_includes/themes/j1/layouts/content_generator_post.html +63 -161
  4. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +14 -0
  5. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +1 -3
  6. data/_includes/themes/j1/modules/connectors/comment/disqus.html +37 -24
  7. data/_includes/themes/j1/modules/navigator/generator.html +8 -3
  8. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +36 -26
  9. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  10. data/_includes/themes/j1/procedures/posts/create_series_header.proc +9 -5
  11. data/assets/data/banner.html +1 -1
  12. data/assets/data/fam.html +124 -0
  13. data/assets/data/mmenu_sidebar.html +3 -3
  14. data/assets/data/panel.html +9 -9
  15. data/assets/data/quicklinks.html +13 -13
  16. data/assets/error_pages/HTTP204.html +1 -0
  17. data/assets/error_pages/HTTP400.html +3 -2
  18. data/assets/error_pages/HTTP401.html +3 -2
  19. data/assets/error_pages/HTTP403.html +3 -2
  20. data/assets/error_pages/HTTP404.html +3 -2
  21. data/assets/error_pages/HTTP500.html +3 -2
  22. data/assets/error_pages/HTTP501.html +3 -2
  23. data/assets/error_pages/HTTP502.html +3 -2
  24. data/assets/error_pages/HTTP503.html +3 -2
  25. data/assets/error_pages/HTTP520.html +3 -2
  26. data/assets/error_pages/HTTP521.html +3 -2
  27. data/assets/error_pages/HTTP533.html +3 -2
  28. data/assets/themes/j1/adapter/js/{ssm.js → fam.js} +248 -138
  29. data/assets/themes/j1/adapter/js/framer.js +72 -56
  30. data/assets/themes/j1/adapter/js/gallery_customizer.js +2 -1
  31. data/assets/themes/j1/adapter/js/j1.js +8 -2
  32. data/assets/themes/j1/adapter/js/{searcher.js → lunr_search.js} +68 -65
  33. data/assets/themes/j1/adapter/js/toccer.js +62 -30
  34. data/assets/themes/j1/core/css/bootstrap.css +7154 -0
  35. data/assets/themes/j1/core/css/bootstrap.min.css +6 -0
  36. data/assets/themes/j1/core/css/custom.scss +28 -0
  37. data/assets/themes/j1/core/css/globals.css +14523 -0
  38. data/assets/themes/j1/core/css/globals.min.css +1 -0
  39. data/assets/themes/j1/core/css/globals.scss +28 -0
  40. data/assets/themes/j1/core/css/theme_extensions.css +11558 -0
  41. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -0
  42. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +7 -4
  43. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -2
  44. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +7 -4
  45. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +2 -2
  46. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +514 -417
  47. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +2 -2
  48. data/assets/themes/j1/core/css/uno.css +11823 -0
  49. data/assets/themes/j1/core/css/uno.min.css +1 -0
  50. data/assets/themes/j1/core/css/uno.scss +28 -0
  51. data/assets/themes/j1/core/css/vendor.css +5 -4
  52. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  53. data/assets/themes/j1/core/css/vendor.scss +28 -0
  54. data/assets/themes/j1/core/js/template.js +6 -11
  55. data/assets/themes/j1/core/js/template.js.map +1 -1
  56. data/assets/themes/j1/core/js/template.min.js +1 -1
  57. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6 -0
  58. data/assets/themes/j1/modules/cash/js/cash.js +1374 -0
  59. data/assets/themes/j1/modules/cash/js/cash.min.js +42 -0
  60. data/assets/themes/j1/modules/fam/css/uno/fam.css +369 -0
  61. data/assets/themes/j1/modules/fam/js/fam.js +477 -0
  62. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +1 -1
  63. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.js → resizer.js} +0 -0
  64. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.map → resizer.map} +0 -0
  65. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.min.js → resizer.min.js} +0 -0
  66. data/assets/themes/j1/modules/jquery/js/require.js +2145 -0
  67. data/assets/themes/j1/modules/jquery/js/require.min.js +5 -0
  68. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.css +32 -0
  69. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.min.css +25 -0
  70. data/assets/themes/j1/modules/lunrSearch/js/dateformat.js +125 -0
  71. data/assets/themes/j1/modules/lunrSearch/js/dateformat.min.js +14 -0
  72. data/assets/themes/j1/modules/lunrSearch/js/lunr.js +3475 -0
  73. data/assets/themes/j1/modules/lunrSearch/js/lunr.min.js +51 -0
  74. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.js +184 -0
  75. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +17 -0
  76. data/assets/themes/j1/modules/lunrSearch/js/mustache.js +772 -0
  77. data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +772 -0
  78. data/assets/themes/j1/modules/lunrSearch/js/uri.js +2340 -0
  79. data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +93 -0
  80. data/assets/themes/j1/modules/materialize/js/anime.js +1283 -0
  81. data/assets/themes/j1/modules/materialize/js/anime.min.js +34 -0
  82. data/assets/themes/j1/modules/materialize/js/autocomplete.js +450 -0
  83. data/assets/themes/j1/modules/materialize/js/buttons.js +409 -0
  84. data/assets/themes/j1/modules/materialize/js/cards.js +40 -0
  85. data/assets/themes/j1/modules/materialize/js/carousel.js +717 -0
  86. data/assets/themes/j1/modules/materialize/js/cash-dom.js +1044 -0
  87. data/assets/themes/j1/modules/materialize/js/cash.js +960 -0
  88. data/assets/themes/j1/modules/materialize/js/characterCounter.js +136 -0
  89. data/assets/themes/j1/modules/materialize/js/chips.js +481 -0
  90. data/assets/themes/j1/modules/materialize/js/collapsible.js +275 -0
  91. data/assets/themes/j1/modules/materialize/js/component.js +44 -0
  92. data/assets/themes/j1/modules/materialize/js/datepicker.js +975 -0
  93. data/assets/themes/j1/modules/materialize/js/dropdown.js +617 -0
  94. data/assets/themes/j1/modules/materialize/js/forms.js +275 -0
  95. data/assets/themes/j1/modules/materialize/js/global.js +427 -0
  96. data/assets/themes/j1/modules/materialize/js/materialbox.js +453 -0
  97. data/assets/themes/j1/modules/materialize/js/modal.js +382 -0
  98. data/assets/themes/j1/modules/materialize/js/parallax.js +138 -0
  99. data/assets/themes/j1/modules/materialize/js/pushpin.js +145 -0
  100. data/assets/themes/j1/modules/materialize/js/range.js +263 -0
  101. data/assets/themes/j1/modules/materialize/js/ripple.js +335 -0
  102. data/assets/themes/j1/modules/materialize/js/scrollspy.js +295 -0
  103. data/assets/themes/j1/modules/materialize/js/select.js +432 -0
  104. data/assets/themes/j1/modules/materialize/js/sidenav.js +580 -0
  105. data/assets/themes/j1/modules/materialize/js/slider.js +359 -0
  106. data/assets/themes/j1/modules/materialize/js/tabs.js +402 -0
  107. data/assets/themes/j1/modules/materialize/js/tapTarget.js +314 -0
  108. data/assets/themes/j1/modules/materialize/js/timepicker.js +647 -0
  109. data/assets/themes/j1/modules/materialize/js/toasts.js +310 -0
  110. data/assets/themes/j1/modules/materialize/js/tooltip.js +303 -0
  111. data/assets/themes/j1/modules/materialize/js/waves.js +335 -0
  112. data/assets/themes/j1/modules/materialize/scss/components/_badges.scss +55 -0
  113. data/assets/themes/j1/modules/materialize/scss/components/_buttons.scss +322 -0
  114. data/assets/themes/j1/modules/materialize/scss/components/_cards.scss +195 -0
  115. data/assets/themes/j1/modules/materialize/scss/components/_carousel.scss +90 -0
  116. data/assets/themes/j1/modules/materialize/scss/components/_chips.scss +90 -0
  117. data/assets/themes/j1/modules/materialize/scss/components/_collapsible.scss +91 -0
  118. data/assets/themes/j1/modules/materialize/scss/components/_color-classes.scss +32 -0
  119. data/assets/themes/j1/modules/materialize/scss/components/_color-variables.scss +370 -0
  120. data/assets/themes/j1/modules/materialize/scss/components/_datepicker.scss +191 -0
  121. data/assets/themes/j1/modules/materialize/scss/components/_dropdown.scss +85 -0
  122. data/assets/themes/j1/modules/materialize/scss/components/_global.scss +769 -0
  123. data/assets/themes/j1/modules/materialize/scss/components/_grid.scss +156 -0
  124. data/assets/themes/j1/modules/materialize/scss/components/_icons-material-design.scss +5 -0
  125. data/assets/themes/j1/modules/materialize/scss/components/_materialbox.scss +43 -0
  126. data/assets/themes/j1/modules/materialize/scss/components/_modal.scss +94 -0
  127. data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +208 -0
  128. data/assets/themes/j1/modules/materialize/scss/components/_normalize.scss +447 -0
  129. data/assets/themes/j1/modules/materialize/scss/components/_preloader.scss +334 -0
  130. data/assets/themes/j1/modules/materialize/scss/components/_pulse.scss +34 -0
  131. data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +216 -0
  132. data/assets/themes/j1/modules/materialize/scss/components/_slider.scss +92 -0
  133. data/assets/themes/j1/modules/materialize/scss/components/_table_of_contents.scss +33 -0
  134. data/assets/themes/j1/modules/materialize/scss/components/_tabs.scss +99 -0
  135. data/assets/themes/j1/modules/materialize/scss/components/_tapTarget.scss +103 -0
  136. data/assets/themes/j1/modules/materialize/scss/components/_timepicker.scss +183 -0
  137. data/assets/themes/j1/modules/materialize/scss/components/_toast.scss +58 -0
  138. data/assets/themes/j1/modules/materialize/scss/components/_tooltip.scss +32 -0
  139. data/assets/themes/j1/modules/materialize/scss/components/_transitions.scss +13 -0
  140. data/assets/themes/j1/modules/materialize/scss/components/_typography.scss +60 -0
  141. data/assets/themes/j1/modules/materialize/scss/components/_variables.scss +349 -0
  142. data/assets/themes/j1/modules/materialize/scss/components/_waves.scss +114 -0
  143. data/assets/themes/j1/modules/materialize/scss/components/forms/_checkboxes.scss +200 -0
  144. data/assets/themes/j1/modules/materialize/scss/components/forms/_file-input.scss +44 -0
  145. data/assets/themes/j1/modules/materialize/scss/components/forms/_forms.scss +22 -0
  146. data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +354 -0
  147. data/assets/themes/j1/modules/materialize/scss/components/forms/_radio-buttons.scss +115 -0
  148. data/assets/themes/j1/modules/materialize/scss/components/forms/_range.scss +161 -0
  149. data/assets/themes/j1/modules/materialize/scss/components/forms/_select.scss +180 -0
  150. data/assets/themes/j1/modules/materialize/scss/components/forms/_switches.scss +89 -0
  151. data/assets/themes/j1/modules/materialize/scss/materialize.scss +41 -0
  152. data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.js +0 -0
  153. data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.min.js +0 -0
  154. data/lib/j1/version.rb +1 -1
  155. data/lib/starter_web/Gemfile +12 -16
  156. data/lib/starter_web/_config.yml +95 -21
  157. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  158. data/lib/starter_web/_data/blocks/panel.yml +6 -6
  159. data/lib/starter_web/_data/j1_config.yml +7 -6
  160. data/lib/starter_web/_data/layouts/home.yml +13 -3
  161. data/lib/starter_web/_data/layouts/page.yml +10 -0
  162. data/lib/starter_web/_data/layouts/post.yml +10 -0
  163. data/lib/starter_web/_data/modules/defaults/{ssm.yml → fam.yml} +12 -15
  164. data/lib/starter_web/_data/modules/defaults/lunr_search.yml +171 -0
  165. data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -4
  166. data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -2
  167. data/lib/starter_web/_data/modules/fam.yml +158 -0
  168. data/lib/starter_web/_data/modules/{back2top.yml → lunr_search.yml} +15 -9
  169. data/lib/starter_web/_data/modules/navigator.yml +2 -2
  170. data/lib/starter_web/_data/modules/navigator_menu.yml +57 -6
  171. data/lib/starter_web/_data/modules/toccer.yml +0 -73
  172. data/lib/starter_web/_data/resources.yml +151 -104
  173. data/lib/starter_web/_includes/attributes.asciidoc +2 -2
  174. data/lib/starter_web/_includes/breadcrumbs.html +11 -0
  175. data/lib/starter_web/_plugins/debug.rb +0 -1
  176. data/lib/starter_web/_plugins/filters.rb +0 -1
  177. data/lib/starter_web/_plugins/{lorem-inline.rb → lorem_inline.rb} +1 -2
  178. data/lib/starter_web/_plugins/lunr_index.rb +313 -0
  179. data/lib/starter_web/_plugins/prettify.rb +0 -3
  180. data/lib/starter_web/_plugins/simple_search_filter.rb +0 -1
  181. data/lib/starter_web/_plugins/symlink_watcher.rb +2 -3
  182. data/lib/starter_web/assets/images/modules/attics/banner/lunr-banner-1280x800.jpg +0 -0
  183. data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
  184. data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
  185. data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
  186. data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
  187. data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +2 -4
  188. data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +4 -2
  189. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +3 -2
  190. data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +5 -4
  191. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +144 -0
  192. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +146 -0
  193. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +146 -0
  194. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +146 -0
  195. data/lib/starter_web/collections/posts/public/test_posts/_posts/2020-09-11-test_post.adoc +2 -4
  196. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +2 -3
  197. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -7
  198. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -6
  199. data/lib/starter_web/index.html +16 -10
  200. data/lib/starter_web/package.json +5 -2
  201. data/lib/starter_web/pages/public/about/about_site.adoc +0 -2
  202. data/lib/starter_web/pages/public/about/become_a_patron.adoc +1 -3
  203. data/lib/starter_web/pages/public/blog/navigator/archive.html +8 -1
  204. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +7 -3
  205. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +8 -1
  206. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +7 -2
  207. data/lib/starter_web/pages/public/blog/navigator/index.html +6 -2
  208. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +3 -4
  209. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +3 -4
  210. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +3 -4
  211. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +25 -20
  212. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +14 -12
  213. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +20 -20
  214. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +13 -8
  215. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +14 -9
  216. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +9 -6
  217. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +62 -8
  218. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +9 -7
  219. data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +237 -0
  220. data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +302 -0
  221. data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -7
  222. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -2
  223. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -1
  224. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +2 -1
  225. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +2 -1
  226. data/lib/starter_web/pages/public/legal/de/500_support.adoc +2 -1
  227. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +30 -27
  228. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +8 -5
  229. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +12 -8
  230. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +7 -0
  231. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +8 -1
  232. data/lib/starter_web/pages/public/legal/en/500_support.adoc +8 -1
  233. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +3 -1
  234. data/lib/starter_web/pages/public/previewer/iframer.adoc +36 -28
  235. data/lib/starter_web/pages/public/previewer/justified_gallery.html +2 -1
  236. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -1
  237. data/lib/starter_web/pages/public/previewer/rouge.adoc +4 -2
  238. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +2 -1
  239. data/lib/starter_web/pages/public/test_pages/breadcrumbs_tester.adoc +62 -0
  240. data/lib/starter_web/pages/public/test_pages/deck_of_posts.adoc +3 -0
  241. data/lib/starter_web/pages/public/test_pages/floating_actions_button.adoc +523 -0
  242. data/lib/starter_web/pages/public/test_pages/floating_ad.adoc +1 -0
  243. data/lib/starter_web/pages/public/test_pages/floating_div.adoc +1 -0
  244. data/lib/starter_web/pages/public/test_pages/lunr_tester.adoc +89 -0
  245. data/lib/starter_web/pages/public/test_pages/nav_pagination_tester.adoc +1 -0
  246. data/lib/starter_web/pages/public/test_pages/page_attribute_tester.adoc +1 -0
  247. data/lib/starter_web/pages/public/test_pages/responsive_images.adoc +3 -2
  248. data/lib/starter_web/pages/public/test_pages/responsive_tables.adoc +1 -0
  249. data/lib/starter_web/pages/public/test_pages/toccer_tester.adoc +2245 -0
  250. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  251. data/lib/starter_web/utilsrv/package.json +1 -1
  252. metadata +137 -29
  253. data/assets/data/search.json +0 -165
  254. data/assets/data/ssm.html +0 -242
  255. data/assets/themes/j1/adapter/js/back2top.js +0 -231
  256. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +0 -468
  257. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +0 -6
  258. data/assets/themes/j1/modules/tocbot/css/theme/uno.css +0 -95
  259. data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +0 -15
  260. data/assets/themes/j1/modules/tocbot/css/tocbot.css +0 -75
  261. data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +0 -19
  262. data/assets/themes/j1/modules/tocbot/js/tocbot.js +0 -19
  263. data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +0 -19
  264. data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -146
  265. data/lib/starter_web/_data/modules/defaults/stickybits.yml +0 -36
  266. data/lib/starter_web/_data/modules/ssm.yml +0 -142
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  regenerate: false
3
3
  permalink: /503.html
4
+ exclude_from_search: true
4
5
  ---
5
6
  {% capture j1_cache %}
6
7
 
7
- {% comment %}
8
+ {% comment %}
8
9
  # -----------------------------------------------------------------------------
9
10
  # ~/assets/http_error_pages/HTTP503.html
10
11
  # Liquid TEMPLATE to generate customized HTML error pages: 503 - Service currently unavailable
@@ -64,4 +65,4 @@ permalink: /503.html
64
65
 
65
66
  {% endcapture %}
66
67
  {{ j1_cache | strip_empty_lines }}
67
- {% assign j1_cache = nil %}
68
+ {% assign j1_cache = nil %}
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  regenerate: false
3
3
  permalink: /520.html
4
+ exclude_from_search: true
4
5
  ---
5
6
  {% capture j1_cache %}
6
7
 
7
- {% comment %}
8
+ {% comment %}
8
9
  # -----------------------------------------------------------------------------
9
10
  # ~/assets/http_error_pages/HTTP520.html
10
11
  # Liquid TEMPLATE to generate customized HTML error pages: 520 - Origin Error, Unknown Host
@@ -63,4 +64,4 @@ permalink: /520.html
63
64
 
64
65
  {% endcapture %}
65
66
  {{ j1_cache | strip_empty_lines }}
66
- {% assign j1_cache = nil %}
67
+ {% assign j1_cache = nil %}
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  regenerate: false
3
3
  permalink: /521.html
4
+ exclude_from_search: true
4
5
  ---
5
6
  {% capture j1_cache %}
6
7
 
7
- {% comment %}
8
+ {% comment %}
8
9
  # -----------------------------------------------------------------------------
9
10
  # ~/assets/http_error_pages/HTTP521.html
10
11
  # Liquid TEMPLATE to generate customized HTML error pages: 521 - Service currently unavailable
@@ -63,4 +64,4 @@ permalink: /521.html
63
64
 
64
65
  {% endcapture %}
65
66
  {{ j1_cache | strip_empty_lines }}
66
- {% assign j1_cache = nil %}
67
+ {% assign j1_cache = nil %}
@@ -1,10 +1,11 @@
1
1
  ---
2
2
  regenerate: false
3
3
  permalink: /533.html
4
+ exclude_from_search: true
4
5
  ---
5
6
  {% capture j1_cache %}
6
7
 
7
- {% comment %}
8
+ {% comment %}
8
9
  # -----------------------------------------------------------------------------
9
10
  # ~/assets/http_error_pages/HTTP533.html
10
11
  # Liquid TEMPLATE to generate customized HTML error pages: 533 - Scheduled Maintenance
@@ -63,4 +64,4 @@ permalink: /533.html
63
64
 
64
65
  {% endcapture %}
65
66
  {{ j1_cache | strip_empty_lines }}
66
- {% assign j1_cache = nil %}
67
+ {% assign j1_cache = nil %}
@@ -6,8 +6,8 @@ regenerate: true
6
6
 
7
7
  {% comment %}
8
8
  # -----------------------------------------------------------------------------
9
- # ~/assets/themes/j1/adapter/js/ssm.js
10
- # Liquid template to adapt SSM Core functions
9
+ # ~/assets/themes/j1/adapter/js/fam.js
10
+ # Liquid template to adapt FAM Core functions
11
11
  #
12
12
  # Product/Info:
13
13
  # https://jekyll.one
@@ -22,7 +22,7 @@ regenerate: true
22
22
  # -----------------------------------------------------------------------------
23
23
  # NOTE:
24
24
  # jadams, 2020-07-17:
25
- # J1 SSM can't be minfied for now. Uglifier fails on an ES6 (most probably)
25
+ # J1 FAM can't be minfied for now. Uglifier fails on an ES6 (most probably)
26
26
  # structure that couldn't fixed by 'harmony' setting. Minifier fails by:
27
27
  # Unexpected token: punc ())
28
28
  # Current, minifying has been disabled
@@ -42,23 +42,24 @@ regenerate: true
42
42
  -------------------------------------------------------------------------------- {% endcomment %}
43
43
  {% assign toccer_defaults = modules.defaults.toccer.defaults %}
44
44
  {% assign toccer_settings = modules.toccer.settings %}
45
- {% assign ssm_settings = modules.ssm.settings %}
46
- {% assign ssm_defaults = modules.defaults.ssm.defaults %}
45
+ {% assign fam_settings = modules.fam.settings %}
46
+ {% assign fam_defaults = modules.defaults.fam.defaults %}
47
47
 
48
48
  {% comment %} Set config options
49
49
  -------------------------------------------------------------------------------- {% endcomment %}
50
50
  {% assign toccer_options = toccer_defaults | merge: toccer_settings %}
51
- {% assign ssm_options = ssm_defaults | merge: ssm_settings %}
51
+ {% assign fam_options = fam_defaults | merge: fam_settings %}
52
52
 
53
53
  {% assign production = false %}
54
54
  {% if environment == 'prod' or environment == 'production' %}
55
55
  {% assign production = true %}
56
56
  {% endif %}
57
57
 
58
+
58
59
  /*
59
60
  # -----------------------------------------------------------------------------
60
- # ~/assets/themes/j1/adapter/js/ssm.js
61
- # JS Adapter for J1 SSM (Sticky Side Menu)
61
+ # ~/assets/themes/j1/adapter/js/fam.js
62
+ # JS Adapter for J1 FAM (Floating Button Menu)
62
63
  #
63
64
  # Product/Info:
64
65
  # {{site.data.j1_config.theme_author_url}}
@@ -79,7 +80,7 @@ regenerate: true
79
80
  // -----------------------------------------------------------------------------
80
81
  'use strict';
81
82
 
82
- j1.adapter['ssm'] = (function (j1, window) {
83
+ j1.adapter['fam'] = (function (j1, window) {
83
84
  // ---------------------------------------------------------------------------
84
85
  // globals
85
86
  // ---------------------------------------------------------------------------
@@ -88,11 +89,15 @@ j1.adapter['ssm'] = (function (j1, window) {
88
89
  var dclFinished = false;
89
90
  var moduleOptions = {};
90
91
  var cookie_names = j1.getCookieNames();
92
+ var famOptions;
93
+ var frontmatterOptions;
91
94
  var user_state;
92
95
  var user_session;
93
96
  var user_data;
94
97
  var sect1Nodes;
98
+ var sect3Nodes;
95
99
  var sect12Nodes;
100
+ var sect123Nodes;
96
101
  var _this;
97
102
  var logger;
98
103
  var logText;
@@ -114,9 +119,10 @@ j1.adapter['ssm'] = (function (j1, window) {
114
119
  // -----------------------------------------------------------------------
115
120
  // globals
116
121
  // -----------------------------------------------------------------------
117
- _this = j1.adapter.ssm;
118
- logger = log4javascript.getLogger('j1.adapter.ssm');
119
- sect12Nodes = $('[class$="sect1"],[class$="sect2"');
122
+ _this = j1.adapter.fam;
123
+ logger = log4javascript.getLogger('j1.adapter.fam');
124
+ sect123Nodes = $('[class$="sect1"],[class$="sect2"],[class$="sect3"]');
125
+ sect12Nodes = $('[class$="sect1"],[class$="sect2"]');
120
126
  sect1Nodes = $('[class$="sect1"]');
121
127
 
122
128
  // initialize state flag
@@ -131,7 +137,7 @@ j1.adapter['ssm'] = (function (j1, window) {
131
137
  // defaults
132
138
  // -----------------------------------------------------------------------
133
139
  var settings = $.extend({
134
- module_name: 'j1.adapter.ssm',
140
+ module_name: 'j1.adapter.fam',
135
141
  generated: '{{site.time}}'
136
142
  }, options);
137
143
 
@@ -139,156 +145,249 @@ j1.adapter['ssm'] = (function (j1, window) {
139
145
  // options loader
140
146
  // -----------------------------------------------------------------------
141
147
  /* eslint-disable */
142
- var ssmMenuOptions = $.extend({}, {{nav_ssm_options | replace: '=>', ':' }});
143
- var ssmOptions = $.extend({}, {{ssm_options | replace: 'nil', 'null' | replace: '=>', ':' }});
144
- /* eslint-enable */
145
- var xhr_data_path;
146
- var menu_id;
148
+ famOptions = $.extend({}, {{fam_options | replace: 'nil', 'null' | replace: '=>', ':' }});
147
149
 
148
150
  // Load (individual) frontmatter options (currently NOT used)
149
- //
150
- if (options != null) { var frontmatterOptions = $.extend({}, options); }
151
+ if (options != null) { frontmatterOptions = $.extend({}, options); }
151
152
 
152
153
  if (typeof frontmatterOptions !== 'undefined') {
153
- moduleOptions = j1.mergeData(ssmOptions, frontmatterOptions);
154
+ moduleOptions = j1.mergeData(famOptions, frontmatterOptions);
154
155
  }
156
+ /* eslint-enable */
155
157
 
156
- // save config settings into the mmenu object for global access
158
+ // save config settings into the fam object for global access
157
159
  //
158
160
  _this['moduleOptions'] = moduleOptions;
159
161
 
160
162
  var dependencies_met_navigator = setInterval(function() {
161
163
  if (j1.adapter.navigator.getState() == 'finished') {
162
164
  logger.info('met dependencies for: navigator');
163
- _this.ssmLoader(moduleOptions);
165
+ _this.famLoader(moduleOptions);
164
166
  clearInterval(dependencies_met_navigator);
165
167
  }
166
168
  }, 25);
169
+
167
170
  }, // END init
168
171
 
169
172
  // -------------------------------------------------------------------------
170
- // SSM Loader
173
+ // FAM Loader
171
174
  // -------------------------------------------------------------------------
172
- ssmLoader: function (ssmOptions) {
173
- var menu_id;
174
- var xhr_data_path;
175
-
176
- // cast text-based booleans
177
- var isToc = (ssmOptions.toc === 'true');
175
+ famLoader: function (famOptions) {
178
176
 
179
177
  _this.setState('loading');
180
178
  logger.info('set module state to: ' + _this.getState());
181
- logger.info('load HTML data for ssm');
182
-
183
- {% assign id_list = "" %}
179
+ logger.info('load HTML data for fam');
184
180
 
185
181
  j1.xhrData ({
186
- xhr_container_id: '{{ssm_options.xhr_container_id}}',
187
- xhr_data_path: '{{ssm_options.xhr_data_path}}' },
188
- 'j1.adapter.ssm',
182
+ xhr_container_id: famOptions.xhr_container_id,
183
+ xhr_data_path: famOptions.xhr_data_path,
184
+ xhr_data_element: famOptions.fam_menu_id },
185
+ 'j1.adapter.fam',
189
186
  'data_loaded'
190
187
  );
191
188
 
192
189
  // ---------------------------------------------------------------------
193
- // Initialize MMenu Navs and Drawers
190
+ // Initialize FAM button
194
191
  // ---------------------------------------------------------------------
195
- var dependencies_met_mmenu_initialized = setInterval (function () {
196
- if (j1.xhrDOMState['#{{ssm_options.xhr_container_id}}'] == 'success') {
192
+ var dependencies_met_fam_initialized = setInterval (function () {
193
+ if (j1.xhrDOMState['#' + famOptions.xhr_container_id] == 'success' && j1.getState() == 'finished') {
197
194
  _this.setState('loaded');
198
195
  logger.info('set module state to: ' + _this.getState());
199
- logger.info('HTML data for ssm: ' + _this.getState());
200
- j1.core.ssm.init (moduleOptions);
201
- if(isToc) {
202
- logger.info('found toc in page: enabled');
203
- if ( j1.adapter.toccer.getState() == 'finished' ) {
204
- logger.info('met dependencies for: toccer');
205
- _this.setState('processing');
206
- logger.info('set module state to: ' + _this.getState());
207
- logger.info('initialize ssm menu');
208
- ssmOptions.mode === 'icon'
209
- ? logger.info('ssm mode detected: icon')
210
- : logger.info('ssm mode detected: menu');
211
- _this.scrollSpy(ssmOptions);
212
- _this.buttonInitializer(ssmOptions);
213
-
214
- _this.setState('finished');
215
- logger.info('state: ' + _this.getState());
216
- logger.info('module initialized successfully');
217
- logger.info('met dependencies for: xhrData');
218
- clearInterval(dependencies_met_mmenu_initialized);
219
- }
220
- } else {
221
- logger.info('found toc in page: disabled');
222
- logger.info('disable toc menu and prev|next section buttons');
223
- $('#ssm_toc').closest('.ssm-btn').hide();
224
- $('#ssm_previous_section').closest('.ssm-btn').hide();
225
- $('#ssm_next_section').closest('.ssm-btn').hide();
226
- _this.scrollSpy(ssmOptions);
227
- _this.buttonInitializer(ssmOptions);
228
- logger.info('met dependencies for: xhrData');
229
- clearInterval(dependencies_met_mmenu_initialized);
230
- }
196
+ logger.info('HTML data for fam: ' + _this.getState());
197
+
198
+ // _this.scrollSpy(famOptions);
199
+ _this.buttonInitializer(famOptions);
200
+
201
+ _this.setState('finished');
202
+ logger.info('state: ' + _this.getState());
203
+ logger.info('module initialized successfully');
204
+
205
+ $('.fam-btn').show();
206
+
207
+ clearInterval(dependencies_met_fam_initialized);
231
208
  }
232
- }, 25); // END dependencies_met_mmenu_initialized
209
+ }, 25); // END dependencies_met_fam_initialized
233
210
  }, // END dataLoader
234
211
 
235
212
  // -------------------------------------------------------------------------
236
213
  // Button Initializer
237
214
  // -------------------------------------------------------------------------
238
- buttonInitializer: function (ssmOptions) {
215
+ buttonInitializer: function (famOptions) {
239
216
  var eventHandler;
217
+ var actionMenuId;
218
+ var actionMenuOptions;
219
+ var actionButtonId;
220
+ var instances;
221
+ var $actionButton;
222
+ var toggleIcons;
223
+ var famActions;
224
+ var $famContainer = $('#' + famOptions.xhr_container_id);
225
+ var iconFamily = famOptions.icon_family.toLowerCase();
226
+ var floatingActionOptions = famOptions.menu_options;
227
+ var famButtons = document.querySelectorAll('.fam-btn');
228
+
229
+ // check if multiple buttons detected
230
+ if ( famButtons.length == 1 ) {
231
+ _this.setState('processing');
232
+ logger.info('set module state to: ' + _this.getState());
233
+ logger.info('initialize fam menu');
234
+
235
+ actionButtonId = famButtons[0].firstElementChild.id;
236
+ actionMenuId = actionButtonId.replace('_button', '');
237
+ instances = j1.fam.init(famButtons, floatingActionOptions);
238
+ $actionButton = $('#' + actionButtonId);
239
+
240
+ famOptions.menus.forEach(function (menu, index) {
241
+ if (menu.id === actionMenuId) {
242
+ actionMenuOptions = famOptions.menus[index];
243
+ };
244
+ });
245
+
246
+ // count number of menu actions for the button. If only one action
247
+ // found the FAM button gets created as a FAB (no menu) that has the
248
+ // the action bound directly to the button
249
+ //
250
+ famActions = actionMenuOptions.items.length;
251
+ toggleIcons = iconFamily + '-' + actionMenuOptions.icon + ' ' + iconFamily + '-' + actionMenuOptions.icon_hover;
252
+
253
+ // toggle the icon for the FAB if configured
254
+ if (floatingActionOptions.hoverEnabled) {
255
+ $actionButton.hover(
256
+ function() {
257
+ $('#fam-icon').toggleClass(toggleIcons);
258
+ }, function() {
259
+ $('#fam-icon').toggleClass(toggleIcons);
260
+ }
261
+ );
262
+ } else {
263
+ $actionButton.on('click', function (e) {
264
+ $('#fam-icon').toggleClass(toggleIcons);
265
+ });
266
+ }
240
267
 
241
- {% for item in ssm_options.items %} {% if item.enabled %}
242
-
243
- {% comment %} Identify the menu (item) type
244
- -------------------------------------------------------------------------- {% endcomment %}
245
- {% if item.sublevel %}
246
- {% assign menu_type = 'sublevel_menu' %}
247
- {% else %}
248
- {% assign menu_type = 'top_level_item' %}
249
- {% endif %}
250
-
251
- {% if menu_type == 'top_level_item' %}
252
- {% assign button_id = item.id %}
253
-
254
- // Create an eventhandler instance if id exists: {{button_id}}
255
- if ($('#{{button_id}}').length) {
256
- eventHandler = '{{item.event_handler}}';
257
- // check if eventhandler configured is a SINGLE word
258
- if (eventHandler.split(' ').length == 1) {
259
- logger.info('register pre-configured eventhandler {{item.event_handler}} on id: {{button_id}}');
260
- $('#{{button_id}}').each(function(e) {
261
- var $this = $(this);
262
- $this.on('click', function(e) {
263
- _this.{{item.event_handler}}(sect1Nodes);
264
- });
268
+ if (famActions > 1) {
269
+
270
+ actionMenuOptions.items.forEach(function (item, index) {
271
+ // Bind an eventhandler instance if item id exists
272
+ if ($('#' + item.id).length) {
273
+ eventHandler = item.event_handler;
274
+ // check if eventhandler configured is a SINGLE word
275
+ if (eventHandler.split(' ').length == 1) {
276
+ logger.info('register pre-configured eventhandler ' +eventHandler+ ' on id: #' + item.id);
277
+
278
+ if ( eventHandler === 'open_mmenu_toc' ) {
279
+ if ($('#j1-toc-mgr').length) {
280
+ logger.info('found toc in page: enabled');
281
+ var dependencies_met_toccer_finished = setInterval (function () {
282
+ if ( j1.adapter.toccer.getState() == 'finished' ) {
283
+ logger.info('met dependencies for: toccer');
284
+
285
+ // famOptions.mode === 'icon'
286
+ // ? logger.info('fam mode detected: icon')
287
+ // : logger.info('fam mode detected: menu');
288
+
289
+ $('#open_mmenu_toc').show();
290
+ clearInterval(dependencies_met_toccer_finished);
291
+ }
292
+ }, 25); // END dependencies_met_toccer_finished
293
+ } else {
294
+ logger.info('found toc in page: disabled');
295
+ }
296
+ } else {
297
+ $('#' + item.id).show();
298
+ } // END eventHandler 'open_mmenu_toc'
299
+
300
+ $('#' + item.id).each(function(e) {
301
+ var $this = $(this);
302
+ $this.on('click', function(e) {
303
+ _this[item.event_handler](sect123Nodes);
304
+ // _this[item.event_handler](sect12Nodes);
305
+ });
306
+ });
307
+ } else {
308
+ logger.info('register custom eventhandler on id: #' + item.id);
309
+ }
310
+ } else {
311
+ // alert ('Creating Eventhandler failed on id: #' + item.id);
312
+ logger.error('Creating Eventhandler failed on id: #' + item.id);
313
+ } // END if items (action buttons)
265
314
  });
266
315
  } else {
267
- logger.info('register custom eventhandler on id: {{button_id}}');
268
- }
316
+ // single action, create FAB
317
+ logger.info('single action found for FAM, create: FAB');
318
+
319
+ // disable hover event (CSS)
320
+ // $actionButton.css({'pointer-events': 'none'})
321
+
322
+ actionMenuOptions.items.forEach(function (item, index) {
323
+ eventHandler = item.event_handler;
324
+ // check if eventhandler configured is a SINGLE word
325
+ if (eventHandler.split(' ').length == 1) {
326
+ logger.info('register pre-configured eventhandler ' +eventHandler+ ' on id: #' + actionButtonId);
327
+
328
+ if (eventHandler === 'scroll_to_top') {
329
+ // register click event
330
+ $actionButton.on('click', function(e) {
331
+ var dest = 0;
332
+ $('html, body').animate({
333
+ scrollTop: dest
334
+ }, 500);
335
+ });
336
+ } // END if eventHandler == scroll_to_top
337
+
338
+ if ( eventHandler === 'open_mmenu_toc' ) {
339
+ // check if toccer (toc_mgr) is available
340
+ if ($('#j1-toc-mgr').length) {
341
+ logger.info('found toc in page: enabled');
342
+ var dependencies_met_toccer_finished = setInterval (function () {
343
+ if ( j1.adapter.toccer.getState() == 'finished' ) {
344
+ logger.info('met dependencies for toccer: finished');
345
+ // change the id of the $actionButton to the already
346
+ // registered id by mmenu adapter of ('open_mmenu_toc')
347
+ // to open the TOC sidebar
348
+ //
349
+ $actionButton.prop('id', 'open_mmenu_toc');
350
+ clearInterval(dependencies_met_toccer_finished);
351
+ }
352
+ }, 25); // END dependencies_met_toccer_finished
353
+ } else {
354
+ logger.info('found toc in page: disabled');
355
+ logger.info('eventhandler: disabled');
356
+ }
357
+ } // END if eventHandler == open_mmenu_toc
358
+ }
359
+ });
360
+ } // END else
269
361
  } else {
270
- alert ('Creating Eventhandler failed on: #{{button_id}}');
271
- } // END items (buttons)
272
- {% endif %} // menu_type 'top_level_item'
273
- {% endif %} // ENDIF button_id enabled
274
- {% endfor %} // ENDFOR items
362
+ // alert ('Multiple FAM buttons found: ' + famButtons.length);
363
+ logger.error('Multiple FAM buttons found: ' + famButtons.length);
364
+ logger.info('FAM container set to hidden: ' + $famContainer);
365
+ $famContainer.hide();
366
+ } // END if famButton
275
367
  }, // END buttonInitializer
276
368
 
277
369
  // -------------------------------------------------------------------------
278
370
  // Eventhandler
279
371
 
280
372
  // -------------------------------------------------------------------------
281
- // open mobile menu
373
+ // open mmenu TOC
282
374
  // -------------------------------------------------------------------------
283
- open_ssm_toc: function () {
284
- }, // END open_ssm_toc
375
+ open_mmenu_toc: function () {
376
+ // Event configured with Navigator module (navigator.yml)
377
+ // with content section DRAWER TOC. Event registered at
378
+ // runtime on element with id '#open_mmenu_toc' by Mobile Menu
379
+ // module ADAPTER (mmenu.js)
380
+ //
381
+ // NOTE: no further handling needed for this event
382
+ }, // END open_mmenu_toc
285
383
 
286
384
  // -------------------------------------------------------------------------
287
385
  // reload page
288
386
  // -------------------------------------------------------------------------
289
387
  reload_page: function () {
290
388
  location.reload();
291
- }, // END open_ssm_toc
389
+ }, // END reload_page
390
+
292
391
  // -------------------------------------------------------------------------
293
392
  // scroll to previous section
294
393
  // -------------------------------------------------------------------------
@@ -318,9 +417,6 @@ j1.adapter['ssm'] = (function (j1, window) {
318
417
  previous_header_id = $(prev_node).find(':header').first()[0].id;
319
418
  anchor_id = '#' + previous_header_id;
320
419
 
321
- $('a[href*="' + current_header_id + '"]').removeClass('is-active-link');
322
- $('a[href*="' + previous_header_id + '"]').addClass('is-active-link');
323
-
324
420
  j1.core.scrollSmooth.scroll( anchor_id, {
325
421
  duration: scrollDuration,
326
422
  offset: scrollOffset,
@@ -337,38 +433,48 @@ j1.adapter['ssm'] = (function (j1, window) {
337
433
  // -------------------------------------------------------------------------
338
434
  scroll_next_section: function (nodes) {
339
435
  var next_header_id;
436
+ var next_header_plus_id;
340
437
  var currentNode;
438
+ var current_header_id;
341
439
  var nextNode;
342
- var anchor_id;
343
-
440
+ var next_header_id;
441
+ var next_anchor_id;
344
442
  var index = 0;
345
- var maxNode = $(nodes).length -1;
443
+ var maxNode = $(nodes).length-1;
444
+ // var maxNode = $(nodes).length;
346
445
  var $toc = $('#sidebar');
347
- var current_header_id = $toc.find('.is-active-link').attr('href');
348
446
  var scrollDuration = {{toccer_options.scrollSmoothDuration}};
349
447
  var scrollOffset = {{toccer_options.scrollSmoothOffset}};
350
448
 
351
- // Correction if mobile (offset: desktop -90px, mobile -80px)
352
- scrollOffset = j1.core.isMobile() ? scrollOffset + 10 : scrollOffset;
353
-
449
+ current_header_id = $toc.find('.is-active-link').attr('href');
354
450
  nodes.each(function () {
355
451
  currentNode = $(this).find(current_header_id);
356
452
  if (currentNode.length) {
357
453
  if (index == maxNode) {
358
454
  return false;
359
455
  } else {
360
- nextNode = nodes[index+1];
361
- next_header_id = $(nextNode).find(':header').first()[0].id;
362
- anchor_id = '#' + next_header_id;
363
-
364
- $('a[href*="' + current_header_id + '"]').removeClass('is-active-link');
365
- $('a[href*="' + next_header_id + '"]').addClass('is-active-link');
366
-
367
- j1.core.scrollSmooth.scroll( anchor_id, {
456
+ // nextNode = nodes[index];
457
+ // next_header_id = $(nextNode).find(':header').first()[0].id;
458
+ // anchor_id = '#' + next_header_id;
459
+ nextNode = nodes[index+1];
460
+ next_header_id = $(nextNode).find(':header').first()[0].id;
461
+ next_anchor_id = '#' + next_header_id;
462
+
463
+ // Correction if mobile (offset: desktop -90px, mobile -80px)
464
+ scrollOffset = j1.core.isMobile() ? scrollOffset + 10 : scrollOffset;
465
+
466
+ // j1.core.scrollSmooth.scroll( next_anchor_id, {
467
+ // duration: scrollDuration,
468
+ // offset: scrollOffset,
469
+ // callback: tocbot.refresh()
470
+ // });
471
+
472
+ j1.core.scrollSmooth.scroll( next_anchor_id, {
368
473
  duration: scrollDuration,
369
474
  offset: scrollOffset,
370
475
  callback: null
371
476
  });
477
+
372
478
  }
373
479
  }
374
480
  index < maxNode ? index++ : index;
@@ -384,6 +490,8 @@ j1.adapter['ssm'] = (function (j1, window) {
384
490
  $('html, body').animate({
385
491
  scrollTop: dest
386
492
  }, 500);
493
+
494
+ // tocbot.refresh();
387
495
  }, // END scroll_top
388
496
 
389
497
  // -------------------------------------------------------------------------
@@ -399,6 +507,8 @@ j1.adapter['ssm'] = (function (j1, window) {
399
507
  $('html, body').animate({
400
508
  scrollTop: pageHeight
401
509
  }, 500);
510
+
511
+ // tocbot.refresh();
402
512
  }, // END scroll_bottom
403
513
 
404
514
  // -------------------------------------------------------------------------
@@ -447,10 +557,10 @@ j1.adapter['ssm'] = (function (j1, window) {
447
557
 
448
558
  // -------------------------------------------------------------------------
449
559
  // Manage (top) position and sizes (@media breakpoints) of the
450
- // SSM container depending on the size of the page header (attic)
560
+ // FAM container depending on the size of the page header (attic)
451
561
  // -------------------------------------------------------------------------
452
562
  scrollSpy: function (options) {
453
- logger = log4javascript.getLogger('j1.adapter.ssm.scrollSpy');
563
+ logger = log4javascript.getLogger('j1.adapter.fam.scrollSpy');
454
564
 
455
565
  $(window).scroll(function(event){
456
566
  var $navbar = $('nav.navbar');
@@ -458,7 +568,7 @@ j1.adapter['ssm'] = (function (j1, window) {
458
568
  var $main_content = $('.js-toc-content');
459
569
  var $adblock = $('#adblock');
460
570
  var $footer = $('#j1_footer');
461
- var $ssmContainer = $('#ssm-container');
571
+ var $famContainer = $('#fam-container');
462
572
  var $page = $(document);
463
573
  var offset = 0;
464
574
  var pageOffset = $(document).width() >= 992 ? -120 : -116;
@@ -467,32 +577,32 @@ j1.adapter['ssm'] = (function (j1, window) {
467
577
  var pageHeightOuter = $page.outerHeight();
468
578
 
469
579
  var m = $main_content.offset().top;
470
- var s = $ssmContainer.length ? $ssmContainer.height() : 0;
580
+ var s = $famContainer.length ? $famContainer.height() : 0;
471
581
  var f = $footer.length ? $footer.outerHeight() : 0;
472
582
  var n = $navbar.length ? $navbar.height() : 0;
473
583
  // var h = $pagehead.length ? $pagehead.outerHeight() : 0;
474
584
  var a = $adblock.length ? $adblock.outerHeight() : 0;
475
585
  var o = n + offset;
476
586
 
477
- // space above the (fixed) ssm container
587
+ // space above the (fixed) fam container
478
588
  var showSsmPos = m + pageOffset;
479
589
 
480
- // space below the (fixed) ssm container
590
+ // space below the (fixed) fam container
481
591
  var hideSsmPos = pageHeight - s - f + pageOffset;
482
592
 
483
- // set the top position of ssm container for navbar modes
593
+ // set the top position of fam container for navbar modes
484
594
  // e.g. "sticky" (navbar-fixed)
485
595
  if($navbar.hasClass('navbar-fixed')){
486
- $('#ssm-container').css('top', o);
596
+ $('#fam-container').css('top', o);
487
597
  } else {
488
- $('#ssm-container').css('top', m);
598
+ $('#fam-container').css('top', m);
489
599
  }
490
600
 
491
- // show|hide ssm container on scroll position in page
601
+ // show|hide fam container on scroll position in page
492
602
  //
493
603
  scrollPos >= showSsmPos && scrollPos <= hideSsmPos
494
- ? $ssmContainer.css('display','block')
495
- : $ssmContainer.css('display','none');
604
+ ? $famContainer.css('display','block')
605
+ : $famContainer.css('display','none');
496
606
 
497
607
  // logger.debug('content pos detected as: ' + m + 'px');
498
608
  // logger.debug('scroll pos detected as: ' + scrollPos + 'px');