j1-template 2020.0.18 → 2020.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (523) 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 +2 -2
  4. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +4 -4
  5. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +2 -2
  6. data/_includes/themes/j1/blocks/footer/generator.html +2 -2
  7. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +21 -18
  8. data/_includes/themes/j1/layouts/content_generator_collection.html +4 -4
  9. data/_includes/themes/j1/layouts/content_generator_page.html +12 -60
  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/connectors/ad/google-adsense.html +15 -1
  13. data/_includes/themes/j1/modules/connectors/ads +2 -2
  14. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +2 -4
  15. data/_includes/themes/j1/modules/connectors/analytics +2 -2
  16. data/_includes/themes/j1/modules/connectors/comment/disqus.html +38 -25
  17. data/_includes/themes/j1/modules/connectors/comments +2 -2
  18. data/_includes/themes/j1/modules/connectors/translator +2 -2
  19. data/_includes/themes/j1/modules/navigator/generator.html +17 -8
  20. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +36 -26
  21. data/_includes/themes/j1/procedures/global/attributes_loader.proc +117 -0
  22. data/_includes/themes/j1/procedures/global/create_bs_button.proc +11 -10
  23. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +14 -12
  24. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
  25. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +3 -3
  26. data/_includes/themes/j1/procedures/global/setup.proc +9 -9
  27. data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -2
  28. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  29. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
  30. data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
  31. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +38 -39
  32. data/_includes/themes/j1/procedures/posts/create_series_header.proc +9 -5
  33. data/_layouts/blog_archive.html +2 -1
  34. data/_layouts/collection.html +1 -1
  35. data/_layouts/default.html +3 -3
  36. data/_layouts/home.html +2 -2
  37. data/_layouts/page.html +1 -1
  38. data/_layouts/post.html +1 -1
  39. data/apps/public/cc/cc.yml +3 -3
  40. data/assets/data/authclient.html +7 -7
  41. data/assets/data/banner.html +31 -26
  42. data/assets/data/carousel.json +1 -1
  43. data/assets/data/cookiebar.html +21 -17
  44. data/assets/data/fam.html +124 -0
  45. data/assets/data/footer.html +1 -1
  46. data/assets/data/galleries.json +1 -1
  47. data/assets/data/gallery_customizer.html +2 -2
  48. data/assets/data/mdi_icons.json +1 -1
  49. data/assets/data/menu.html +6 -6
  50. data/assets/data/mmenu.html +6 -6
  51. data/assets/data/mmenu_sidebar.html +4 -4
  52. data/assets/data/mmenu_toc.html +1 -1
  53. data/assets/data/panel.html +189 -123
  54. data/assets/data/quicklinks.html +16 -16
  55. data/assets/data/themes.json +9 -7
  56. data/assets/data/twa_v1.json +1 -1
  57. data/assets/error_pages/HTTP204.html +1 -0
  58. data/assets/error_pages/HTTP400.html +3 -2
  59. data/assets/error_pages/HTTP401.html +3 -2
  60. data/assets/error_pages/HTTP403.html +3 -2
  61. data/assets/error_pages/HTTP404.html +3 -2
  62. data/assets/error_pages/HTTP500.html +3 -2
  63. data/assets/error_pages/HTTP501.html +3 -2
  64. data/assets/error_pages/HTTP502.html +3 -2
  65. data/assets/error_pages/HTTP503.html +3 -2
  66. data/assets/error_pages/HTTP520.html +3 -2
  67. data/assets/error_pages/HTTP521.html +3 -2
  68. data/assets/error_pages/HTTP533.html +3 -2
  69. data/assets/themes/j1/adapter/js/algolia.js +2 -2
  70. data/assets/themes/j1/adapter/js/attic.js +2 -2
  71. data/assets/themes/j1/adapter/js/{mdb.js → bmd.js} +11 -11
  72. data/assets/themes/j1/adapter/js/carousel.js +136 -135
  73. data/assets/themes/j1/adapter/js/clipboard.js +3 -3
  74. data/assets/themes/j1/adapter/js/cookiebar.js +1 -1
  75. data/assets/themes/j1/adapter/js/{ssm.js → fam.js} +275 -148
  76. data/assets/themes/j1/adapter/js/framer.js +74 -62
  77. data/assets/themes/j1/adapter/js/gallery_customizer.js +4 -3
  78. data/assets/themes/j1/adapter/js/j1.js +53 -23
  79. data/assets/themes/j1/adapter/js/jf_gallery.js +2 -2
  80. data/assets/themes/j1/adapter/js/lightbox.js +2 -2
  81. data/assets/themes/j1/adapter/js/logger.js +2 -2
  82. data/assets/themes/j1/adapter/js/{searcher.js → lunr_search.js} +68 -65
  83. data/assets/themes/j1/adapter/js/mmenu.js +17 -11
  84. data/assets/themes/j1/adapter/js/navigator.js +139 -67
  85. data/assets/themes/j1/adapter/js/rouge.js +246 -0
  86. data/assets/themes/j1/adapter/js/rtable.js +181 -0
  87. data/assets/themes/j1/adapter/js/themer.js +68 -122
  88. data/assets/themes/j1/adapter/js/toccer.js +72 -32
  89. data/assets/themes/j1/core/css/animate.css +17 -0
  90. data/assets/themes/j1/core/css/bootstrap.css +40 -48
  91. data/assets/themes/j1/core/css/bootstrap.min.css +3 -3
  92. data/assets/themes/j1/core/css/custom.scss +28 -0
  93. data/assets/themes/j1/core/css/globals.css +14523 -0
  94. data/assets/themes/j1/core/css/globals.min.css +1 -0
  95. data/assets/themes/j1/core/css/globals.scss +28 -0
  96. data/assets/themes/j1/core/css/{fontawesome.css → icon-fonts/fontawesome.css} +31 -12
  97. data/assets/themes/j1/core/css/{fontawesome.min.css → icon-fonts/fontawesome.min.css} +0 -0
  98. data/assets/themes/j1/core/css/{iconify-icons.css → icon-fonts/iconify.css} +51 -38
  99. data/assets/themes/j1/core/css/{iconify-icons.min.css → icon-fonts/iconify.min.css} +1 -1
  100. data/assets/themes/j1/core/css/{material-design-icons.css → icon-fonts/materialdesign.css} +326 -244
  101. data/assets/themes/j1/core/css/icon-fonts/materialdesign.min.css +1 -0
  102. data/assets/themes/j1/core/css/{twemoji.css → icon-fonts/twemoji.css} +61 -51
  103. data/assets/themes/j1/core/css/{twemoji.min.css → icon-fonts/twemoji.min.css} +0 -0
  104. data/assets/themes/j1/core/css/theme_extensions.css +2478 -767
  105. data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
  106. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +7171 -0
  107. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +6 -0
  108. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +8118 -0
  109. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +6 -0
  110. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +22512 -0
  111. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +8 -0
  112. data/assets/themes/j1/core/css/uno.css +2490 -949
  113. data/assets/themes/j1/core/css/uno.min.css +1 -1
  114. data/assets/themes/j1/core/css/uno.scss +28 -0
  115. data/assets/themes/j1/core/css/vendor.css +121 -13452
  116. data/assets/themes/j1/core/css/vendor.min.css +1 -7
  117. data/assets/themes/j1/core/css/vendor.scss +28 -0
  118. data/assets/themes/j1/core/js/template.js +6 -11
  119. data/assets/themes/j1/core/js/template.js.map +1 -1
  120. data/assets/themes/j1/core/js/template.min.js +1 -1
  121. data/assets/themes/j1/modules/backstretch/js/backstretch.js +12 -13
  122. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +12 -13
  123. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.full.js +6930 -0
  124. data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6 -0
  125. data/assets/themes/j1/modules/carousel/css/carousel.css +8 -9
  126. data/assets/themes/j1/modules/carousel/css/carousel.min.css +7 -9
  127. data/assets/themes/j1/modules/carousel/css/carousel_transitions.css +7 -8
  128. data/assets/themes/j1/modules/carousel/css/carousel_transitions.min.css +7 -9
  129. data/assets/themes/j1/modules/carousel/css/theme/uno.css +15 -10
  130. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +8 -9
  131. data/assets/themes/j1/modules/cash/js/cash.js +1374 -0
  132. data/assets/themes/j1/modules/cash/js/cash.min.js +42 -0
  133. data/assets/themes/j1/modules/clipboard/css/theme/uno.css +7 -7
  134. data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +8 -45
  135. data/assets/themes/j1/modules/fam/css/uno/fam.css +369 -0
  136. data/assets/themes/j1/modules/fam/js/fam.js +477 -0
  137. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +1 -1
  138. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.js → resizer.js} +0 -0
  139. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.map → resizer.map} +0 -0
  140. data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.min.js → resizer.min.js} +0 -0
  141. data/assets/themes/j1/modules/jquery/js/jquery.js +7 -4
  142. data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -2
  143. data/assets/themes/j1/modules/jquery/js/require.js +2145 -0
  144. data/assets/themes/j1/modules/jquery/js/require.min.js +5 -0
  145. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +8 -9
  146. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +8 -31
  147. data/assets/themes/j1/modules/lightGallery/css/themes/uno.css +7 -8
  148. data/assets/themes/j1/modules/lightGallery/css/themes/uno.min.css +8 -10
  149. data/assets/themes/j1/modules/lightbox/css/lightbox.css +11 -12
  150. data/assets/themes/j1/modules/lightbox/css/lightbox.min.css +11 -12
  151. data/assets/themes/j1/modules/lightbox/css/theme/uno.css +7 -7
  152. data/assets/themes/j1/modules/lightbox/css/theme/uno.min.css +7 -8
  153. data/assets/themes/j1/modules/lightbox/js/lightbox.js +11 -12
  154. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +11 -27
  155. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.css +32 -0
  156. data/assets/themes/j1/modules/lunrSearch/css/lunr_search.min.css +25 -0
  157. data/assets/themes/j1/modules/lunrSearch/js/dateformat.js +125 -0
  158. data/assets/themes/j1/modules/lunrSearch/js/dateformat.min.js +14 -0
  159. data/assets/themes/j1/modules/lunrSearch/js/lunr.js +3475 -0
  160. data/assets/themes/j1/modules/lunrSearch/js/lunr.min.js +51 -0
  161. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.js +184 -0
  162. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +17 -0
  163. data/assets/themes/j1/modules/lunrSearch/js/mustache.js +772 -0
  164. data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +772 -0
  165. data/assets/themes/j1/modules/lunrSearch/js/uri.js +2340 -0
  166. data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +93 -0
  167. data/assets/themes/j1/modules/materialize/js/anime.js +1283 -0
  168. data/assets/themes/j1/modules/materialize/js/anime.min.js +34 -0
  169. data/assets/themes/j1/modules/materialize/js/autocomplete.js +450 -0
  170. data/assets/themes/j1/modules/materialize/js/buttons.js +409 -0
  171. data/assets/themes/j1/modules/materialize/js/cards.js +40 -0
  172. data/assets/themes/j1/modules/materialize/js/carousel.js +717 -0
  173. data/assets/themes/j1/modules/materialize/js/cash-dom.js +1044 -0
  174. data/assets/themes/j1/modules/materialize/js/cash.js +960 -0
  175. data/assets/themes/j1/modules/materialize/js/characterCounter.js +136 -0
  176. data/assets/themes/j1/modules/materialize/js/chips.js +481 -0
  177. data/assets/themes/j1/modules/materialize/js/collapsible.js +275 -0
  178. data/assets/themes/j1/modules/materialize/js/component.js +44 -0
  179. data/assets/themes/j1/modules/materialize/js/datepicker.js +975 -0
  180. data/assets/themes/j1/modules/materialize/js/dropdown.js +617 -0
  181. data/assets/themes/j1/modules/materialize/js/forms.js +275 -0
  182. data/assets/themes/j1/modules/materialize/js/global.js +427 -0
  183. data/assets/themes/j1/modules/materialize/js/materialbox.js +453 -0
  184. data/assets/themes/j1/modules/materialize/js/modal.js +382 -0
  185. data/assets/themes/j1/modules/materialize/js/parallax.js +138 -0
  186. data/assets/themes/j1/modules/materialize/js/pushpin.js +145 -0
  187. data/assets/themes/j1/modules/materialize/js/range.js +263 -0
  188. data/assets/themes/j1/modules/materialize/js/ripple.js +335 -0
  189. data/assets/themes/j1/modules/materialize/js/scrollspy.js +295 -0
  190. data/assets/themes/j1/modules/materialize/js/select.js +432 -0
  191. data/assets/themes/j1/modules/materialize/js/sidenav.js +580 -0
  192. data/assets/themes/j1/modules/materialize/js/slider.js +359 -0
  193. data/assets/themes/j1/modules/materialize/js/tabs.js +402 -0
  194. data/assets/themes/j1/modules/materialize/js/tapTarget.js +314 -0
  195. data/assets/themes/j1/modules/materialize/js/timepicker.js +647 -0
  196. data/assets/themes/j1/modules/materialize/js/toasts.js +310 -0
  197. data/assets/themes/j1/modules/materialize/js/tooltip.js +303 -0
  198. data/assets/themes/j1/modules/materialize/js/waves.js +335 -0
  199. data/assets/themes/j1/modules/materialize/scss/components/_badges.scss +55 -0
  200. data/assets/themes/j1/modules/materialize/scss/components/_buttons.scss +322 -0
  201. data/assets/themes/j1/modules/materialize/scss/components/_cards.scss +195 -0
  202. data/assets/themes/j1/modules/materialize/scss/components/_carousel.scss +90 -0
  203. data/assets/themes/j1/modules/materialize/scss/components/_chips.scss +90 -0
  204. data/assets/themes/j1/modules/materialize/scss/components/_collapsible.scss +91 -0
  205. data/assets/themes/j1/modules/materialize/scss/components/_color-classes.scss +32 -0
  206. data/assets/themes/j1/modules/materialize/scss/components/_color-variables.scss +370 -0
  207. data/assets/themes/j1/modules/materialize/scss/components/_datepicker.scss +191 -0
  208. data/assets/themes/j1/modules/materialize/scss/components/_dropdown.scss +85 -0
  209. data/assets/themes/j1/modules/materialize/scss/components/_global.scss +769 -0
  210. data/assets/themes/j1/modules/materialize/scss/components/_grid.scss +156 -0
  211. data/assets/themes/j1/modules/materialize/scss/components/_icons-material-design.scss +5 -0
  212. data/assets/themes/j1/modules/materialize/scss/components/_materialbox.scss +43 -0
  213. data/assets/themes/j1/modules/materialize/scss/components/_modal.scss +94 -0
  214. data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +208 -0
  215. data/assets/themes/j1/modules/materialize/scss/components/_normalize.scss +447 -0
  216. data/assets/themes/j1/modules/materialize/scss/components/_preloader.scss +334 -0
  217. data/assets/themes/j1/modules/materialize/scss/components/_pulse.scss +34 -0
  218. data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +216 -0
  219. data/assets/themes/j1/modules/materialize/scss/components/_slider.scss +92 -0
  220. data/assets/themes/j1/modules/materialize/scss/components/_table_of_contents.scss +33 -0
  221. data/assets/themes/j1/modules/materialize/scss/components/_tabs.scss +99 -0
  222. data/assets/themes/j1/modules/materialize/scss/components/_tapTarget.scss +103 -0
  223. data/assets/themes/j1/modules/materialize/scss/components/_timepicker.scss +183 -0
  224. data/assets/themes/j1/modules/materialize/scss/components/_toast.scss +58 -0
  225. data/assets/themes/j1/modules/materialize/scss/components/_tooltip.scss +32 -0
  226. data/assets/themes/j1/modules/materialize/scss/components/_transitions.scss +13 -0
  227. data/assets/themes/j1/modules/materialize/scss/components/_typography.scss +60 -0
  228. data/assets/themes/j1/modules/materialize/scss/components/_variables.scss +349 -0
  229. data/assets/themes/j1/modules/materialize/scss/components/_waves.scss +114 -0
  230. data/assets/themes/j1/modules/materialize/scss/components/forms/_checkboxes.scss +200 -0
  231. data/assets/themes/j1/modules/materialize/scss/components/forms/_file-input.scss +44 -0
  232. data/assets/themes/j1/modules/materialize/scss/components/forms/_forms.scss +22 -0
  233. data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +354 -0
  234. data/assets/themes/j1/modules/materialize/scss/components/forms/_radio-buttons.scss +115 -0
  235. data/assets/themes/j1/modules/materialize/scss/components/forms/_range.scss +161 -0
  236. data/assets/themes/j1/modules/materialize/scss/components/forms/_select.scss +180 -0
  237. data/assets/themes/j1/modules/materialize/scss/components/forms/_switches.scss +89 -0
  238. data/assets/themes/j1/modules/materialize/scss/materialize.scss +41 -0
  239. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +82 -0
  240. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +15 -0
  241. data/{lib/starter_web/collections/posts/private → assets/themes/j1/modules/mdiPreviewer/js}/readme +0 -0
  242. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.css +3 -3
  243. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.min.css +37 -11
  244. data/assets/themes/j1/modules/popper/js/popper.js +1 -1
  245. data/assets/themes/j1/modules/popper/js/popper.js.map +1 -1
  246. data/assets/themes/j1/modules/popper/js/popper.min.js.map +1 -1
  247. data/assets/themes/j1/modules/rouge/js/select.js +25 -0
  248. data/assets/themes/j1/modules/rtable/LICENSE +22 -0
  249. data/assets/themes/j1/modules/rtable/README.md +418 -0
  250. data/assets/themes/j1/modules/rtable/css/tablesaw.stackonly.css +148 -0
  251. data/assets/themes/j1/modules/rtable/css/theme/uno.css +191 -0
  252. data/assets/themes/j1/modules/rtable/css/theme/uno.min.css +191 -0
  253. data/assets/themes/j1/modules/rtable/js/rtable.js +692 -0
  254. data/assets/themes/j1/modules/rtable/js/rtable.min.js +690 -0
  255. data/assets/themes/j1/modules/rtable/js/tablesaw-init.js +18 -0
  256. data/assets/themes/j1/modules/rtable/js/tablesaw.stackonly.js +2371 -0
  257. data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.js +46 -38
  258. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +26 -0
  259. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +153 -0
  260. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +19 -0
  261. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +12 -13
  262. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +12 -268
  263. data/assets/themes/j1/modules/twemoji/js/twemoji.js +11 -20
  264. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +11 -17
  265. data/lib/j1/version.rb +1 -1
  266. data/lib/j1_app/j1_auth_manager/config.rb +10 -5
  267. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb +5 -5
  268. data/lib/starter_web/Gemfile +12 -16
  269. data/lib/starter_web/_config.yml +163 -23
  270. data/lib/starter_web/_data/apps/carousel.yml +2 -2
  271. data/lib/starter_web/_data/blocks/banner.yml +46 -36
  272. data/lib/starter_web/_data/blocks/defaults/banner.yml +14 -13
  273. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  274. data/lib/starter_web/_data/blocks/defaults/panel.yml +3 -2
  275. data/lib/starter_web/_data/blocks/footer.yml +1 -1
  276. data/lib/starter_web/_data/blocks/panel.yml +43 -37
  277. data/lib/starter_web/_data/{template_settings.yml → j1_config.yml} +62 -11
  278. data/lib/starter_web/_data/layouts/home.yml +21 -31
  279. data/lib/starter_web/_data/layouts/page.yml +10 -0
  280. data/lib/starter_web/_data/layouts/post.yml +10 -0
  281. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +3 -1
  282. data/lib/starter_web/_data/modules/defaults/{ssm.yml → fam.yml} +12 -15
  283. data/lib/starter_web/_data/modules/defaults/lunr_search.yml +171 -0
  284. data/lib/starter_web/_data/modules/defaults/navigator.yml +9 -9
  285. data/lib/starter_web/_data/modules/defaults/themer.yml +9 -13
  286. data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -2
  287. data/lib/starter_web/_data/modules/fam.yml +158 -0
  288. data/lib/starter_web/_data/modules/{back2top.yml → lunr_search.yml} +15 -9
  289. data/lib/starter_web/_data/modules/navigator.yml +2 -2
  290. data/lib/starter_web/_data/modules/navigator_menu.yml +60 -9
  291. data/lib/starter_web/_data/modules/themer.yml +0 -17
  292. data/lib/starter_web/_data/modules/toccer.yml +0 -73
  293. data/lib/starter_web/_data/private.yml +56 -108
  294. data/lib/starter_web/_data/resources.yml +238 -90
  295. data/lib/starter_web/_includes/attributes.asciidoc +194 -0
  296. data/lib/starter_web/_includes/breadcrumbs.html +11 -0
  297. data/lib/starter_web/_includes/documents/licenses/mit.asciidoc +19 -0
  298. data/lib/starter_web/{collections/posts/protected → _includes/documents}/readme +0 -0
  299. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +45 -0
  300. data/lib/starter_web/_includes/tables/template_variables.asciidoc +46 -0
  301. data/lib/starter_web/_plugins/debug.rb +0 -1
  302. data/lib/starter_web/_plugins/filters.rb +0 -1
  303. data/lib/starter_web/_plugins/{lorem-inline.rb → lorem_inline.rb} +1 -2
  304. data/lib/starter_web/_plugins/lunr_index.rb +313 -0
  305. data/lib/starter_web/_plugins/prettify.rb +0 -3
  306. data/lib/starter_web/_plugins/simple_search_filter.rb +0 -1
  307. data/lib/starter_web/_plugins/symlink_watcher.rb +2 -3
  308. data/lib/starter_web/assets/images/modules/attics/banner/lunr-banner-1280x800.jpg +0 -0
  309. data/lib/starter_web/assets/images/modules/attics/katie-moum-1920x1280.jpg +0 -0
  310. data/lib/starter_web/assets/images/modules/attics/tldr-1920x800.jpg +0 -0
  311. data/lib/starter_web/assets/images/modules/icons/j1/favicon.ico +0 -0
  312. data/lib/starter_web/assets/images/modules/icons/j1/j1-256x256.png +0 -0
  313. data/lib/starter_web/assets/images/modules/icons/j1/j1-32x32.ico +0 -0
  314. data/lib/starter_web/assets/images/modules/icons/j1/j1-512x512.png +0 -0
  315. data/lib/starter_web/assets/images/modules/icons/j1/j1-64x64.png +0 -0
  316. data/lib/starter_web/assets/images/modules/icons/j1/j1.ico +0 -0
  317. data/lib/starter_web/assets/images/modules/icons/j1/scalable/j1.svg +31 -35
  318. data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
  319. data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
  320. data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
  321. data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
  322. data/{assets/README.md → lib/starter_web/collections/posts/private/_posts/readme} +0 -0
  323. data/lib/starter_web/collections/posts/protected/_posts/readme +0 -0
  324. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +70 -72
  325. data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +16 -6
  326. data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +37 -28
  327. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +28 -24
  328. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +38 -0
  329. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/readme +0 -0
  330. data/lib/starter_web/collections/posts/public/featured/_posts/{000_includes → _includes/documents}/unsplash-badge.asciidoc +0 -0
  331. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/tables/readme +0 -0
  332. data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +494 -502
  333. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +144 -0
  334. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +146 -0
  335. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +146 -0
  336. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +146 -0
  337. data/lib/starter_web/collections/posts/public/{featured/_posts/000_includes → series/_posts/_includes}/attributes.asciidoc +8 -18
  338. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/100-docker-using-shared-folders.asciidoc +0 -0
  339. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/loop.sh +0 -0
  340. data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/tables/debug_variables.asciidoc +0 -0
  341. data/lib/starter_web/collections/posts/public/test_posts/_posts/2020-09-11-test_post.adoc +218 -0
  342. data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → test_posts/_posts/_includes}/attributes.asciidoc +9 -21
  343. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/documents/readme +0 -0
  344. data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → test_posts/_posts/_includes}/tables/debug_variables.asciidoc +0 -0
  345. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/tables/readme +0 -0
  346. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +16 -8
  347. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -7
  348. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -6
  349. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +37 -0
  350. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/documents/readme +0 -0
  351. data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/tables/readme +0 -0
  352. data/lib/starter_web/index.html +16 -10
  353. data/lib/starter_web/package.json +5 -2
  354. data/lib/starter_web/pages/protected/site_search.adoc +8 -19
  355. data/lib/starter_web/pages/public/about/about_site.adoc +0 -2
  356. data/lib/starter_web/pages/public/about/become_a_patron.adoc +1 -3
  357. data/lib/starter_web/pages/public/blog/navigator/archive.html +21 -20
  358. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +21 -23
  359. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +22 -21
  360. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +19 -15
  361. data/lib/starter_web/pages/public/blog/navigator/index.html +6 -2
  362. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +15 -21
  363. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +17 -24
  364. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +16 -23
  365. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/attributes.asciidoc +15 -13
  366. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +31 -0
  367. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/200_preparations.asciidoc +0 -0
  368. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/300_first_awesome_web.asciidoc +0 -0
  369. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/parts.asciidoc +1 -1
  370. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +48 -0
  371. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -0
  372. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +94 -108
  373. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +52 -60
  374. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +60 -72
  375. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +84 -90
  376. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +118 -138
  377. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +34 -42
  378. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +286 -96
  379. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +145 -59
  380. data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +237 -0
  381. data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +302 -0
  382. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/attributes.asciidoc +10 -29
  383. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
  384. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_info.asciidoc +2 -2
  385. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_left_warning.asciidoc +2 -2
  386. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_right_danger.asciidoc +2 -2
  387. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_central_success.asciidoc +2 -2
  388. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_left_info.asciidoc +2 -2
  389. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_right_success.asciidoc +2 -2
  390. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_table_3_column.asciidoc +1 -1
  391. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_info.asciidoc +2 -2
  392. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_left_info.asciidoc +2 -2
  393. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_right_success.asciidoc +2 -2
  394. data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/419_advanced_modals_demo.asciidoc +16 -16
  395. data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
  396. data/lib/starter_web/pages/public/learn/{whats_up.adoc → where_to_go.adoc} +26 -44
  397. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -2
  398. data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -1
  399. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +7 -12
  400. data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +2 -1
  401. data/lib/starter_web/pages/public/legal/de/500_support.adoc +2 -1
  402. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +30 -27
  403. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +8 -5
  404. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +12 -8
  405. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +32 -31
  406. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +11 -3
  407. data/lib/starter_web/pages/public/legal/en/500_support.adoc +8 -1
  408. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +1 -1
  409. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +66 -65
  410. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/attributes.asciidoc +22 -8
  411. data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +19 -0
  412. data/lib/starter_web/pages/public/previewer/_includes/documents/readme +0 -0
  413. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
  414. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
  415. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/120_relative_sizes.asciidoc +1 -1
  416. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/200_rotate.asciidoc +1 -1
  417. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/300_flip.asciidoc +1 -1
  418. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/400_spin_pulsed.asciidoc +1 -1
  419. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
  420. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
  421. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
  422. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
  423. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
  424. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
  425. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
  426. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/200_rotate.asciidoc +1 -1
  427. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/300_flip.asciidoc +1 -1
  428. data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
  429. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +1374 -596
  430. data/lib/starter_web/pages/public/previewer/iframer.adoc +37 -35
  431. data/lib/starter_web/pages/public/previewer/justified_gallery.html +2 -1
  432. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +12 -20
  433. data/lib/starter_web/pages/public/previewer/rouge.adoc +202 -0
  434. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +24 -30
  435. data/lib/starter_web/pages/public/test_pages/_includes/attributes.asciidoc +49 -0
  436. data/lib/starter_web/pages/public/{learn/roundtrip/000_includes → test_pages/_includes}/documents/100_gistblock.asciidoc +0 -0
  437. data/lib/starter_web/pages/public/test_pages/_includes/tables/000_bem_specifiers.asciidoc +22 -0
  438. data/lib/starter_web/pages/public/test_pages/_includes/tables/000_specifier_examples.asciidoc +56 -0
  439. data/lib/starter_web/pages/public/test_pages/breadcrumbs_tester.adoc +62 -0
  440. data/lib/starter_web/pages/public/test_pages/deck_of_posts.adoc +165 -0
  441. data/lib/starter_web/pages/public/test_pages/floating_actions_button.adoc +523 -0
  442. data/lib/starter_web/pages/public/{learn/examples → test_pages}/floating_ad.adoc +8 -21
  443. data/lib/starter_web/pages/public/{learn/examples → test_pages}/floating_div.adoc +25 -38
  444. data/lib/starter_web/pages/public/test_pages/lunr_tester.adoc +89 -0
  445. data/lib/starter_web/pages/public/test_pages/nav_pagination_tester.adoc +284 -0
  446. data/lib/starter_web/pages/public/test_pages/page_attribute_tester.adoc +196 -0
  447. data/lib/starter_web/pages/public/test_pages/responsive_images.adoc +213 -0
  448. data/lib/starter_web/pages/public/test_pages/responsive_tables.adoc +210 -0
  449. data/lib/starter_web/pages/public/test_pages/toccer_tester.adoc +2245 -0
  450. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/attributes.asciidoc +0 -0
  451. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/100_gistblock.asciidoc +0 -0
  452. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_info.asciidoc +0 -0
  453. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_left_warning.asciidoc +0 -0
  454. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_right_danger.asciidoc +0 -0
  455. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_central_success.asciidoc +0 -0
  456. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_full_height_left_info.asciidoc +0 -0
  457. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_full_height_right_success.asciidoc +0 -0
  458. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_table_3_column.asciidoc +1 -1
  459. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_info.asciidoc +0 -0
  460. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_left_info.asciidoc +0 -0
  461. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_right_success.asciidoc +0 -0
  462. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/419_advanced_modals_html.asciidoc +0 -0
  463. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_test_youtube_video.adoc +0 -0
  464. data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/100_basic_video.adoc +0 -0
  465. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  466. data/lib/starter_web/utilsrv/package.json +1 -1
  467. metadata +263 -145
  468. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc.org +0 -40
  469. data/assets/data/jupyter/notebooks/_html/template.full.head.html +0 -75
  470. data/assets/data/jupyter/notebooks/_html/visualisation.html +0 -968
  471. data/assets/data/jupyter/notebooks/html/template.html +0 -50
  472. data/assets/data/jupyter/notebooks/html/visualisation.ok.html +0 -949
  473. data/assets/data/jupyter/notebooks/tutorial.ipynb +0 -169
  474. data/assets/data/jupyter/notebooks/visualisation.ipynb +0 -9413
  475. data/assets/data/search.json +0 -165
  476. data/assets/data/ssm.html +0 -242
  477. data/assets/themes/j1/adapter/js/back2top.js +0 -233
  478. data/assets/themes/j1/core/css/material-design-icons.min.css +0 -1
  479. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js.org +0 -1
  480. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css +0 -10278
  481. data/assets/themes/j1/modules/bootstrap/css/bootstrap.css.map +0 -1
  482. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css +0 -7
  483. data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css.map +0 -1
  484. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js +0 -4420
  485. data/assets/themes/j1/modules/bootstrap/js/bootstrap.js.map +0 -1
  486. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js +0 -7
  487. data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js.map +0 -1
  488. data/assets/themes/j1/modules/bsDatepicker/css/datepicker.css +0 -203
  489. data/assets/themes/j1/modules/bsDatepicker/css/theme/uno.css +0 -235
  490. data/assets/themes/j1/modules/bsDatepicker/js/datepicker.js +0 -509
  491. data/assets/themes/j1/modules/bsDatepicker/less/datepicker.less +0 -122
  492. data/assets/themes/j1/modules/bsThemeSwitcher/js/switcher.min.js +0 -20
  493. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +0 -468
  494. data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +0 -6
  495. data/assets/themes/j1/modules/jqMouseWheel/README.md +0 -76
  496. data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.js +0 -221
  497. data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.min.js +0 -9
  498. data/assets/themes/j1/modules/noUISlider/LICENSE +0 -13
  499. data/assets/themes/j1/modules/noUISlider/css/nouislider.css +0 -260
  500. data/assets/themes/j1/modules/noUISlider/css/nouislider.min.css +0 -1
  501. data/assets/themes/j1/modules/noUISlider/js/nouislider.js +0 -2312
  502. data/assets/themes/j1/modules/noUISlider/js/nouislider.min.js +0 -3
  503. data/assets/themes/j1/modules/polyfills/js/msie.js +0 -140
  504. data/assets/themes/j1/modules/tocbot/css/theme/uno.css +0 -89
  505. data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +0 -89
  506. data/assets/themes/j1/modules/tocbot/css/tocbot.css +0 -75
  507. data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +0 -19
  508. data/assets/themes/j1/modules/tocbot/js/tocbot.js +0 -19
  509. data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +0 -19
  510. data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -146
  511. data/lib/starter_web/_data/modules/defaults/cookie_consent.yml +0 -132
  512. data/lib/starter_web/_data/modules/defaults/stickybits.yml +0 -36
  513. data/lib/starter_web/_data/modules/ssm.yml +0 -142
  514. data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
  515. data/lib/starter_web/collections/posts/public/series/_posts/000_includes/attributes.asciidoc +0 -66
  516. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/000_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
  517. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour.1.asciidoc +0 -120
  518. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour.adoc +0 -144
  519. data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour_api.adoc +0 -642
  520. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/attributes.asciidoc +0 -69
  521. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/documents/100_buttons.asciidoc +0 -170
  522. data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/mdb_previewer.adoc +0 -52
  523. data/lib/starter_web/pages/public/learn/roundtrip/bs_tour.js +0 -98
