j1-template 2020.0.20 → 2021.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (486) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/ads/ad.html +2 -2
  3. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +1 -1
  4. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +3 -3
  5. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +1 -1
  6. data/_includes/themes/j1/blocks/footer/generator.html +2 -2
  7. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +11 -11
  8. data/_includes/themes/j1/layouts/content_generator_collection.html +2 -2
  9. data/_includes/themes/j1/layouts/content_generator_page.html +4 -4
  10. data/_includes/themes/j1/layouts/content_generator_post.html +64 -162
  11. data/_includes/themes/j1/layouts/layout_metadata_generator.html +2 -2
  12. data/_includes/themes/j1/modules/attics/generator.html +1 -1
  13. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +15 -1
  14. data/_includes/themes/j1/modules/connectors/ads +2 -2
  15. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +2 -4
  16. data/_includes/themes/j1/modules/connectors/analytics +2 -2
  17. data/_includes/themes/j1/modules/connectors/comment/disqus.html +38 -25
  18. data/_includes/themes/j1/modules/connectors/comments +2 -2
  19. data/_includes/themes/j1/modules/connectors/translator +2 -2
  20. data/_includes/themes/j1/modules/navigator/generator.html +17 -8
  21. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +36 -26
  22. data/_includes/themes/j1/procedures/global/attributes_loader.proc +117 -0
  23. data/_includes/themes/j1/procedures/global/create_bs_button.proc +4 -3
  24. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +17 -13
  25. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
  26. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +3 -3
  27. data/_includes/themes/j1/procedures/global/setup.proc +9 -9
  28. data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -2
  29. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  30. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
  31. data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
  32. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +18 -17
  33. data/_includes/themes/j1/procedures/posts/create_series_header.proc +9 -5
  34. data/_layouts/default.html +3 -3
  35. data/_layouts/home.html +2 -2
  36. data/apps/public/cc/cc.yml +37 -38
  37. data/assets/data/authclient.html +2 -2
  38. data/assets/data/banner.html +25 -21
  39. data/assets/data/carousel.json +8 -16
  40. data/assets/data/cookiebar.html +15 -11
  41. data/assets/data/fam.html +124 -0
  42. data/assets/data/footer.html +1 -1
  43. data/assets/data/galleries.json +1 -1
  44. data/assets/data/gallery_customizer.html +19 -7
  45. data/assets/data/mdi_icons.json +1 -1
  46. data/assets/data/menu.html +2 -2
  47. data/assets/data/mmenu.html +2 -2
  48. data/assets/data/mmenu_sidebar.html +4 -4
  49. data/assets/data/mmenu_toc.html +1 -1
  50. data/assets/data/panel.html +113 -67
  51. data/assets/data/quicklinks.html +16 -16
  52. data/assets/data/themes.json +9 -9
  53. data/assets/data/twa_v1.json +1 -1
  54. data/assets/error_pages/HTTP204.html +1 -0
  55. data/assets/error_pages/HTTP400.html +3 -2
  56. data/assets/error_pages/HTTP401.html +3 -2
  57. data/assets/error_pages/HTTP403.html +3 -2
  58. data/assets/error_pages/HTTP404.html +3 -2
  59. data/assets/error_pages/HTTP500.html +3 -2
  60. data/assets/error_pages/HTTP501.html +3 -2
  61. data/assets/error_pages/HTTP502.html +3 -2
  62. data/assets/error_pages/HTTP503.html +3 -2
  63. data/assets/error_pages/HTTP520.html +3 -2
  64. data/assets/error_pages/HTTP521.html +3 -2
  65. data/assets/error_pages/HTTP533.html +3 -2
  66. data/assets/themes/j1/adapter/js/algolia.js +2 -2
  67. data/assets/themes/j1/adapter/js/attic.js +2 -2
  68. data/assets/themes/j1/adapter/js/bmd.js +1 -1
  69. data/assets/themes/j1/adapter/js/carousel.js +401 -38
  70. data/assets/themes/j1/adapter/js/clipboard.js +3 -3
  71. data/assets/themes/j1/adapter/js/cookiebar.js +1 -1
  72. data/assets/themes/j1/adapter/js/{ssm.js → fam.js} +252 -142
  73. data/assets/themes/j1/adapter/js/framer.js +74 -58
  74. data/assets/themes/j1/adapter/js/gallery_customizer.js +4 -3
  75. data/assets/themes/j1/adapter/js/j1.js +25 -19
  76. data/assets/themes/j1/adapter/js/jf_gallery.js +4 -4
  77. data/assets/themes/j1/adapter/js/lightbox.js +2 -2
  78. data/assets/themes/j1/adapter/js/logger.js +2 -2
  79. data/assets/themes/j1/adapter/js/{searcher.js → lunr_search.js} +68 -65
  80. data/assets/themes/j1/adapter/js/mmenu.js +16 -10
  81. data/assets/themes/j1/adapter/js/navigator.js +63 -57
  82. data/assets/themes/j1/adapter/js/rouge.js +246 -0
  83. data/assets/themes/j1/adapter/js/rtable.js +183 -0
  84. data/assets/themes/j1/adapter/js/themer.js +63 -110
  85. data/assets/themes/j1/adapter/js/toccer.js +72 -32
  86. data/assets/themes/j1/core/css/animate.css +15 -15
  87. data/assets/themes/j1/core/css/{icons-fontawesome.css → icon-fonts/fontawesome.css} +17 -17
  88. data/assets/themes/j1/core/css/{icons-fontawesome.min.css → icon-fonts/fontawesome.min.css} +0 -0
  89. data/assets/themes/j1/core/css/{icons-iconify.css → icon-fonts/iconify.css} +15 -15
  90. data/assets/themes/j1/core/css/{icons-iconify.min.css → icon-fonts/iconify.min.css} +0 -0
  91. data/assets/themes/j1/core/css/{icons-materialdesign.css → icon-fonts/materialdesign.css} +17 -17
  92. data/assets/themes/j1/core/css/{icons-materialdesign.min.css → icon-fonts/materialdesign.min.css} +0 -0
  93. data/assets/themes/j1/core/css/{icons-twemoji.css → icon-fonts/twemoji.css} +18 -18
  94. data/assets/themes/j1/core/css/{icons-twemoji.min.css → icon-fonts/twemoji.min.css} +0 -0
  95. data/assets/themes/j1/core/css/{bootstrap.css → themes/bootstrap/bootstrap.css} +19 -16
  96. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +6 -0
  97. data/assets/themes/j1/core/css/{uno-dark.css → themes/uno-dark/bootstrap.css} +429 -323
  98. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +6 -0
  99. data/assets/themes/j1/core/css/{uno.css → themes/uno-light/bootstrap.css} +1654 -1290
  100. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +8 -0
  101. data/assets/themes/j1/core/css/vendor.css +101 -71
  102. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  103. data/assets/themes/j1/core/js/template.js +6 -11
  104. data/assets/themes/j1/core/js/template.js.map +1 -1
  105. data/assets/themes/j1/core/js/template.min.js +1 -1
  106. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.full.js +6930 -0
  107. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6 -0
  108. data/assets/themes/j1/modules/carousel/css/theme/uno.css +120 -75
  109. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  110. data/assets/themes/j1/modules/cash/js/cash.js +1374 -0
  111. data/assets/themes/j1/modules/cash/js/cash.min.js +42 -0
  112. data/assets/themes/j1/modules/clipboard/css/theme/uno.css +2 -2
  113. data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +1 -1
  114. data/assets/themes/j1/modules/fam/css/uno/fam.css +369 -0
  115. data/assets/themes/j1/modules/fam/js/fam.js +477 -0
  116. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +1 -1
  117. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.js → resizer.js} +0 -0
  118. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.map → resizer.map} +0 -0
  119. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.min.js → resizer.min.js} +0 -0
  120. data/assets/themes/j1/modules/jquery/css/jqueryUI/theme.css +443 -0
  121. data/assets/themes/j1/modules/jquery/css/jqueryUI/theme.min.css +5 -0
  122. data/assets/themes/j1/modules/jquery/js/jquery.js +7 -4
  123. data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -2
  124. data/assets/themes/j1/modules/jquery/js/jqueryUI.js +18701 -0
  125. data/assets/themes/j1/modules/jquery/js/jqueryUI.min.js +13 -0
  126. data/assets/themes/j1/modules/jquery/js/require.js +2145 -0
  127. data/assets/themes/j1/modules/jquery/js/require.min.js +5 -0
  128. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +5 -4
  129. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
  130. data/assets/themes/j1/modules/kofax.7z +0 -0
  131. data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
  132. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.css +32 -0
  133. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.min.css +25 -0
  134. data/assets/themes/j1/modules/lunrSearch/js/dateformat.js +125 -0
  135. data/assets/themes/j1/modules/lunrSearch/js/dateformat.min.js +14 -0
  136. data/assets/themes/j1/modules/lunrSearch/js/lunr.js +3475 -0
  137. data/assets/themes/j1/modules/lunrSearch/js/lunr.min.js +51 -0
  138. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.js +184 -0
  139. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +17 -0
  140. data/assets/themes/j1/modules/lunrSearch/js/mustache.js +772 -0
  141. data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +772 -0
  142. data/assets/themes/j1/modules/lunrSearch/js/uri.js +2340 -0
  143. data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +93 -0
  144. data/assets/themes/j1/modules/materialize/js/anime.js +1283 -0
  145. data/assets/themes/j1/modules/materialize/js/anime.min.js +34 -0
  146. data/assets/themes/j1/modules/materialize/js/autocomplete.js +450 -0
  147. data/assets/themes/j1/modules/materialize/js/buttons.js +409 -0
  148. data/assets/themes/j1/modules/materialize/js/cards.js +40 -0
  149. data/assets/themes/j1/modules/materialize/js/carousel.js +717 -0
  150. data/assets/themes/j1/modules/materialize/js/cash-dom.js +1044 -0
  151. data/assets/themes/j1/modules/materialize/js/cash.js +960 -0
  152. data/assets/themes/j1/modules/materialize/js/characterCounter.js +136 -0
  153. data/assets/themes/j1/modules/materialize/js/chips.js +481 -0
  154. data/assets/themes/j1/modules/materialize/js/collapsible.js +275 -0
  155. data/assets/themes/j1/modules/materialize/js/component.js +44 -0
  156. data/assets/themes/j1/modules/materialize/js/datepicker.js +975 -0
  157. data/assets/themes/j1/modules/materialize/js/dropdown.js +617 -0
  158. data/assets/themes/j1/modules/materialize/js/forms.js +275 -0
  159. data/assets/themes/j1/modules/materialize/js/global.js +427 -0
  160. data/assets/themes/j1/modules/materialize/js/materialbox.js +453 -0
  161. data/assets/themes/j1/modules/materialize/js/modal.js +382 -0
  162. data/assets/themes/j1/modules/materialize/js/parallax.js +138 -0
  163. data/assets/themes/j1/modules/materialize/js/pushpin.js +145 -0
  164. data/assets/themes/j1/modules/materialize/js/range.js +263 -0
  165. data/assets/themes/j1/modules/materialize/js/ripple.js +335 -0
  166. data/assets/themes/j1/modules/materialize/js/scrollspy.js +295 -0
  167. data/assets/themes/j1/modules/materialize/js/select.js +432 -0
  168. data/assets/themes/j1/modules/materialize/js/sidenav.js +580 -0
  169. data/assets/themes/j1/modules/materialize/js/slider.js +359 -0
  170. data/assets/themes/j1/modules/materialize/js/tabs.js +402 -0
  171. data/assets/themes/j1/modules/materialize/js/tapTarget.js +314 -0
  172. data/assets/themes/j1/modules/materialize/js/timepicker.js +647 -0
  173. data/assets/themes/j1/modules/materialize/js/toasts.js +310 -0
  174. data/assets/themes/j1/modules/materialize/js/tooltip.js +303 -0
  175. data/assets/themes/j1/modules/materialize/js/waves.js +335 -0
  176. data/assets/themes/j1/modules/materialize/scss/components/_badges.scss +55 -0
  177. data/assets/themes/j1/modules/materialize/scss/components/_buttons.scss +322 -0
  178. data/assets/themes/j1/modules/materialize/scss/components/_cards.scss +195 -0
  179. data/assets/themes/j1/modules/materialize/scss/components/_carousel.scss +90 -0
  180. data/assets/themes/j1/modules/materialize/scss/components/_chips.scss +90 -0
  181. data/assets/themes/j1/modules/materialize/scss/components/_collapsible.scss +91 -0
  182. data/assets/themes/j1/modules/materialize/scss/components/_color-classes.scss +32 -0
  183. data/assets/themes/j1/modules/materialize/scss/components/_color-variables.scss +370 -0
  184. data/assets/themes/j1/modules/materialize/scss/components/_datepicker.scss +191 -0
  185. data/assets/themes/j1/modules/materialize/scss/components/_dropdown.scss +85 -0
  186. data/assets/themes/j1/modules/materialize/scss/components/_global.scss +769 -0
  187. data/assets/themes/j1/modules/materialize/scss/components/_grid.scss +156 -0
  188. data/assets/themes/j1/modules/materialize/scss/components/_icons-material-design.scss +5 -0
  189. data/assets/themes/j1/modules/materialize/scss/components/_materialbox.scss +43 -0
  190. data/assets/themes/j1/modules/materialize/scss/components/_modal.scss +94 -0
  191. data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +208 -0
  192. data/assets/themes/j1/modules/materialize/scss/components/_normalize.scss +447 -0
  193. data/assets/themes/j1/modules/materialize/scss/components/_preloader.scss +334 -0
  194. data/assets/themes/j1/modules/materialize/scss/components/_pulse.scss +34 -0
  195. data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +216 -0
  196. data/assets/themes/j1/modules/materialize/scss/components/_slider.scss +92 -0
  197. data/assets/themes/j1/modules/materialize/scss/components/_table_of_contents.scss +33 -0
  198. data/assets/themes/j1/modules/materialize/scss/components/_tabs.scss +99 -0
  199. data/assets/themes/j1/modules/materialize/scss/components/_tapTarget.scss +103 -0
  200. data/assets/themes/j1/modules/materialize/scss/components/_timepicker.scss +183 -0
  201. data/assets/themes/j1/modules/materialize/scss/components/_toast.scss +58 -0
  202. data/assets/themes/j1/modules/materialize/scss/components/_tooltip.scss +32 -0
  203. data/assets/themes/j1/modules/materialize/scss/components/_transitions.scss +13 -0
  204. data/assets/themes/j1/modules/materialize/scss/components/_typography.scss +60 -0
  205. data/assets/themes/j1/modules/materialize/scss/components/_variables.scss +349 -0
  206. data/assets/themes/j1/modules/materialize/scss/components/_waves.scss +114 -0
  207. data/assets/themes/j1/modules/materialize/scss/components/forms/_checkboxes.scss +200 -0
  208. data/assets/themes/j1/modules/materialize/scss/components/forms/_file-input.scss +44 -0
  209. data/assets/themes/j1/modules/materialize/scss/components/forms/_forms.scss +22 -0
  210. data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +354 -0
  211. data/assets/themes/j1/modules/materialize/scss/components/forms/_radio-buttons.scss +115 -0
  212. data/assets/themes/j1/modules/materialize/scss/components/forms/_range.scss +161 -0
  213. data/assets/themes/j1/modules/materialize/scss/components/forms/_select.scss +180 -0
  214. data/assets/themes/j1/modules/materialize/scss/components/forms/_switches.scss +89 -0
  215. data/assets/themes/j1/modules/materialize/scss/materialize.scss +41 -0
  216. data/assets/themes/j1/modules/mmenuLight/css/mmenu.css +11 -11
  217. data/assets/themes/j1/modules/mmenuLight/css/mmenu.min.css +386 -12
  218. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.css +16 -12
  219. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.min.css +189 -8
  220. data/assets/themes/j1/modules/popper/js/popper.js +1 -1
  221. data/assets/themes/j1/modules/popper/js/popper.js.map +1 -1
  222. data/assets/themes/j1/modules/popper/js/popper.min.js.map +1 -1
  223. data/assets/themes/j1/modules/rouge/js/select.js +25 -0
  224. data/assets/themes/j1/modules/rtable/LICENSE +22 -0
  225. data/assets/themes/j1/modules/rtable/README.md +418 -0
  226. data/assets/themes/j1/modules/rtable/css/tablesaw.stackonly.css +148 -0
  227. data/assets/themes/j1/modules/rtable/css/theme/uno.css +191 -0
  228. data/assets/themes/j1/modules/rtable/css/theme/uno.min.css +191 -0
  229. data/assets/themes/j1/modules/rtable/js/rtable.js +692 -0
  230. data/assets/themes/j1/modules/rtable/js/rtable.min.js +690 -0
  231. data/assets/themes/j1/modules/rtable/js/tablesaw-init.js +18 -0
  232. data/assets/themes/j1/modules/rtable/js/tablesaw.stackonly.js +2371 -0
  233. data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.js +4 -5
  234. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +26 -0
  235. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +1 -1
  236. data/lib/j1/commands/generate.rb +6 -6
  237. data/lib/j1/version.rb +1 -1
  238. data/lib/j1_app/j1_auth_manager/config.rb +2 -2
  239. data/lib/starter_web/Gemfile +12 -16
  240. data/lib/starter_web/_config.yml +81 -10
  241. data/lib/starter_web/_data/apps/carousel.yml +167 -346
  242. data/lib/starter_web/_data/apps/defaults/carousel.yml +87 -86
  243. data/lib/starter_web/_data/apps/justified_gallery.yml +44 -10
  244. data/lib/starter_web/_data/blocks/banner.yml +32 -27
  245. data/lib/starter_web/_data/blocks/defaults/banner.yml +14 -13
  246. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  247. data/lib/starter_web/_data/blocks/defaults/panel.yml +3 -2
  248. data/lib/starter_web/_data/blocks/footer.yml +1 -1
  249. data/lib/starter_web/_data/blocks/panel.yml +24 -25
  250. data/lib/starter_web/_data/{template_settings.yml → j1_config.yml} +63 -10
  251. data/lib/starter_web/_data/layouts/collection.yml +6 -6
  252. data/lib/starter_web/_data/layouts/home.yml +19 -10
  253. data/lib/starter_web/_data/layouts/page.yml +9 -0
  254. data/lib/starter_web/_data/layouts/post.yml +9 -0
  255. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +3 -1
  256. data/lib/starter_web/_data/modules/defaults/{ssm.yml → fam.yml} +12 -15
  257. data/lib/starter_web/_data/modules/defaults/lunr_search.yml +171 -0
  258. data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -5
  259. data/lib/starter_web/_data/modules/defaults/themer.yml +8 -13
  260. data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -2
  261. data/lib/starter_web/_data/modules/fam.yml +192 -0
  262. data/lib/starter_web/_data/modules/{back2top.yml → lunr_search.yml} +15 -9
  263. data/lib/starter_web/_data/modules/navigator.yml +2 -2
  264. data/lib/starter_web/_data/modules/navigator_menu.yml +13 -7
  265. data/lib/starter_web/_data/modules/themer.yml +0 -18
  266. data/lib/starter_web/_data/modules/toccer.yml +0 -73
  267. data/lib/starter_web/_data/resources.yml +193 -99
  268. data/lib/starter_web/_includes/attributes.asciidoc +194 -0
  269. data/lib/starter_web/_includes/breadcrumbs.html +11 -0
  270. data/lib/starter_web/_includes/documents/licenses/mit.asciidoc +19 -0
  271. data/lib/starter_web/{collections/posts/private → _includes/documents}/readme +0 -0
  272. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +45 -0
  273. data/lib/starter_web/_includes/tables/template_variables.asciidoc +46 -0
  274. data/lib/starter_web/_plugins/debug.rb +0 -1
  275. data/lib/starter_web/_plugins/filters.rb +0 -1
  276. data/lib/starter_web/_plugins/{lorem-inline.rb → lorem_inline.rb} +1 -2
  277. data/lib/starter_web/_plugins/lunr_index.rb +313 -0
  278. data/lib/starter_web/_plugins/prettify.rb +0 -3
  279. data/lib/starter_web/_plugins/simple_search_filter.rb +0 -1
  280. data/lib/starter_web/_plugins/symlink_watcher.rb +2 -3
  281. data/lib/starter_web/assets/images/modules/attics/banner/lunr-banner-1280x800.jpg +0 -0
  282. data/lib/starter_web/assets/images/modules/attics/katie-moum-1920x1280.jpg +0 -0
  283. data/lib/starter_web/assets/images/modules/attics/tldr-1920x800.jpg +0 -0
  284. data/lib/starter_web/assets/images/modules/icons/d1/d1-256x256.png +0 -0
  285. data/lib/starter_web/assets/images/modules/icons/d1/d1-32x32.ico +0 -0
  286. data/lib/starter_web/assets/images/modules/icons/d1/d1-512x512.png +0 -0
  287. data/lib/starter_web/assets/images/modules/icons/d1/d1-64x64.png +0 -0
  288. data/lib/starter_web/assets/images/modules/icons/d1/d1.ico +0 -0
  289. data/lib/starter_web/assets/images/modules/icons/d1/favicon.ico +0 -0
  290. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +48 -43
  291. data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
  292. data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
  293. data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
  294. data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
  295. data/lib/starter_web/assets/images/quotes/colored-1.jpg +0 -0
  296. data/lib/starter_web/assets/images/quotes/colored-2.jpg +0 -0
  297. data/lib/starter_web/assets/images/quotes/default.jpg +0 -0
  298. data/lib/starter_web/assets/images/quotes/light-blue.jpg +0 -0
  299. data/lib/starter_web/assets/images/quotes/people.jpg +0 -0
  300. data/lib/starter_web/collections/posts/{protected → private/_posts}/readme +0 -0
  301. data/{assets/README.md → lib/starter_web/collections/posts/protected/_posts/readme} +0 -0
  302. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +77 -80
  303. data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +21 -10
  304. data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +41 -31
  305. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +32 -27
  306. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +38 -0
  307. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/readme +0 -0
  308. data/lib/starter_web/collections/posts/public/featured/_posts/{000_includes → _includes/documents}/unsplash-badge.asciidoc +0 -0
  309. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/tables/readme +0 -0
  310. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +144 -0
  311. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +146 -0
  312. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +146 -0
  313. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +146 -0
  314. data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → series/_posts/_includes}/attributes.asciidoc +9 -18
  315. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/100-docker-using-shared-folders.asciidoc +0 -0
  316. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/loop.sh +0 -0
  317. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/tables/debug_variables.asciidoc +0 -0
  318. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +16 -8
  319. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -7
  320. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -6
  321. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +37 -0
  322. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/documents/readme +0 -0
  323. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/tables/readme +0 -0
  324. data/lib/starter_web/index.html +16 -10
  325. data/lib/starter_web/package.json +8 -4
  326. data/lib/starter_web/pages/protected/site_search.adoc +8 -19
  327. data/lib/starter_web/pages/public/about/about_site.adoc +0 -2
  328. data/lib/starter_web/pages/public/about/become_a_patron.adoc +1 -3
  329. data/lib/starter_web/pages/public/blog/navigator/archive.html +34 -9
  330. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +40 -16
  331. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +32 -8
  332. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +8 -4
  333. data/lib/starter_web/pages/public/blog/navigator/index.html +6 -3
  334. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +15 -21
  335. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +32 -27
  336. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +32 -27
  337. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/attributes.asciidoc +15 -13
  338. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +31 -0
  339. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/200_preparations.asciidoc +0 -0
  340. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/300_first_awesome_web.asciidoc +0 -0
  341. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/parts.asciidoc +1 -1
  342. data/lib/starter_web/{collections/posts/public/wikipedia/_posts/000_includes → pages/public/learn/kickstarter/web_in_a_day/_includes}/tables/debug_variables.asciidoc +0 -0
  343. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -0
  344. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +82 -134
  345. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +37 -45
  346. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +48 -60
  347. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +74 -80
  348. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +64 -84
  349. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +34 -42
  350. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +281 -91
  351. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +138 -52
  352. data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +236 -0
  353. data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +294 -0
  354. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/attributes.asciidoc +10 -29
  355. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/100_gistblock.asciidoc +2 -1
  356. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_info.asciidoc +0 -0
  357. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_left_warning.asciidoc +0 -0
  358. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_right_danger.asciidoc +0 -0
  359. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_central_success.asciidoc +0 -0
  360. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_left_info.asciidoc +0 -0
  361. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_right_success.asciidoc +0 -0
  362. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_table_3_column.asciidoc +1 -1
  363. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_info.asciidoc +0 -0
  364. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_left_info.asciidoc +0 -0
  365. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_right_success.asciidoc +0 -0
  366. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/419_advanced_modals_demo.asciidoc +0 -0
  367. data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
  368. data/lib/starter_web/pages/public/learn/{whats_up.adoc → where_to_go.adoc} +31 -46
  369. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -2
  370. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -1
  371. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +7 -12
  372. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +2 -1
  373. data/lib/starter_web/pages/public/legal/de/500_support.adoc +2 -1
  374. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +32 -28
  375. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +12 -8
  376. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +17 -12
  377. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +38 -36
  378. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +15 -6
  379. data/lib/starter_web/pages/public/legal/en/500_support.adoc +12 -4
  380. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +1 -1
  381. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +68 -68
  382. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/attributes.asciidoc +22 -8
  383. data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +19 -0
  384. data/lib/starter_web/pages/public/previewer/_includes/documents/readme +0 -0
  385. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
  386. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
  387. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/120_relative_sizes.asciidoc +1 -1
  388. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/200_rotate.asciidoc +1 -1
  389. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/300_flip.asciidoc +1 -1
  390. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/400_spin_pulsed.asciidoc +1 -1
  391. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
  392. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
  393. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
  394. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
  395. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
  396. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
  397. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
  398. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/200_rotate.asciidoc +1 -1
  399. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/300_flip.asciidoc +1 -1
  400. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
  401. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +2074 -1854
  402. data/lib/starter_web/pages/public/previewer/iframer.adoc +48 -41
  403. data/lib/starter_web/pages/public/previewer/justified_gallery.html +15 -7
  404. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +21 -26
  405. data/lib/starter_web/pages/public/previewer/rouge.adoc +439 -0
  406. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +21 -27
  407. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  408. data/lib/starter_web/utilsrv/package.json +1 -1
  409. metadata +226 -151
  410. data/assets/data/jupyter/notebooks/_html/template.full.head.html +0 -75
  411. data/assets/data/jupyter/notebooks/_html/visualisation.html +0 -968
  412. data/assets/data/jupyter/notebooks/html/template.html +0 -50
  413. data/assets/data/jupyter/notebooks/html/visualisation.ok.html +0 -949
  414. data/assets/data/jupyter/notebooks/tutorial.ipynb +0 -169
  415. data/assets/data/jupyter/notebooks/visualisation.ipynb +0 -9413
  416. data/assets/data/search.json +0 -165
  417. data/assets/data/ssm.html +0 -242
  418. data/assets/themes/j1/adapter/js/back2top.js +0 -231
  419. data/assets/themes/j1/core/css/bootstrap.min.css +0 -6
  420. data/assets/themes/j1/core/css/theme-extensions.css +0 -9797
  421. data/assets/themes/j1/core/css/theme-extensions.min.css +0 -1
  422. data/assets/themes/j1/core/css/uno-dark.min.css +0 -6
  423. data/assets/themes/j1/core/css/uno.min.css +0 -8
  424. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css +0 -10278
  425. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css.map +0 -1
  426. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css +0 -7
  427. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css.map +0 -1
  428. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js +0 -4420
  429. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js.map +0 -1
  430. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js +0 -7
  431. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js.map +0 -1
  432. data/assets/themes/j1/modules/bsDatepicker/css/datepicker.css +0 -203
  433. data/assets/themes/j1/modules/bsDatepicker/css/theme/uno.css +0 -235
  434. data/assets/themes/j1/modules/bsDatepicker/js/datepicker.js +0 -509
  435. data/assets/themes/j1/modules/bsDatepicker/less/datepicker.less +0 -122
  436. data/assets/themes/j1/modules/bsThemeSwitcher/js/switcher.min.js +0 -19
  437. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +0 -468
  438. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +0 -6
  439. data/assets/themes/j1/modules/jqMouseWheel/README.md +0 -76
  440. data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.js +0 -221
  441. data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.min.js +0 -9
  442. data/assets/themes/j1/modules/noUISlider/LICENSE +0 -13
  443. data/assets/themes/j1/modules/noUISlider/css/nouislider.css +0 -260
  444. data/assets/themes/j1/modules/noUISlider/css/nouislider.min.css +0 -1
  445. data/assets/themes/j1/modules/noUISlider/js/nouislider.js +0 -2312
  446. data/assets/themes/j1/modules/noUISlider/js/nouislider.min.js +0 -3
  447. data/assets/themes/j1/modules/polyfills/js/msie.js +0 -140
  448. data/assets/themes/j1/modules/tocbot/css/theme/uno.css +0 -82
  449. data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +0 -15
  450. data/assets/themes/j1/modules/tocbot/css/tocbot.css +0 -75
  451. data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +0 -19
  452. data/assets/themes/j1/modules/tocbot/js/tocbot.js +0 -19
  453. data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +0 -19
  454. data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -146
  455. data/lib/starter_web/_data/modules/defaults/cookie_consent.yml +0 -132
  456. data/lib/starter_web/_data/modules/defaults/stickybits.yml +0 -36
  457. data/lib/starter_web/_data/modules/ssm.yml +0 -142
  458. data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
  459. data/lib/starter_web/assets/images/quotes/default.png +0 -0
  460. data/lib/starter_web/assets/images/quotes/people.png +0 -0
  461. data/lib/starter_web/collections/posts/public/featured/_posts/000_includes/attributes.asciidoc +0 -47
  462. data/lib/starter_web/collections/posts/public/series/_posts/000_includes/attributes.asciidoc +0 -66
  463. data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +0 -502
  464. data/lib/starter_web/pages/public/000_nav_pagination_tester.adoc +0 -297
  465. data/lib/starter_web/pages/public/learn/examples/floating_ad.adoc +0 -221
  466. data/lib/starter_web/pages/public/learn/examples/floating_div.adoc +0 -209
  467. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/000_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
  468. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/attributes.asciidoc +0 -69
  469. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/documents/100_buttons.asciidoc +0 -170
  470. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/mdb_previewer.adoc +0 -52
  471. data/lib/starter_web/pages/public/learn/roundtrip/bs_tour.js +0 -98
  472. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/attributes.asciidoc +0 -117
  473. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/100_gistblock.asciidoc +0 -27
  474. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_bottom_info.asciidoc +0 -11
  475. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  476. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  477. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_central_success.asciidoc +0 -11
  478. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_full_height_left_info.asciidoc +0 -11
  479. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_full_height_right_success.asciidoc +0 -11
  480. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_table_3_column.asciidoc +0 -47
  481. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_top_info.asciidoc +0 -11
  482. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_top_left_info.asciidoc +0 -11
  483. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_top_right_success.asciidoc +0 -11
  484. data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/419_advanced_modals_html.asciidoc +0 -928
  485. data/lib/starter_web/pages/public/learn/vtutorials/000_test_youtube_video.adoc +0 -141
  486. data/lib/starter_web/pages/public/learn/vtutorials/100_basic_video.adoc +0 -109
