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,692 @@
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
+ // BS4 Media break points
64
+ // -----------------------------------------------------------------------------
65
+ breakpoint: {
66
+ xl: "1200px",
67
+ lg: "992px",
68
+ md: "768px",
69
+ sm: "576px",
70
+ xs: "575px",
71
+ default: "992px"
72
+ },
73
+ // cut the mustard
74
+ mustard:
75
+ "head" in document && // IE9+, Firefox 4+, Safari 5.1+, Mobile Safari 4.1+, Opera 11.5+, Android 2.3+
76
+ (!window.blackberry || window.WebKitPoint) && // only WebKit Blackberry (OS 6+)
77
+ !window.operamini,
78
+ $: $,
79
+ _init: function(element) {
80
+ Tablesaw.$(element || document).trigger("enhance.tablesaw");
81
+ },
82
+ init: function(element) {
83
+ // Account for Tablesaw being loaded either before or after the DOMContentLoaded event is fired.
84
+ domContentLoadedTriggered =
85
+ domContentLoadedTriggered || /complete|loaded/.test(document.readyState);
86
+ if (!domContentLoadedTriggered) {
87
+ if ("addEventListener" in document) {
88
+ // Use raw DOMContentLoaded instead of shoestring (may have issues in Android 2.3, exhibited by stack table)
89
+ document.addEventListener("DOMContentLoaded", function() {
90
+ Tablesaw._init(element);
91
+ });
92
+ }
93
+ } else {
94
+ Tablesaw._init(element);
95
+ }
96
+ }
97
+ };
98
+
99
+ $(document).on("enhance.tablesaw", function() {
100
+
101
+ // Extend i18n config, if one exists.
102
+ if (typeof TablesawConfig !== "undefined" && TablesawConfig.i18n) {
103
+ Tablesaw.i18n = $.extend(Tablesaw.i18n, TablesawConfig.i18n || {});
104
+ }
105
+
106
+ Tablesaw.i18n.modes = [
107
+ Tablesaw.i18n.modeStack,
108
+ Tablesaw.i18n.modeSwipe,
109
+ Tablesaw.i18n.modeToggle
110
+ ];
111
+ });
112
+
113
+ if (Tablesaw.mustard) {
114
+ $(document.documentElement).addClass("tablesaw-enhanced");
115
+ }
116
+
117
+ (function() {
118
+ var pluginName = "tablesaw";
119
+ var classes = {
120
+ toolbar: "tablesaw-bar"
121
+ };
122
+ var events = {
123
+ create: "tablesawcreate",
124
+ destroy: "tablesawdestroy",
125
+ refresh: "tablesawrefresh",
126
+ resize: "tablesawresize"
127
+ };
128
+ var defaultMode = "stack";
129
+ var initSelector = "table";
130
+ var initFilterSelector = "[data-tablesaw],[data-tablesaw-mode],[data-tablesaw-sortable]";
131
+ var defaultConfig = {};
132
+
133
+ Tablesaw.events = events;
134
+
135
+ var Table = function(element) {
136
+ if (!element) {
137
+ throw new Error("Tablesaw requires an element.");
138
+ }
139
+
140
+ this.table = element;
141
+ this.$table = $(element);
142
+
143
+ // only one <thead> and <tfoot> are allowed, per the specification
144
+ this.$thead = this.$table
145
+ .children()
146
+ .filter("thead")
147
+ .eq(0);
148
+
149
+ // multiple <tbody> are allowed, per the specification
150
+ this.$tbody = this.$table.children().filter("tbody");
151
+
152
+ this.mode = this.$table.attr("data-tablesaw-mode") || defaultMode;
153
+
154
+ this.$toolbar = null;
155
+
156
+ this.attributes = {
157
+ subrow: "data-tablesaw-subrow",
158
+ ignorerow: "data-tablesaw-ignorerow"
159
+ };
160
+
161
+ this.init();
162
+ };
163
+
164
+ Table.prototype.init = function() {
165
+ if (!this.$thead.length) {
166
+ throw new Error("tablesaw: a <thead> is required, but none was found.");
167
+ }
168
+
169
+ if (!this.$thead.find("th").length) {
170
+ throw new Error("tablesaw: no header cells found. Are you using <th> inside of <thead>?");
171
+ }
172
+
173
+ // assign an id if there is none
174
+ if (!this.$table.attr("id")) {
175
+ this.$table.attr("id", pluginName + "-" + Math.round(Math.random() * 10000));
176
+ }
177
+
178
+ this.createToolbar();
179
+ this._initCells();
180
+ this.$table.data(pluginName, this);
181
+ this.$table.trigger(events.create, [this]);
182
+ };
183
+
184
+ Table.prototype.getConfig = function(pluginSpecificConfig) {
185
+ // shoestring extend doesn’t support arbitrary args
186
+ var configs = $.extend(defaultConfig, pluginSpecificConfig || {});
187
+ return $.extend(configs, typeof TablesawConfig !== "undefined" ? TablesawConfig : {});
188
+ };
189
+
190
+ Table.prototype._getPrimaryHeaderRow = function() {
191
+ return this._getHeaderRows().eq(0);
192
+ };
193
+
194
+ Table.prototype._getHeaderRows = function() {
195
+ return this.$thead
196
+ .children()
197
+ .filter("tr")
198
+ .filter(function() {
199
+ return !$(this).is("[data-tablesaw-ignorerow]");
200
+ });
201
+ };
202
+
203
+ Table.prototype._getRowIndex = function($row) {
204
+ return $row.prevAll().length;
205
+ };
206
+
207
+ Table.prototype._getHeaderRowIndeces = function() {
208
+ var self = this;
209
+ var indeces = [];
210
+ this._getHeaderRows().each(function() {
211
+ indeces.push(self._getRowIndex($(this)));
212
+ });
213
+ return indeces;
214
+ };
215
+
216
+ Table.prototype._getPrimaryHeaderCells = function($row) {
217
+ return ($row || this._getPrimaryHeaderRow()).find("th");
218
+ };
219
+
220
+ Table.prototype._$getCells = function(th) {
221
+ var self = this;
222
+ return $(th)
223
+ .add(th.cells)
224
+ .filter(function() {
225
+ var $t = $(this);
226
+ var $row = $t.parent();
227
+ var hasColspan = $t.is("[colspan]");
228
+ // no subrows or ignored rows (keep cells in ignored rows that do not have a colspan)
229
+ return (
230
+ !$row.is("[" + self.attributes.subrow + "]") &&
231
+ (!$row.is("[" + self.attributes.ignorerow + "]") || !hasColspan)
232
+ );
233
+ });
234
+ };
235
+
236
+ Table.prototype._getVisibleColspan = function() {
237
+ var colspan = 0;
238
+ this._getPrimaryHeaderCells().each(function() {
239
+ var $t = $(this);
240
+ if ($t.css("display") !== "none") {
241
+ colspan += parseInt($t.attr("colspan"), 10) || 1;
242
+ }
243
+ });
244
+ return colspan;
245
+ };
246
+
247
+ Table.prototype.getColspanForCell = function($cell) {
248
+ var visibleColspan = this._getVisibleColspan();
249
+ var visibleSiblingColumns = 0;
250
+ if ($cell.closest("tr").data("tablesaw-rowspanned")) {
251
+ visibleSiblingColumns++;
252
+ }
253
+
254
+ $cell.siblings().each(function() {
255
+ var $t = $(this);
256
+ var colColspan = parseInt($t.attr("colspan"), 10) || 1;
257
+
258
+ if ($t.css("display") !== "none") {
259
+ visibleSiblingColumns += colColspan;
260
+ }
261
+ });
262
+ // console.log( $cell[ 0 ], visibleColspan, visibleSiblingColumns );
263
+
264
+ return visibleColspan - visibleSiblingColumns;
265
+ };
266
+
267
+ Table.prototype.isCellInColumn = function(header, cell) {
268
+ return $(header)
269
+ .add(header.cells)
270
+ .filter(function() {
271
+ return this === cell;
272
+ }).length;
273
+ };
274
+
275
+ Table.prototype.updateColspanCells = function(cls, header, userAction) {
276
+ var self = this;
277
+ var primaryHeaderRow = self._getPrimaryHeaderRow();
278
+
279
+ // find persistent column rowspans
280
+ this.$table.find("[rowspan][data-tablesaw-priority]").each(function() {
281
+ var $t = $(this);
282
+ if ($t.attr("data-tablesaw-priority") !== "persist") {
283
+ return;
284
+ }
285
+
286
+ var $row = $t.closest("tr");
287
+ var rowspan = parseInt($t.attr("rowspan"), 10);
288
+ if (rowspan > 1) {
289
+ $row = $row.next();
290
+ $row.data("tablesaw-rowspanned", true);
291
+ rowspan--;
292
+ }
293
+ });
294
+
295
+ this.$table
296
+ .find("[colspan],[data-tablesaw-maxcolspan]")
297
+ .filter(function() {
298
+ // is not in primary header row
299
+ return $(this).closest("tr")[0] !== primaryHeaderRow[0];
300
+ })
301
+ .each(function() {
302
+ var $cell = $(this);
303
+
304
+ if (userAction === undefined || self.isCellInColumn(header, this)) {
305
+ } else {
306
+ // if is not a user action AND the cell is not in the updating column, kill it
307
+ return;
308
+ }
309
+
310
+ var colspan = self.getColspanForCell($cell);
311
+
312
+ if (cls && userAction !== undefined) {
313
+ // console.log( colspan === 0 ? "addClass" : "removeClass", $cell );
314
+ $cell[colspan === 0 ? "addClass" : "removeClass"](cls);
315
+ }
316
+
317
+ // cache original colspan
318
+ var maxColspan = parseInt($cell.attr("data-tablesaw-maxcolspan"), 10);
319
+ if (!maxColspan) {
320
+ $cell.attr("data-tablesaw-maxcolspan", $cell.attr("colspan"));
321
+ } else if (colspan > maxColspan) {
322
+ colspan = maxColspan;
323
+ }
324
+
325
+ // console.log( this, "setting colspan to ", colspan );
326
+ $cell.attr("colspan", colspan);
327
+ });
328
+ };
329
+
330
+ Table.prototype._findPrimaryHeadersForCell = function(cell) {
331
+ var $headerRow = this._getPrimaryHeaderRow();
332
+ var headerRowIndex = this._getRowIndex($headerRow);
333
+ var results = [];
334
+
335
+ for (var rowNumber = 0; rowNumber < this.headerMapping.length; rowNumber++) {
336
+ if (rowNumber === headerRowIndex) {
337
+ continue;
338
+ }
339
+
340
+ for (var colNumber = 0; colNumber < this.headerMapping[rowNumber].length; colNumber++) {
341
+ if (this.headerMapping[rowNumber][colNumber] === cell) {
342
+ results.push(this.headerMapping[headerRowIndex][colNumber]);
343
+ }
344
+ }
345
+ }
346
+
347
+ return results;
348
+ };
349
+
350
+ // used by init cells
351
+ Table.prototype.getRows = function() {
352
+ var self = this;
353
+ return this.$table.find("tr").filter(function() {
354
+ return $(this)
355
+ .closest("table")
356
+ .is(self.$table);
357
+ });
358
+ };
359
+
360
+ // used by sortable
361
+ Table.prototype.getBodyRows = function(tbody) {
362
+ return (tbody ? $(tbody) : this.$tbody).children().filter("tr");
363
+ };
364
+
365
+ Table.prototype.getHeaderCellIndex = function(cell) {
366
+ var lookup = this.headerMapping[0];
367
+ for (var colIndex = 0; colIndex < lookup.length; colIndex++) {
368
+ if (lookup[colIndex] === cell) {
369
+ return colIndex;
370
+ }
371
+ }
372
+ return -1;
373
+ };
374
+
375
+ Table.prototype._initCells = function() {
376
+ // re-establish original colspans
377
+ this.$table.find("[data-tablesaw-maxcolspan]").each(function() {
378
+ var $t = $(this);
379
+ $t.attr("colspan", $t.attr("data-tablesaw-maxcolspan"));
380
+ });
381
+
382
+ var $rows = this.getRows();
383
+ var columnLookup = [];
384
+
385
+ $rows.each(function(rowNumber) {
386
+ columnLookup[rowNumber] = [];
387
+ });
388
+
389
+ $rows.each(function(rowNumber) {
390
+ var coltally = 0;
391
+ var $t = $(this);
392
+ var children = $t.children();
393
+
394
+ children.each(function() {
395
+ var colspan = parseInt(
396
+ this.getAttribute("data-tablesaw-maxcolspan") || this.getAttribute("colspan"),
397
+ 10
398
+ );
399
+ var rowspan = parseInt(this.getAttribute("rowspan"), 10);
400
+
401
+ // set in a previous rowspan
402
+ while (columnLookup[rowNumber][coltally]) {
403
+ coltally++;
404
+ }
405
+
406
+ columnLookup[rowNumber][coltally] = this;
407
+
408
+ // TODO? both colspan and rowspan
409
+ if (colspan) {
410
+ for (var k = 0; k < colspan - 1; k++) {
411
+ coltally++;
412
+ columnLookup[rowNumber][coltally] = this;
413
+ }
414
+ }
415
+ if (rowspan) {
416
+ for (var j = 1; j < rowspan; j++) {
417
+ columnLookup[rowNumber + j][coltally] = this;
418
+ }
419
+ }
420
+
421
+ coltally++;
422
+ });
423
+ });
424
+
425
+ var headerRowIndeces = this._getHeaderRowIndeces();
426
+ for (var colNumber = 0; colNumber < columnLookup[0].length; colNumber++) {
427
+ for (var headerIndex = 0, k = headerRowIndeces.length; headerIndex < k; headerIndex++) {
428
+ var headerCol = columnLookup[headerRowIndeces[headerIndex]][colNumber];
429
+
430
+ var rowNumber = headerRowIndeces[headerIndex];
431
+ var rowCell;
432
+
433
+ if (!headerCol.cells) {
434
+ headerCol.cells = [];
435
+ }
436
+
437
+ while (rowNumber < columnLookup.length) {
438
+ rowCell = columnLookup[rowNumber][colNumber];
439
+
440
+ if (headerCol !== rowCell) {
441
+ headerCol.cells.push(rowCell);
442
+ }
443
+ rowNumber++;
444
+ }
445
+ }
446
+ }
447
+
448
+ this.headerMapping = columnLookup;
449
+ };
450
+
451
+ Table.prototype.refresh = function() {
452
+ this._initCells();
453
+
454
+ this.$table.trigger(events.refresh, [this]);
455
+ };
456
+
457
+ Table.prototype._getToolbarAnchor = function() {
458
+ var $parent = this.$table.parent();
459
+ if ($parent.is(".tablesaw-overflow")) {
460
+ return $parent;
461
+ }
462
+ return this.$table;
463
+ };
464
+
465
+ Table.prototype._getToolbar = function($anchor) {
466
+ if (!$anchor) {
467
+ $anchor = this._getToolbarAnchor();
468
+ }
469
+ return $anchor.prev().filter("." + classes.toolbar);
470
+ };
471
+
472
+ Table.prototype.createToolbar = function() {
473
+ // Insert the toolbar
474
+ // TODO move this into a separate component
475
+ var $anchor = this._getToolbarAnchor();
476
+ var $toolbar = this._getToolbar($anchor);
477
+ if (!$toolbar.length) {
478
+ $toolbar = $("<div>")
479
+ .addClass(classes.toolbar)
480
+ .insertBefore($anchor);
481
+ }
482
+ this.$toolbar = $toolbar;
483
+
484
+ if (this.mode) {
485
+ this.$toolbar.addClass("tablesaw-mode-" + this.mode);
486
+ }
487
+ };
488
+
489
+ Table.prototype.destroy = function() {
490
+ // Don’t remove the toolbar, just erase the classes on it.
491
+ // Some of the table features are not yet destroy-friendly.
492
+ this._getToolbar().each(function() {
493
+ this.className = this.className.replace(/\btablesaw-mode\-\w*\b/gi, "");
494
+ });
495
+
496
+ var tableId = this.$table.attr("id");
497
+ $(document).off("." + tableId);
498
+ $(window).off("." + tableId);
499
+
500
+ // other plugins
501
+ this.$table.trigger(events.destroy, [this]);
502
+ this.$table.removeData(pluginName);
503
+ };
504
+
505
+ // Collection method.
506
+ $.fn[pluginName] = function() {
507
+ return this.each(function() {
508
+ var $t = $(this);
509
+
510
+ if ($t.data(pluginName)) {
511
+ return;
512
+ }
513
+
514
+ new Table(this);
515
+ });
516
+ };
517
+
518
+ var $doc = $(document);
519
+ $doc.on("enhance.tablesaw", function(e) {
520
+ // Cut the mustard
521
+ if (Tablesaw.mustard) {
522
+ var $target = $(e.target);
523
+ if ($target.parent().length) {
524
+ $target = $target.parent();
525
+ }
526
+
527
+ $target
528
+ .find(initSelector)
529
+ .filter(initFilterSelector)
530
+ [pluginName]();
531
+ }
532
+ });
533
+
534
+ // Avoid a resize during scroll:
535
+ // Some Mobile devices trigger a resize during scroll (sometimes when
536
+ // doing elastic stretch at the end of the document or from the
537
+ // location bar hide)
538
+ var isScrolling = false;
539
+ var scrollTimeout;
540
+ $doc.on("scroll.tablesaw", function() {
541
+ isScrolling = true;
542
+
543
+ window.clearTimeout(scrollTimeout);
544
+ scrollTimeout = window.setTimeout(function() {
545
+ isScrolling = false;
546
+ }, 300); // must be greater than the resize timeout below
547
+ });
548
+
549
+ var resizeTimeout;
550
+ $(window).on("resize", function() {
551
+ if (!isScrolling) {
552
+ window.clearTimeout(resizeTimeout);
553
+ resizeTimeout = window.setTimeout(function() {
554
+ $doc.trigger(events.resize);
555
+ }, 150); // must be less than the scrolling timeout above.
556
+ }
557
+ });
558
+
559
+ Tablesaw.Table = Table;
560
+ })();
561
+
562
+ (function() {
563
+ var classes = {
564
+ stackTable: "tablesaw-stack",
565
+ cellLabels: "tablesaw-cell-label",
566
+ cellContentLabels: "tablesaw-cell-content"
567
+ };
568
+
569
+ var data = {
570
+ key: "tablesaw-stack"
571
+ };
572
+
573
+ var attrs = {
574
+ labelless: "data-tablesaw-no-labels",
575
+ hideempty: "data-tablesaw-hide-empty"
576
+ };
577
+
578
+ var Stack = function(element, tablesaw) {
579
+ this.tablesaw = tablesaw;
580
+ this.$table = $(element);
581
+
582
+ this.labelless = this.$table.is("[" + attrs.labelless + "]");
583
+ this.hideempty = this.$table.is("[" + attrs.hideempty + "]");
584
+ this.$table.data(data.key, this);
585
+ };
586
+
587
+ Stack.prototype.init = function() {
588
+ this.$table.addClass(classes.stackTable);
589
+
590
+ if (this.labelless) {
591
+ return;
592
+ }
593
+
594
+ var self = this;
595
+
596
+ this.$table
597
+ .find("th, td")
598
+ .filter(function() {
599
+ return !$(this).closest("thead").length;
600
+ })
601
+ .filter(function() {
602
+ return (
603
+ !$(this).is("[" + attrs.labelless + "]") &&
604
+ !$(this)
605
+ .closest("tr")
606
+ .is("[" + attrs.labelless + "]") &&
607
+ (!self.hideempty || !!$(this).html())
608
+ );
609
+ })
610
+ .each(function() {
611
+ var $newHeader = $(document.createElement("b")).addClass(classes.cellLabels);
612
+ var $cell = $(this);
613
+
614
+ $(self.tablesaw._findPrimaryHeadersForCell(this)).each(function(index) {
615
+ var $header = $(this.cloneNode(true));
616
+ // TODO decouple from sortable better
617
+ // Changed from .text() in https://github.com/filamentgroup/tablesaw/commit/b9c12a8f893ec192830ec3ba2d75f062642f935b
618
+ // to preserve structural html in headers, like <a>
619
+ var $sortableButton = $header.find(".tablesaw-sortable-btn");
620
+ $header.find(".tablesaw-sortable-arrow").remove();
621
+
622
+ // TODO decouple from checkall better
623
+ var $checkall = $header.find("[data-tablesaw-checkall]");
624
+ $checkall.closest("label").remove();
625
+ if ($checkall.length) {
626
+ $newHeader = $([]);
627
+ return;
628
+ }
629
+
630
+ if (index > 0) {
631
+ $newHeader.append(document.createTextNode(", "));
632
+ }
633
+
634
+ var parentNode = $sortableButton.length ? $sortableButton[0] : $header[0];
635
+ var el;
636
+ while ((el = parentNode.firstChild)) {
637
+ $newHeader[0].appendChild(el);
638
+ }
639
+ });
640
+
641
+ if ($newHeader.length && !$cell.find("." + classes.cellContentLabels).length) {
642
+ $cell.wrapInner("<span class='" + classes.cellContentLabels + "'></span>");
643
+ }
644
+
645
+ // Update if already exists.
646
+ var $label = $cell.find("." + classes.cellLabels);
647
+ if (!$label.length) {
648
+ $cell.prepend(document.createTextNode(" "));
649
+ $cell.prepend($newHeader);
650
+ } else {
651
+ // only if changed
652
+ $label.replaceWith($newHeader);
653
+ }
654
+ });
655
+ };
656
+
657
+ Stack.prototype.destroy = function() {
658
+ this.$table.removeClass(classes.stackTable);
659
+ this.$table.find("." + classes.cellLabels).remove();
660
+ this.$table.find("." + classes.cellContentLabels).each(function() {
661
+ $(this).replaceWith($(this.childNodes));
662
+ });
663
+ };
664
+
665
+ // on tablecreate, init
666
+ $(document)
667
+ .on(Tablesaw.events.create, function(e, tablesaw) {
668
+ if (tablesaw.mode === "stack") {
669
+ var table = new Stack(tablesaw.table, tablesaw);
670
+ table.init();
671
+ }
672
+ })
673
+ .on(Tablesaw.events.refresh, function(e, tablesaw) {
674
+ if (tablesaw.mode === "stack") {
675
+ $(tablesaw.table)
676
+ .data(data.key)
677
+ .init();
678
+ }
679
+ })
680
+ .on(Tablesaw.events.destroy, function(e, tablesaw) {
681
+ if (tablesaw.mode === "stack") {
682
+ $(tablesaw.table)
683
+ .data(data.key)
684
+ .destroy();
685
+ }
686
+ });
687
+
688
+ Tablesaw.Stack = Stack;
689
+ })();
690
+ return Tablesaw;
691
+
692
+ }));