@@ -0,0 +1,960 @@
1
+ /*! cash-dom 1.3.5, https://github.com/kenwheeler/cash @license MIT */
2
+ (function (factory) {
3
+ window.cash = factory();
4
+ })(function () {
5
+ var doc = document, win = window, ArrayProto = Array.prototype, slice = ArrayProto.slice, filter = ArrayProto.filter, push = ArrayProto.push;
6
+
7
+ var noop = function () {}, isFunction = function (item) {
8
+ // @see https://crbug.com/568448
9
+ return typeof item === typeof noop && item.call;
10
+ }, isString = function (item) {
11
+ return typeof item === typeof "";
12
+ };
13
+
14
+ var idMatch = /^#[\w-]*$/, classMatch = /^\.[\w-]*$/, htmlMatch = /<.+>/, singlet = /^\w+$/;
15
+
16
+ function find(selector, context) {
17
+ context = context || doc;
18
+ var elems = (classMatch.test(selector) ? context.getElementsByClassName(selector.slice(1)) : singlet.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector));
19
+ return elems;
20
+ }
21
+
22
+ var frag;
23
+ function parseHTML(str) {
24
+ if (!frag) {
25
+ frag = doc.implementation.createHTMLDocument(null);
26
+ var base = frag.createElement("base");
27
+ base.href = doc.location.href;
28
+ frag.head.appendChild(base);
29
+ }
30
+
31
+ frag.body.innerHTML = str;
32
+
33
+ return frag.body.childNodes;
34
+ }
35
+
36
+ function onReady(fn) {
37
+ if (doc.readyState !== "loading") {
38
+ fn();
39
+ } else {
40
+ doc.addEventListener("DOMContentLoaded", fn);
41
+ }
42
+ }
43
+
44
+ function Init(selector, context) {
45
+ if (!selector) {
46
+ return this;
47
+ }
48
+
49
+ // If already a cash collection, don't do any further processing
50
+ if (selector.cash && selector !== win) {
51
+ return selector;
52
+ }
53
+
54
+ var elems = selector, i = 0, length;
55
+
56
+ if (isString(selector)) {
57
+ elems = (idMatch.test(selector) ?
58
+ // If an ID use the faster getElementById check
59
+ doc.getElementById(selector.slice(1)) : htmlMatch.test(selector) ?
60
+ // If HTML, parse it into real elements
61
+ parseHTML(selector) :
62
+ // else use `find`
63
+ find(selector, context));
64
+
65
+ // If function, use as shortcut for DOM ready
66
+ } else if (isFunction(selector)) {
67
+ onReady(selector);return this;
68
+ }
69
+
70
+ if (!elems) {
71
+ return this;
72
+ }
73
+
74
+ // If a single DOM element is passed in or received via ID, return the single element
75
+ if (elems.nodeType || elems === win) {
76
+ this[0] = elems;
77
+ this.length = 1;
78
+ } else {
79
+ // Treat like an array and loop through each item.
80
+ length = this.length = elems.length;
81
+ for (; i < length; i++) {
82
+ this[i] = elems[i];
83
+ }
84
+ }
85
+
86
+ return this;
87
+ }
88
+
89
+ function cash(selector, context) {
90
+ return new Init(selector, context);
91
+ }
92
+
93
+ var fn = cash.fn = cash.prototype = Init.prototype = { // jshint ignore:line
94
+ cash: true,
95
+ length: 0,
96
+ push: push,
97
+ splice: ArrayProto.splice,
98
+ map: ArrayProto.map,
99
+ init: Init
100
+ };
101
+
102
+ Object.defineProperty(fn, "constructor", { value: cash });
103
+
104
+ cash.parseHTML = parseHTML;
105
+ cash.noop = noop;
106
+ cash.isFunction = isFunction;
107
+ cash.isString = isString;
108
+
109
+ cash.extend = fn.extend = function (target) {
110
+ target = target || {};
111
+
112
+ var args = slice.call(arguments), length = args.length, i = 1;
113
+
114
+ if (args.length === 1) {
115
+ target = this;
116
+ i = 0;
117
+ }
118
+
119
+ for (; i < length; i++) {
120
+ if (!args[i]) {
121
+ continue;
122
+ }
123
+ for (var key in args[i]) {
124
+ if (args[i].hasOwnProperty(key)) {
125
+ target[key] = args[i][key];
126
+ }
127
+ }
128
+ }
129
+
130
+ return target;
131
+ };
132
+
133
+ function each(collection, callback) {
134
+ var l = collection.length, i = 0;
135
+
136
+ for (; i < l; i++) {
137
+ if (callback.call(collection[i], collection[i], i, collection) === false) {
138
+ break;
139
+ }
140
+ }
141
+ }
142
+
143
+ function matches(el, selector) {
144
+ var m = el && (el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector);
145
+ return !!m && m.call(el, selector);
146
+ }
147
+
148
+ function getCompareFunction(selector) {
149
+ return (
150
+ /* Use browser's `matches` function if string */
151
+ isString(selector) ? matches :
152
+ /* Match a cash element */
153
+ selector.cash ? function (el) {
154
+ return selector.is(el);
155
+ } :
156
+ /* Direct comparison */
157
+ function (el, selector) {
158
+ return el === selector;
159
+ });
160
+ }
161
+
162
+ function unique(collection) {
163
+ return cash(slice.call(collection).filter(function (item, index, self) {
164
+ return self.indexOf(item) === index;
165
+ }));
166
+ }
167
+
168
+ cash.extend({
169
+ merge: function (first, second) {
170
+ var len = +second.length, i = first.length, j = 0;
171
+
172
+ for (; j < len; i++, j++) {
173
+ first[i] = second[j];
174
+ }
175
+
176
+ first.length = i;
177
+ return first;
178
+ },
179
+
180
+ each: each,
181
+ matches: matches,
182
+ unique: unique,
183
+ isArray: Array.isArray,
184
+ isNumeric: function (n) {
185
+ return !isNaN(parseFloat(n)) && isFinite(n);
186
+ }
187
+
188
+ });
189
+
190
+ var uid = cash.uid = "_cash" + Date.now();
191
+
192
+ function getDataCache(node) {
193
+ return (node[uid] = node[uid] || {});
194
+ }
195
+
196
+ function setData(node, key, value) {
197
+ return (getDataCache(node)[key] = value);
198
+ }
199
+
200
+ function getData(node, key) {
201
+ var c = getDataCache(node);
202
+ if (c[key] === undefined) {
203
+ c[key] = node.dataset ? node.dataset[key] : cash(node).attr("data-" + key);
204
+ }
205
+ return c[key];
206
+ }
207
+
208
+ function removeData(node, key) {
209
+ var c = getDataCache(node);
210
+ if (c) {
211
+ delete c[key];
212
+ } else if (node.dataset) {
213
+ delete node.dataset[key];
214
+ } else {
215
+ cash(node).removeAttr("data-" + name);
216
+ }
217
+ }
218
+
219
+ fn.extend({
220
+ data: function (name, value) {
221
+ if (isString(name)) {
222
+ return (value === undefined ? getData(this[0], name) : this.each(function (v) {
223
+ return setData(v, name, value);
224
+ }));
225
+ }
226
+
227
+ for (var key in name) {
228
+ this.data(key, name[key]);
229
+ }
230
+
231
+ return this;
232
+ },
233
+
234
+ removeData: function (key) {
235
+ return this.each(function (v) {
236
+ return removeData(v, key);
237
+ });
238
+ }
239
+
240
+ });
241
+
242
+ var notWhiteMatch = /\S+/g;
243
+
244
+ function getClasses(c) {
245
+ return isString(c) && c.match(notWhiteMatch);
246
+ }
247
+
248
+ function hasClass(v, c) {
249
+ return (v.classList ? v.classList.contains(c) : new RegExp("(^| )" + c + "( |$)", "gi").test(v.className));
250
+ }
251
+
252
+ function addClass(v, c, spacedName) {
253
+ if (v.classList) {
254
+ v.classList.add(c);
255
+ } else if (spacedName.indexOf(" " + c + " ")) {
256
+ v.className += " " + c;
257
+ }
258
+ }
259
+
260
+ function removeClass(v, c) {
261
+ if (v.classList) {
262
+ v.classList.remove(c);
263
+ } else {
264
+ v.className = v.className.replace(c, "");
265
+ }
266
+ }
267
+
268
+ fn.extend({
269
+ addClass: function (c) {
270
+ var classes = getClasses(c);
271
+
272
+ return (classes ? this.each(function (v) {
273
+ var spacedName = " " + v.className + " ";
274
+ each(classes, function (c) {
275
+ addClass(v, c, spacedName);
276
+ });
277
+ }) : this);
278
+ },
279
+
280
+ attr: function (name, value) {
281
+ if (!name) {
282
+ return undefined;
283
+ }
284
+
285
+ if (isString(name)) {
286
+ if (value === undefined) {
287
+ return this[0] ? this[0].getAttribute ? this[0].getAttribute(name) : this[0][name] : undefined;
288
+ }
289
+
290
+ return this.each(function (v) {
291
+ if (v.setAttribute) {
292
+ v.setAttribute(name, value);
293
+ } else {
294
+ v[name] = value;
295
+ }
296
+ });
297
+ }
298
+
299
+ for (var key in name) {
300
+ this.attr(key, name[key]);
301
+ }
302
+
303
+ return this;
304
+ },
305
+
306
+ hasClass: function (c) {
307
+ var check = false, classes = getClasses(c);
308
+ if (classes && classes.length) {
309
+ this.each(function (v) {
310
+ check = hasClass(v, classes[0]);
311
+ return !check;
312
+ });
313
+ }
314
+ return check;
315
+ },
316
+
317
+ prop: function (name, value) {
318
+ if (isString(name)) {
319
+ return (value === undefined ? this[0][name] : this.each(function (v) {
320
+ v[name] = value;
321
+ }));
322
+ }
323
+
324
+ for (var key in name) {
325
+ this.prop(key, name[key]);
326
+ }
327
+
328
+ return this;
329
+ },
330
+
331
+ removeAttr: function (name) {
332
+ return this.each(function (v) {
333
+ if (v.removeAttribute) {
334
+ v.removeAttribute(name);
335
+ } else {
336
+ delete v[name];
337
+ }
338
+ });
339
+ },
340
+
341
+ removeClass: function (c) {
342
+ if (!arguments.length) {
343
+ return this.attr("class", "");
344
+ }
345
+ var classes = getClasses(c);
346
+ return (classes ? this.each(function (v) {
347
+ each(classes, function (c) {
348
+ removeClass(v, c);
349
+ });
350
+ }) : this);
351
+ },
352
+
353
+ removeProp: function (name) {
354
+ return this.each(function (v) {
355
+ delete v[name];
356
+ });
357
+ },
358
+
359
+ toggleClass: function (c, state) {
360
+ if (state !== undefined) {
361
+ return this[state ? "addClass" : "removeClass"](c);
362
+ }
363
+ var classes = getClasses(c);
364
+ return (classes ? this.each(function (v) {
365
+ var spacedName = " " + v.className + " ";
366
+ each(classes, function (c) {
367
+ if (hasClass(v, c)) {
368
+ removeClass(v, c);
369
+ } else {
370
+ addClass(v, c, spacedName);
371
+ }
372
+ });
373
+ }) : this);
374
+ } });
375
+
376
+ fn.extend({
377
+ add: function (selector, context) {
378
+ return unique(cash.merge(this, cash(selector, context)));
379
+ },
380
+
381
+ each: function (callback) {
382
+ each(this, callback);
383
+ return this;
384
+ },
385
+
386
+ eq: function (index) {
387
+ return cash(this.get(index));
388
+ },
389
+
390
+ filter: function (selector) {
391
+ if (!selector) {
392
+ return this;
393
+ }
394
+
395
+ var comparator = (isFunction(selector) ? selector : getCompareFunction(selector));
396
+
397
+ return cash(filter.call(this, function (e) {
398
+ return comparator(e, selector);
399
+ }));
400
+ },
401
+
402
+ first: function () {
403
+ return this.eq(0);
404
+ },
405
+
406
+ get: function (index) {
407
+ if (index === undefined) {
408
+ return slice.call(this);
409
+ }
410
+ return (index < 0 ? this[index + this.length] : this[index]);
411
+ },
412
+
413
+ index: function (elem) {
414
+ var child = elem ? cash(elem)[0] : this[0], collection = elem ? this : cash(child).parent().children();
415
+ return slice.call(collection).indexOf(child);
416
+ },
417
+
418
+ last: function () {
419
+ return this.eq(-1);
420
+ }
421
+
422
+ });
423
+
424
+ var camelCase = (function () {
425
+ var camelRegex = /(?:^\w|[A-Z]|\b\w)/g, whiteSpace = /[\s-_]+/g;
426
+ return function (str) {
427
+ return str.replace(camelRegex, function (letter, index) {
428
+ return letter[index === 0 ? "toLowerCase" : "toUpperCase"]();
429
+ }).replace(whiteSpace, "");
430
+ };
431
+ }());
432
+
433
+ var getPrefixedProp = (function () {
434
+ var cache = {}, doc = document, div = doc.createElement("div"), style = div.style;
435
+
436
+ return function (prop) {
437
+ prop = camelCase(prop);
438
+ if (cache[prop]) {
439
+ return cache[prop];
440
+ }
441
+
442
+ var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1), prefixes = ["webkit", "moz", "ms", "o"], props = (prop + " " + (prefixes).join(ucProp + " ") + ucProp).split(" ");
443
+
444
+ each(props, function (p) {
445
+ if (p in style) {
446
+ cache[p] = prop = cache[prop] = p;
447
+ return false;
448
+ }
449
+ });
450
+
451
+ return cache[prop];
452
+ };
453
+ }());
454
+
455
+ cash.prefixedProp = getPrefixedProp;
456
+ cash.camelCase = camelCase;
457
+
458
+ fn.extend({
459
+ css: function (prop, value) {
460
+ if (isString(prop)) {
461
+ prop = getPrefixedProp(prop);
462
+ return (arguments.length > 1 ? this.each(function (v) {
463
+ return v.style[prop] = value;
464
+ }) : win.getComputedStyle(this[0])[prop]);
465
+ }
466
+
467
+ for (var key in prop) {
468
+ this.css(key, prop[key]);
469
+ }
470
+
471
+ return this;
472
+ }
473
+
474
+ });
475
+
476
+ function compute(el, prop) {
477
+ return parseInt(win.getComputedStyle(el[0], null)[prop], 10) || 0;
478
+ }
479
+
480
+ each(["Width", "Height"], function (v) {
481
+ var lower = v.toLowerCase();
482
+
483
+ fn[lower] = function () {
484
+ return this[0].getBoundingClientRect()[lower];
485
+ };
486
+
487
+ fn["inner" + v] = function () {
488
+ return this[0]["client" + v];
489
+ };
490
+
491
+ fn["outer" + v] = function (margins) {
492
+ return this[0]["offset" + v] + (margins ? compute(this, "margin" + (v === "Width" ? "Left" : "Top")) + compute(this, "margin" + (v === "Width" ? "Right" : "Bottom")) : 0);
493
+ };
494
+ });
495
+
496
+ function registerEvent(node, eventName, callback) {
497
+ var eventCache = getData(node, "_cashEvents") || setData(node, "_cashEvents", {});
498
+ eventCache[eventName] = eventCache[eventName] || [];
499
+ eventCache[eventName].push(callback);
500
+ node.addEventListener(eventName, callback);
501
+ }
502
+
503
+ function removeEvent(node, eventName, callback) {
504
+ var events = getData(node, "_cashEvents"), eventCache = (events && events[eventName]), index;
505
+
506
+ if (!eventCache) {
507
+ return;
508
+ }
509
+
510
+ if (callback) {
511
+ node.removeEventListener(eventName, callback);
512
+ index = eventCache.indexOf(callback);
513
+ if (index >= 0) {
514
+ eventCache.splice(index, 1);
515
+ }
516
+ } else {
517
+ each(eventCache, function (event) {
518
+ node.removeEventListener(eventName, event);
519
+ });
520
+ eventCache = [];
521
+ }
522
+ }
523
+
524
+ fn.extend({
525
+ off: function (eventName, callback) {
526
+ return this.each(function (v) {
527
+ return removeEvent(v, eventName, callback);
528
+ });
529
+ },
530
+
531
+ on: function (eventName, delegate, callback, runOnce) {
532
+ // jshint ignore:line
533
+ var originalCallback;
534
+ if (!isString(eventName)) {
535
+ for (var key in eventName) {
536
+ this.on(key, delegate, eventName[key]);
537
+ }
538
+ return this;
539
+ }
540
+
541
+ if (isFunction(delegate)) {
542
+ callback = delegate;
543
+ delegate = null;
544
+ }
545
+
546
+ if (eventName === "ready") {
547
+ onReady(callback);
548
+ return this;
549
+ }
550
+
551
+ if (delegate) {
552
+ originalCallback = callback;
553
+ callback = function (e) {
554
+ var t = e.target;
555
+ while (!matches(t, delegate)) {
556
+ if (t === this || t === null) {
557
+ return (t = false);
558
+ }
559
+
560
+ t = t.parentNode;
561
+ }
562
+
563
+ if (t) {
564
+ originalCallback.call(t, e);
565
+ }
566
+ };
567
+ }
568
+
569
+ return this.each(function (v) {
570
+ var finalCallback = callback;
571
+ if (runOnce) {
572
+ finalCallback = function () {
573
+ callback.apply(this, arguments);
574
+ removeEvent(v, eventName, finalCallback);
575
+ };
576
+ }
577
+ registerEvent(v, eventName, finalCallback);
578
+ });
579
+ },
580
+
581
+ one: function (eventName, delegate, callback) {
582
+ return this.on(eventName, delegate, callback, true);
583
+ },
584
+
585
+ ready: onReady,
586
+
587
+ /**
588
+ * Modified
589
+ * Triggers browser event
590
+ * @param String eventName
591
+ * @param Object data - Add properties to event object
592
+ */
593
+ trigger: function (eventName, data) {
594
+ if (document.createEvent) {
595
+ let evt = document.createEvent('HTMLEvents');
596
+ evt.initEvent(eventName, true, false);
597
+ evt = this.extend(evt, data);
598
+ return this.each(function (v) {
599
+ return v.dispatchEvent(evt);
600
+ });
601
+ }
602
+ }
603
+
604
+ });
605
+
606
+ function encode(name, value) {
607
+ return "&" + encodeURIComponent(name) + "=" + encodeURIComponent(value).replace(/%20/g, "+");
608
+ }
609
+
610
+ function getSelectMultiple_(el) {
611
+ var values = [];
612
+ each(el.options, function (o) {
613
+ if (o.selected) {
614
+ values.push(o.value);
615
+ }
616
+ });
617
+ return values.length ? values : null;
618
+ }
619
+
620
+ function getSelectSingle_(el) {
621
+ var selectedIndex = el.selectedIndex;
622
+ return selectedIndex >= 0 ? el.options[selectedIndex].value : null;
623
+ }
624
+
625
+ function getValue(el) {
626
+ var type = el.type;
627
+ if (!type) {
628
+ return null;
629
+ }
630
+ switch (type.toLowerCase()) {
631
+ case "select-one":
632
+ return getSelectSingle_(el);
633
+ case "select-multiple":
634
+ return getSelectMultiple_(el);
635
+ case "radio":
636
+ return (el.checked) ? el.value : null;
637
+ case "checkbox":
638
+ return (el.checked) ? el.value : null;
639
+ default:
640
+ return el.value ? el.value : null;
641
+ }
642
+ }
643
+
644
+ fn.extend({
645
+ serialize: function () {
646
+ var query = "";
647
+
648
+ each(this[0].elements || this, function (el) {
649
+ if (el.disabled || el.tagName === "FIELDSET") {
650
+ return;
651
+ }
652
+ var name = el.name;
653
+ switch (el.type.toLowerCase()) {
654
+ case "file":
655
+ case "reset":
656
+ case "submit":
657
+ case "button":
658
+ break;
659
+ case "select-multiple":
660
+ var values = getValue(el);
661
+ if (values !== null) {
662
+ each(values, function (value) {
663
+ query += encode(name, value);
664
+ });
665
+ }
666
+ break;
667
+ default:
668
+ var value = getValue(el);
669
+ if (value !== null) {
670
+ query += encode(name, value);
671
+ }
672
+ }
673
+ });
674
+
675
+ return query.substr(1);
676
+ },
677
+
678
+ val: function (value) {
679
+ if (value === undefined) {
680
+ return getValue(this[0]);
681
+ }
682
+
683
+ return this.each(function (v) {
684
+ return v.value = value;
685
+ });
686
+ }
687
+
688
+ });
689
+
690
+ function insertElement(el, child, prepend) {
691
+ if (prepend) {
692
+ var first = el.childNodes[0];
693
+ el.insertBefore(child, first);
694
+ } else {
695
+ el.appendChild(child);
696
+ }
697
+ }
698
+
699
+ function insertContent(parent, child, prepend) {
700
+ var str = isString(child);
701
+
702
+ if (!str && child.length) {
703
+ each(child, function (v) {
704
+ return insertContent(parent, v, prepend);
705
+ });
706
+ return;
707
+ }
708
+
709
+ each(parent, str ? function (v) {
710
+ return v.insertAdjacentHTML(prepend ? "afterbegin" : "beforeend", child);
711
+ } : function (v, i) {
712
+ return insertElement(v, (i === 0 ? child : child.cloneNode(true)), prepend);
713
+ });
714
+ }
715
+
716
+ fn.extend({
717
+ after: function (selector) {
718
+ cash(selector).insertAfter(this);
719
+ return this;
720
+ },
721
+
722
+ append: function (content) {
723
+ insertContent(this, content);
724
+ return this;
725
+ },
726
+
727
+ appendTo: function (parent) {
728
+ insertContent(cash(parent), this);
729
+ return this;
730
+ },
731
+
732
+ before: function (selector) {
733
+ cash(selector).insertBefore(this);
734
+ return this;
735
+ },
736
+
737
+ clone: function () {
738
+ return cash(this.map(function (v) {
739
+ return v.cloneNode(true);
740
+ }));
741
+ },
742
+
743
+ empty: function () {
744
+ this.html("");
745
+ return this;
746
+ },
747
+
748
+ html: function (content) {
749
+ if (content === undefined) {
750
+ return this[0].innerHTML;
751
+ }
752
+ var source = (content.nodeType ? content[0].outerHTML : content);
753
+ return this.each(function (v) {
754
+ return v.innerHTML = source;
755
+ });
756
+ },
757
+
758
+ insertAfter: function (selector) {
759
+ var _this = this;
760
+
761
+
762
+ cash(selector).each(function (el, i) {
763
+ var parent = el.parentNode, sibling = el.nextSibling;
764
+ _this.each(function (v) {
765
+ parent.insertBefore((i === 0 ? v : v.cloneNode(true)), sibling);
766
+ });
767
+ });
768
+
769
+ return this;
770
+ },
771
+
772
+ insertBefore: function (selector) {
773
+ var _this2 = this;
774
+ cash(selector).each(function (el, i) {
775
+ var parent = el.parentNode;
776
+ _this2.each(function (v) {
777
+ parent.insertBefore((i === 0 ? v : v.cloneNode(true)), el);
778
+ });
779
+ });
780
+ return this;
781
+ },
782
+
783
+ prepend: function (content) {
784
+ insertContent(this, content, true);
785
+ return this;
786
+ },
787
+
788
+ prependTo: function (parent) {
789
+ insertContent(cash(parent), this, true);
790
+ return this;
791
+ },
792
+
793
+ remove: function () {
794
+ return this.each(function (v) {
795
+ if (!!v.parentNode) {
796
+ return v.parentNode.removeChild(v);
797
+ }
798
+ });
799
+ },
800
+
801
+ text: function (content) {
802
+ if (content === undefined) {
803
+ return this[0].textContent;
804
+ }
805
+ return this.each(function (v) {
806
+ return v.textContent = content;
807
+ });
808
+ }
809
+
810
+ });
811
+
812
+ var docEl = doc.documentElement;
813
+
814
+ fn.extend({
815
+ position: function () {
816
+ var el = this[0];
817
+ return {
818
+ left: el.offsetLeft,
819
+ top: el.offsetTop
820
+ };
821
+ },
822
+
823
+ offset: function () {
824
+ var rect = this[0].getBoundingClientRect();
825
+ return {
826
+ top: rect.top + win.pageYOffset - docEl.clientTop,
827
+ left: rect.left + win.pageXOffset - docEl.clientLeft
828
+ };
829
+ },
830
+
831
+ offsetParent: function () {
832
+ return cash(this[0].offsetParent);
833
+ }
834
+
835
+ });
836
+
837
+ fn.extend({
838
+ children: function (selector) {
839
+ var elems = [];
840
+ this.each(function (el) {
841
+ push.apply(elems, el.children);
842
+ });
843
+ elems = unique(elems);
844
+
845
+ return (!selector ? elems : elems.filter(function (v) {
846
+ return matches(v, selector);
847
+ }));
848
+ },
849
+
850
+ closest: function (selector) {
851
+ if (!selector || this.length < 1) {
852
+ return cash();
853
+ }
854
+ if (this.is(selector)) {
855
+ return this.filter(selector);
856
+ }
857
+ return this.parent().closest(selector);
858
+ },
859
+
860
+ is: function (selector) {
861
+ if (!selector) {
862
+ return false;
863
+ }
864
+
865
+ var match = false, comparator = getCompareFunction(selector);
866
+
867
+ this.each(function (el) {
868
+ match = comparator(el, selector);
869
+ return !match;
870
+ });
871
+
872
+ return match;
873
+ },
874
+
875
+ find: function (selector) {
876
+ if (!selector || selector.nodeType) {
877
+ return cash(selector && this.has(selector).length ? selector : null);
878
+ }
879
+
880
+ var elems = [];
881
+ this.each(function (el) {
882
+ push.apply(elems, find(selector, el));
883
+ });
884
+
885
+ return unique(elems);
886
+ },
887
+
888
+ has: function (selector) {
889
+ var comparator = (isString(selector) ? function (el) {
890
+ return find(selector, el).length !== 0;
891
+ } : function (el) {
892
+ return el.contains(selector);
893
+ });
894
+
895
+ return this.filter(comparator);
896
+ },
897
+
898
+ next: function () {
899
+ return cash(this[0].nextElementSibling);
900
+ },
901
+
902
+ not: function (selector) {
903
+ if (!selector) {
904
+ return this;
905
+ }
906
+
907
+ var comparator = getCompareFunction(selector);
908
+
909
+ return this.filter(function (el) {
910
+ return !comparator(el, selector);
911
+ });
912
+ },
913
+
914
+ parent: function () {
915
+ var result = [];
916
+
917
+ this.each(function (item) {
918
+ if (item && item.parentNode) {
919
+ result.push(item.parentNode);
920
+ }
921
+ });
922
+
923
+ return unique(result);
924
+ },
925
+
926
+ parents: function (selector) {
927
+ var last, result = [];
928
+
929
+ this.each(function (item) {
930
+ last = item;
931
+
932
+ while (last && last.parentNode && last !== doc.body.parentNode) {
933
+ last = last.parentNode;
934
+
935
+ if (!selector || (selector && matches(last, selector))) {
936
+ result.push(last);
937
+ }
938
+ }
939
+ });
940
+
941
+ return unique(result);
942
+ },
943
+
944
+ prev: function () {
945
+ return cash(this[0].previousElementSibling);
946
+ },
947
+
948
+ siblings: function (selector) {
949
+ var collection = this.parent().children(selector), el = this[0];
950
+
951
+ return collection.filter(function (i) {
952
+ return i !== el;
953
+ });
954
+ }
955
+
956
+ });
957
+
958
+
959
+ return cash;
960
+ });