@@ -0,0 +1,690 @@
1
+ /*
2
+ # -----------------------------------------------------------------------------
3
+ # ~/assets/themes/j1/modules/mmenu_light/js/mmenu.js
4
+ # Tablesaw v3.1.2 implementation for J1 Template
5
+ #
6
+ # Product/Info:
7
+ # https://jekyll.one
8
+ # https://github.com/filamentgroup/tablesaw
9
+ #
10
+ # Copyright (C) 2020 Juergen Adams
11
+ # Copyright (c) 2013 Filament Group
12
+ #
13
+ # J1 Template is licensed under the MIT License.
14
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
15
+ # Tablesaw is licensed under the MIT License.
16
+ # See: https://github.com/filamentgroup/tablesaw/blob/master/LICENSE
17
+ # -----------------------------------------------------------------------------
18
+ */
19
+
20
+ /*! Tablesaw - v3.1.2 - 2019-03-19
21
+ * https://github.com/filamentgroup/tablesaw
22
+ * Copyright (c) 2019 Filament Group; Licensed MIT */
23
+
24
+ (function (root, factory) {
25
+ if (typeof define === 'function' && define.amd) {
26
+ define(["jquery"], function (jQuery) {
27
+ return (root.Tablesaw = factory(jQuery, root));
28
+ });
29
+ } else if (typeof exports === 'object') {
30
+ if( "document" in root ) {
31
+ module.exports = factory(require('jquery'), root);
32
+ } else {
33
+ // special jQuery case for CommonJS (pass in a window)
34
+ module.exports = factory(require('jquery')(root), root);
35
+ }
36
+ } else {
37
+ root.Tablesaw = factory(jQuery, root);
38
+ }
39
+ }(typeof window !== "undefined" ? window : this, function ($, window) {
40
+ "use strict";
41
+
42
+ var document = window.document;
43
+
44
+ // Account for Tablesaw being loaded either before or after the DOMContentLoaded event is fired.
45
+ var domContentLoadedTriggered = /complete|loaded/.test(document.readyState);
46
+ document.addEventListener("DOMContentLoaded", function() {
47
+ domContentLoadedTriggered = true;
48
+ });
49
+
50
+ var Tablesaw = {
51
+ i18n: {
52
+ modeStack: "Stack",
53
+ modeSwipe: "Swipe",
54
+ modeToggle: "Toggle",
55
+ modeSwitchColumnsAbbreviated: "Cols",
56
+ modeSwitchColumns: "Columns",
57
+ columnToggleButton: "Columns",
58
+ columnToggleError: "No eligible columns.",
59
+ sort: "Sort",
60
+ swipePreviousColumn: "Previous column",
61
+ swipeNextColumn: "Next column"
62
+ },
63
+ // cut the mustard
64
+ mustard:
65
+ "head" in document && // IE9+, Firefox 4+, Safari 5.1+, Mobile Safari 4.1+, Opera 11.5+, Android 2.3+
66
+ (!window.blackberry || window.WebKitPoint) && // only WebKit Blackberry (OS 6+)
67
+ !window.operamini,
68
+ $: $,
69
+ _init: function(element) {
70
+ Tablesaw.$(element || document).trigger("enhance.tablesaw");
71
+ },
72
+ init: function(element) {
73
+ // Account for Tablesaw being loaded either before or after the DOMContentLoaded event is fired.
74
+ domContentLoadedTriggered =
75
+ domContentLoadedTriggered || /complete|loaded/.test(document.readyState);
76
+ if (!domContentLoadedTriggered) {
77
+ if ("addEventListener" in document) {
78
+ // Use raw DOMContentLoaded instead of shoestring (may have issues in Android 2.3, exhibited by stack table)
79
+ document.addEventListener("DOMContentLoaded", function() {
80
+ Tablesaw._init(element);
81
+ });
82
+ }
83
+ } else {
84
+ Tablesaw._init(element);
85
+ }
86
+ }
87
+ };
88
+
89
+ $(document).on("enhance.tablesaw", function() {
90
+ // Extend i18n config, if one exists.
91
+ if (typeof TablesawConfig !== "undefined" && TablesawConfig.i18n) {
92
+ Tablesaw.i18n = $.extend(Tablesaw.i18n, TablesawConfig.i18n || {});
93
+ }
94
+
95
+ Tablesaw.i18n.modes = [
96
+ Tablesaw.i18n.modeStack,
97
+ Tablesaw.i18n.modeSwipe,
98
+ Tablesaw.i18n.modeToggle
99
+ ];
100
+ });
101
+
102
+ if (Tablesaw.mustard) {
103
+ $(document.documentElement).addClass("tablesaw-enhanced");
104
+ }
105
+
106
+ (function() {
107
+ var pluginName = "tablesaw";
108
+ var classes = {
109
+ toolbar: "tablesaw-bar"
110
+ };
111
+ var events = {
112
+ create: "tablesawcreate",
113
+ destroy: "tablesawdestroy",
114
+ refresh: "tablesawrefresh",
115
+ resize: "tablesawresize"
116
+ };
117
+ var defaultMode = "stack";
118
+ var initSelector = "table";
119
+ var initFilterSelector = "[data-tablesaw],[data-tablesaw-mode],[data-tablesaw-sortable]";
120
+ var defaultConfig = {};
121
+
122
+ Tablesaw.events = events;
123
+
124
+ var Table = function(element) {
125
+ if (!element) {
126
+ throw new Error("Tablesaw requires an element.");
127
+ }
128
+
129
+ this.table = element;
130
+ this.$table = $(element);
131
+
132
+ // only one <thead> and <tfoot> are allowed, per the specification
133
+ this.$thead = this.$table
134
+ .children()
135
+ .filter("thead")
136
+ .eq(0);
137
+
138
+ // multiple <tbody> are allowed, per the specification
139
+ this.$tbody = this.$table.children().filter("tbody");
140
+
141
+ this.mode = this.$table.attr("data-tablesaw-mode") || defaultMode;
142
+
143
+ this.$toolbar = null;
144
+
145
+ this.attributes = {
146
+ subrow: "data-tablesaw-subrow",
147
+ ignorerow: "data-tablesaw-ignorerow"
148
+ };
149
+
150
+ this.init();
151
+ };
152
+
153
+ Table.prototype.init = function() {
154
+ if (!this.$thead.length) {
155
+ throw new Error("tablesaw: a <thead> is required, but none was found.");
156
+ }
157
+
158
+ if (!this.$thead.find("th").length) {
159
+ throw new Error("tablesaw: no header cells found. Are you using <th> inside of <thead>?");
160
+ }
161
+
162
+ // assign an id if there is none
163
+ if (!this.$table.attr("id")) {
164
+ this.$table.attr("id", pluginName + "-" + Math.round(Math.random() * 10000));
165
+ }
166
+
167
+ this.createToolbar();
168
+
169
+ this._initCells();
170
+
171
+ this.$table.data(pluginName, this);
172
+
173
+ this.$table.trigger(events.create, [this]);
174
+ };
175
+
176
+ Table.prototype.getConfig = function(pluginSpecificConfig) {
177
+ // shoestring extend doesn’t support arbitrary args
178
+ var configs = $.extend(defaultConfig, pluginSpecificConfig || {});
179
+ return $.extend(configs, typeof TablesawConfig !== "undefined" ? TablesawConfig : {});
180
+ };
181
+
182
+ Table.prototype._getPrimaryHeaderRow = function() {
183
+ return this._getHeaderRows().eq(0);
184
+ };
185
+
186
+ Table.prototype._getHeaderRows = function() {
187
+ return this.$thead
188
+ .children()
189
+ .filter("tr")
190
+ .filter(function() {
191
+ return !$(this).is("[data-tablesaw-ignorerow]");
192
+ });
193
+ };
194
+
195
+ Table.prototype._getRowIndex = function($row) {
196
+ return $row.prevAll().length;
197
+ };
198
+
199
+ Table.prototype._getHeaderRowIndeces = function() {
200
+ var self = this;
201
+ var indeces = [];
202
+ this._getHeaderRows().each(function() {
203
+ indeces.push(self._getRowIndex($(this)));
204
+ });
205
+ return indeces;
206
+ };
207
+
208
+ Table.prototype._getPrimaryHeaderCells = function($row) {
209
+ return ($row || this._getPrimaryHeaderRow()).find("th");
210
+ };
211
+
212
+ Table.prototype._$getCells = function(th) {
213
+ var self = this;
214
+ return $(th)
215
+ .add(th.cells)
216
+ .filter(function() {
217
+ var $t = $(this);
218
+ var $row = $t.parent();
219
+ var hasColspan = $t.is("[colspan]");
220
+ // no subrows or ignored rows (keep cells in ignored rows that do not have a colspan)
221
+ return (
222
+ !$row.is("[" + self.attributes.subrow + "]") &&
223
+ (!$row.is("[" + self.attributes.ignorerow + "]") || !hasColspan)
224
+ );
225
+ });
226
+ };
227
+
228
+ Table.prototype._getVisibleColspan = function() {
229
+ var colspan = 0;
230
+ this._getPrimaryHeaderCells().each(function() {
231
+ var $t = $(this);
232
+ if ($t.css("display") !== "none") {
233
+ colspan += parseInt($t.attr("colspan"), 10) || 1;
234
+ }
235
+ });
236
+ return colspan;
237
+ };
238
+
239
+ Table.prototype.getColspanForCell = function($cell) {
240
+ var visibleColspan = this._getVisibleColspan();
241
+ var visibleSiblingColumns = 0;
242
+ if ($cell.closest("tr").data("tablesaw-rowspanned")) {
243
+ visibleSiblingColumns++;
244
+ }
245
+
246
+ $cell.siblings().each(function() {
247
+ var $t = $(this);
248
+ var colColspan = parseInt($t.attr("colspan"), 10) || 1;
249
+
250
+ if ($t.css("display") !== "none") {
251
+ visibleSiblingColumns += colColspan;
252
+ }
253
+ });
254
+ // console.log( $cell[ 0 ], visibleColspan, visibleSiblingColumns );
255
+
256
+ return visibleColspan - visibleSiblingColumns;
257
+ };
258
+
259
+ Table.prototype.isCellInColumn = function(header, cell) {
260
+ return $(header)
261
+ .add(header.cells)
262
+ .filter(function() {
263
+ return this === cell;
264
+ }).length;
265
+ };
266
+
267
+ Table.prototype.updateColspanCells = function(cls, header, userAction) {
268
+ var self = this;
269
+ var primaryHeaderRow = self._getPrimaryHeaderRow();
270
+
271
+ // find persistent column rowspans
272
+ this.$table.find("[rowspan][data-tablesaw-priority]").each(function() {
273
+ var $t = $(this);
274
+ if ($t.attr("data-tablesaw-priority") !== "persist") {
275
+ return;
276
+ }
277
+
278
+ var $row = $t.closest("tr");
279
+ var rowspan = parseInt($t.attr("rowspan"), 10);
280
+ if (rowspan > 1) {
281
+ $row = $row.next();
282
+
283
+ $row.data("tablesaw-rowspanned", true);
284
+
285
+ rowspan--;
286
+ }
287
+ });
288
+
289
+ this.$table
290
+ .find("[colspan],[data-tablesaw-maxcolspan]")
291
+ .filter(function() {
292
+ // is not in primary header row
293
+ return $(this).closest("tr")[0] !== primaryHeaderRow[0];
294
+ })
295
+ .each(function() {
296
+ var $cell = $(this);
297
+
298
+ if (userAction === undefined || self.isCellInColumn(header, this)) {
299
+ } else {
300
+ // if is not a user action AND the cell is not in the updating column, kill it
301
+ return;
302
+ }
303
+
304
+ var colspan = self.getColspanForCell($cell);
305
+
306
+ if (cls && userAction !== undefined) {
307
+ // console.log( colspan === 0 ? "addClass" : "removeClass", $cell );
308
+ $cell[colspan === 0 ? "addClass" : "removeClass"](cls);
309
+ }
310
+
311
+ // cache original colspan
312
+ var maxColspan = parseInt($cell.attr("data-tablesaw-maxcolspan"), 10);
313
+ if (!maxColspan) {
314
+ $cell.attr("data-tablesaw-maxcolspan", $cell.attr("colspan"));
315
+ } else if (colspan > maxColspan) {
316
+ colspan = maxColspan;
317
+ }
318
+
319
+ // console.log( this, "setting colspan to ", colspan );
320
+ $cell.attr("colspan", colspan);
321
+ });
322
+ };
323
+
324
+ Table.prototype._findPrimaryHeadersForCell = function(cell) {
325
+ var $headerRow = this._getPrimaryHeaderRow();
326
+ var headerRowIndex = this._getRowIndex($headerRow);
327
+ var results = [];
328
+
329
+ for (var rowNumber = 0; rowNumber < this.headerMapping.length; rowNumber++) {
330
+ if (rowNumber === headerRowIndex) {
331
+ continue;
332
+ }
333
+
334
+ for (var colNumber = 0; colNumber < this.headerMapping[rowNumber].length; colNumber++) {
335
+ if (this.headerMapping[rowNumber][colNumber] === cell) {
336
+ results.push(this.headerMapping[headerRowIndex][colNumber]);
337
+ }
338
+ }
339
+ }
340
+
341
+ return results;
342
+ };
343
+
344
+ // used by init cells
345
+ Table.prototype.getRows = function() {
346
+ var self = this;
347
+ return this.$table.find("tr").filter(function() {
348
+ return $(this)
349
+ .closest("table")
350
+ .is(self.$table);
351
+ });
352
+ };
353
+
354
+ // used by sortable
355
+ Table.prototype.getBodyRows = function(tbody) {
356
+ return (tbody ? $(tbody) : this.$tbody).children().filter("tr");
357
+ };
358
+
359
+ Table.prototype.getHeaderCellIndex = function(cell) {
360
+ var lookup = this.headerMapping[0];
361
+ for (var colIndex = 0; colIndex < lookup.length; colIndex++) {
362
+ if (lookup[colIndex] === cell) {
363
+ return colIndex;
364
+ }
365
+ }
366
+
367
+ return -1;
368
+ };
369
+
370
+ Table.prototype._initCells = function() {
371
+ // re-establish original colspans
372
+ this.$table.find("[data-tablesaw-maxcolspan]").each(function() {
373
+ var $t = $(this);
374
+ $t.attr("colspan", $t.attr("data-tablesaw-maxcolspan"));
375
+ });
376
+
377
+ var $rows = this.getRows();
378
+ var columnLookup = [];
379
+
380
+ $rows.each(function(rowNumber) {
381
+ columnLookup[rowNumber] = [];
382
+ });
383
+
384
+ $rows.each(function(rowNumber) {
385
+ var coltally = 0;
386
+ var $t = $(this);
387
+ var children = $t.children();
388
+
389
+ children.each(function() {
390
+ var colspan = parseInt(
391
+ this.getAttribute("data-tablesaw-maxcolspan") || this.getAttribute("colspan"),
392
+ 10
393
+ );
394
+ var rowspan = parseInt(this.getAttribute("rowspan"), 10);
395
+
396
+ // set in a previous rowspan
397
+ while (columnLookup[rowNumber][coltally]) {
398
+ coltally++;
399
+ }
400
+
401
+ columnLookup[rowNumber][coltally] = this;
402
+
403
+ // TODO? both colspan and rowspan
404
+ if (colspan) {
405
+ for (var k = 0; k < colspan - 1; k++) {
406
+ coltally++;
407
+ columnLookup[rowNumber][coltally] = this;
408
+ }
409
+ }
410
+ if (rowspan) {
411
+ for (var j = 1; j < rowspan; j++) {
412
+ columnLookup[rowNumber + j][coltally] = this;
413
+ }
414
+ }
415
+
416
+ coltally++;
417
+ });
418
+ });
419
+
420
+ var headerRowIndeces = this._getHeaderRowIndeces();
421
+ for (var colNumber = 0; colNumber < columnLookup[0].length; colNumber++) {
422
+ for (var headerIndex = 0, k = headerRowIndeces.length; headerIndex < k; headerIndex++) {
423
+ var headerCol = columnLookup[headerRowIndeces[headerIndex]][colNumber];
424
+
425
+ var rowNumber = headerRowIndeces[headerIndex];
426
+ var rowCell;
427
+
428
+ if (!headerCol.cells) {
429
+ headerCol.cells = [];
430
+ }
431
+
432
+ while (rowNumber < columnLookup.length) {
433
+ rowCell = columnLookup[rowNumber][colNumber];
434
+
435
+ if (headerCol !== rowCell) {
436
+ headerCol.cells.push(rowCell);
437
+ }
438
+
439
+ rowNumber++;
440
+ }
441
+ }
442
+ }
443
+
444
+ this.headerMapping = columnLookup;
445
+ };
446
+
447
+ Table.prototype.refresh = function() {
448
+ this._initCells();
449
+
450
+ this.$table.trigger(events.refresh, [this]);
451
+ };
452
+
453
+ Table.prototype._getToolbarAnchor = function() {
454
+ var $parent = this.$table.parent();
455
+ if ($parent.is(".tablesaw-overflow")) {
456
+ return $parent;
457
+ }
458
+ return this.$table;
459
+ };
460
+
461
+ Table.prototype._getToolbar = function($anchor) {
462
+ if (!$anchor) {
463
+ $anchor = this._getToolbarAnchor();
464
+ }
465
+ return $anchor.prev().filter("." + classes.toolbar);
466
+ };
467
+
468
+ Table.prototype.createToolbar = function() {
469
+ // Insert the toolbar
470
+ // TODO move this into a separate component
471
+ var $anchor = this._getToolbarAnchor();
472
+ var $toolbar = this._getToolbar($anchor);
473
+ if (!$toolbar.length) {
474
+ $toolbar = $("<div>")
475
+ .addClass(classes.toolbar)
476
+ .insertBefore($anchor);
477
+ }
478
+ this.$toolbar = $toolbar;
479
+
480
+ if (this.mode) {
481
+ this.$toolbar.addClass("tablesaw-mode-" + this.mode);
482
+ }
483
+ };
484
+
485
+ Table.prototype.destroy = function() {
486
+ // Don’t remove the toolbar, just erase the classes on it.
487
+ // Some of the table features are not yet destroy-friendly.
488
+ this._getToolbar().each(function() {
489
+ this.className = this.className.replace(/\btablesaw-mode\-\w*\b/gi, "");
490
+ });
491
+
492
+ var tableId = this.$table.attr("id");
493
+ $(document).off("." + tableId);
494
+ $(window).off("." + tableId);
495
+
496
+ // other plugins
497
+ this.$table.trigger(events.destroy, [this]);
498
+
499
+ this.$table.removeData(pluginName);
500
+ };
501
+
502
+ // Collection method.
503
+ $.fn[pluginName] = function() {
504
+ return this.each(function() {
505
+ var $t = $(this);
506
+
507
+ if ($t.data(pluginName)) {
508
+ return;
509
+ }
510
+
511
+ new Table(this);
512
+ });
513
+ };
514
+
515
+ var $doc = $(document);
516
+ $doc.on("enhance.tablesaw", function(e) {
517
+ // Cut the mustard
518
+ if (Tablesaw.mustard) {
519
+ var $target = $(e.target);
520
+ if ($target.parent().length) {
521
+ $target = $target.parent();
522
+ }
523
+
524
+ $target
525
+ .find(initSelector)
526
+ .filter(initFilterSelector)
527
+ [pluginName]();
528
+ }
529
+ });
530
+
531
+ // Avoid a resize during scroll:
532
+ // Some Mobile devices trigger a resize during scroll (sometimes when
533
+ // doing elastic stretch at the end of the document or from the
534
+ // location bar hide)
535
+ var isScrolling = false;
536
+ var scrollTimeout;
537
+ $doc.on("scroll.tablesaw", function() {
538
+ isScrolling = true;
539
+
540
+ window.clearTimeout(scrollTimeout);
541
+ scrollTimeout = window.setTimeout(function() {
542
+ isScrolling = false;
543
+ }, 300); // must be greater than the resize timeout below
544
+ });
545
+
546
+ var resizeTimeout;
547
+ $(window).on("resize", function() {
548
+ if (!isScrolling) {
549
+ window.clearTimeout(resizeTimeout);
550
+ resizeTimeout = window.setTimeout(function() {
551
+ $doc.trigger(events.resize);
552
+ }, 150); // must be less than the scrolling timeout above.
553
+ }
554
+ });
555
+
556
+ Tablesaw.Table = Table;
557
+ })();
558
+
559
+ (function() {
560
+ var classes = {
561
+ stackTable: "tablesaw-stack",
562
+ cellLabels: "tablesaw-cell-label",
563
+ cellContentLabels: "tablesaw-cell-content"
564
+ };
565
+
566
+ var data = {
567
+ key: "tablesaw-stack"
568
+ };
569
+
570
+ var attrs = {
571
+ labelless: "data-tablesaw-no-labels",
572
+ hideempty: "data-tablesaw-hide-empty"
573
+ };
574
+
575
+ var Stack = function(element, tablesaw) {
576
+ this.tablesaw = tablesaw;
577
+ this.$table = $(element);
578
+
579
+ this.labelless = this.$table.is("[" + attrs.labelless + "]");
580
+ this.hideempty = this.$table.is("[" + attrs.hideempty + "]");
581
+
582
+ this.$table.data(data.key, this);
583
+ };
584
+
585
+ Stack.prototype.init = function() {
586
+ this.$table.addClass(classes.stackTable);
587
+
588
+ if (this.labelless) {
589
+ return;
590
+ }
591
+
592
+ var self = this;
593
+
594
+ this.$table
595
+ .find("th, td")
596
+ .filter(function() {
597
+ return !$(this).closest("thead").length;
598
+ })
599
+ .filter(function() {
600
+ return (
601
+ !$(this).is("[" + attrs.labelless + "]") &&
602
+ !$(this)
603
+ .closest("tr")
604
+ .is("[" + attrs.labelless + "]") &&
605
+ (!self.hideempty || !!$(this).html())
606
+ );
607
+ })
608
+ .each(function() {
609
+ var $newHeader = $(document.createElement("b")).addClass(classes.cellLabels);
610
+ var $cell = $(this);
611
+
612
+ $(self.tablesaw._findPrimaryHeadersForCell(this)).each(function(index) {
613
+ var $header = $(this.cloneNode(true));
614
+ // TODO decouple from sortable better
615
+ // Changed from .text() in https://github.com/filamentgroup/tablesaw/commit/b9c12a8f893ec192830ec3ba2d75f062642f935b
616
+ // to preserve structural html in headers, like <a>
617
+ var $sortableButton = $header.find(".tablesaw-sortable-btn");
618
+ $header.find(".tablesaw-sortable-arrow").remove();
619
+
620
+ // TODO decouple from checkall better
621
+ var $checkall = $header.find("[data-tablesaw-checkall]");
622
+ $checkall.closest("label").remove();
623
+ if ($checkall.length) {
624
+ $newHeader = $([]);
625
+ return;
626
+ }
627
+
628
+ if (index > 0) {
629
+ $newHeader.append(document.createTextNode(", "));
630
+ }
631
+
632
+ var parentNode = $sortableButton.length ? $sortableButton[0] : $header[0];
633
+ var el;
634
+ while ((el = parentNode.firstChild)) {
635
+ $newHeader[0].appendChild(el);
636
+ }
637
+ });
638
+
639
+ if ($newHeader.length && !$cell.find("." + classes.cellContentLabels).length) {
640
+ $cell.wrapInner("<span class='" + classes.cellContentLabels + "'></span>");
641
+ }
642
+
643
+ // Update if already exists.
644
+ var $label = $cell.find("." + classes.cellLabels);
645
+ if (!$label.length) {
646
+ $cell.prepend(document.createTextNode(" "));
647
+ $cell.prepend($newHeader);
648
+ } else {
649
+ // only if changed
650
+ $label.replaceWith($newHeader);
651
+ }
652
+ });
653
+ };
654
+
655
+ Stack.prototype.destroy = function() {
656
+ this.$table.removeClass(classes.stackTable);
657
+ this.$table.find("." + classes.cellLabels).remove();
658
+ this.$table.find("." + classes.cellContentLabels).each(function() {
659
+ $(this).replaceWith($(this.childNodes));
660
+ });
661
+ };
662
+
663
+ // on tablecreate, init
664
+ $(document)
665
+ .on(Tablesaw.events.create, function(e, tablesaw) {
666
+ if (tablesaw.mode === "stack") {
667
+ var table = new Stack(tablesaw.table, tablesaw);
668
+ table.init();
669
+ }
670
+ })
671
+ .on(Tablesaw.events.refresh, function(e, tablesaw) {
672
+ if (tablesaw.mode === "stack") {
673
+ $(tablesaw.table)
674
+ .data(data.key)
675
+ .init();
676
+ }
677
+ })
678
+ .on(Tablesaw.events.destroy, function(e, tablesaw) {
679
+ if (tablesaw.mode === "stack") {
680
+ $(tablesaw.table)
681
+ .data(data.key)
682
+ .destroy();
683
+ }
684
+ });
685
+
686
+ Tablesaw.Stack = Stack;
687
+ })();
688
+ return Tablesaw;
689
+
690
+ }));