j1-template 2020.0.25 → 2021.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (551) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/_includes/themes/j1/blocks/ads/ad.html +1 -1
  4. data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +1 -1
  5. data/_includes/themes/j1/blocks/footer/boxes/contacts_box.proc +1 -1
  6. data/_includes/themes/j1/blocks/footer/boxes/issue.proc +1 -1
  7. data/_includes/themes/j1/blocks/footer/boxes/legal_statements.proc +1 -1
  8. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +1 -1
  9. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +1 -1
  10. data/_includes/themes/j1/blocks/footer/boxes/social_media_icons.proc +1 -1
  11. data/_includes/themes/j1/blocks/footer/generator.html +1 -1
  12. data/_includes/themes/j1/layouts/content_generator_app.html +1 -1
  13. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +1 -1
  14. data/_includes/themes/j1/layouts/content_generator_collection.html +1 -1
  15. data/_includes/themes/j1/layouts/content_generator_page.html +1 -1
  16. data/_includes/themes/j1/layouts/content_generator_post.html +1 -1
  17. data/_includes/themes/j1/layouts/content_generator_raw.html +1 -1
  18. data/_includes/themes/j1/layouts/layout_metadata_generator.html +12 -12
  19. data/_includes/themes/j1/layouts/layout_module_generator.html +1 -1
  20. data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -1
  21. data/_includes/themes/j1/modules/attics/generator.html +2 -2
  22. data/_includes/themes/j1/modules/boards/news_pin_board.html +1 -1
  23. data/_includes/themes/j1/modules/connectors/ad/custom-provider.html +1 -1
  24. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +1 -1
  25. data/_includes/themes/j1/modules/connectors/ads +1 -1
  26. data/_includes/themes/j1/modules/connectors/analytic/custom-provider.html +1 -1
  27. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +1 -1
  28. data/_includes/themes/j1/modules/connectors/analytics +1 -1
  29. data/_includes/themes/j1/modules/connectors/comment/custom-provider.html +1 -1
  30. data/_includes/themes/j1/modules/connectors/comment/disqus.html +1 -1
  31. data/_includes/themes/j1/modules/connectors/comment/facebook.html +1 -1
  32. data/_includes/themes/j1/modules/connectors/comments +1 -1
  33. data/_includes/themes/j1/modules/connectors/sharing +1 -1
  34. data/_includes/themes/j1/modules/connectors/translator +1 -1
  35. data/_includes/themes/j1/modules/connectors/translators/custom-translator.html +1 -1
  36. data/_includes/themes/j1/modules/connectors/translators/google-translator.html +1 -1
  37. data/_includes/themes/j1/modules/navigator/generator.html +1 -1
  38. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +10 -10
  39. data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +1 -1
  40. data/_includes/themes/j1/procedures/global/attributes_loader.proc +1 -1
  41. data/_includes/themes/j1/procedures/global/collect_frontmatter_options.proc +1 -1
  42. data/_includes/themes/j1/procedures/global/collect_page_options.proc +1 -1
  43. data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
  44. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +1 -1
  45. data/_includes/themes/j1/procedures/global/get_category.proc +1 -1
  46. data/_includes/themes/j1/procedures/global/get_category_item.proc +1 -1
  47. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
  48. data/_includes/themes/j1/procedures/global/get_page_path.proc +1 -1
  49. data/_includes/themes/j1/procedures/global/get_page_url.proc +1 -1
  50. data/_includes/themes/j1/procedures/global/pager.proc +1 -1
  51. data/_includes/themes/j1/procedures/global/select_color.proc +1 -1
  52. data/_includes/themes/j1/procedures/global/select_font_size.proc +1 -1
  53. data/_includes/themes/j1/procedures/global/select_icon_size.proc +1 -1
  54. data/_includes/themes/j1/procedures/global/select_location.proc +1 -1
  55. data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +1 -1
  56. data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +1 -1
  57. data/_includes/themes/j1/procedures/global/set_image_block.proc +1 -1
  58. data/_includes/themes/j1/procedures/global/setup.proc +1 -1
  59. data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -1
  60. data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
  61. data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
  62. data/_includes/themes/j1/procedures/layouts/resource_writer.proc +1 -1
  63. data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
  64. data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
  65. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +1 -1
  66. data/_includes/themes/j1/procedures/posts/create_ad_block.proc +1 -1
  67. data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -1
  68. data/_layouts/app.html +1 -1
  69. data/_layouts/blog_archive.html +1 -1
  70. data/_layouts/collection.html +1 -1
  71. data/_layouts/compress.html +1 -1
  72. data/_layouts/default.html +1 -1
  73. data/_layouts/home.html +1 -1
  74. data/_layouts/page.html +1 -1
  75. data/_layouts/paginator/autopage_category.html +1 -1
  76. data/_layouts/paginator/autopage_collection.html +1 -1
  77. data/_layouts/paginator/autopage_collections_tags.html +1 -1
  78. data/_layouts/paginator/autopage_tags.html +1 -1
  79. data/_layouts/post.html +1 -1
  80. data/_layouts/raw.html +1 -1
  81. data/apps/public/cc/cc.yml +1 -1
  82. data/assets/data/authclient.html +1 -1
  83. data/assets/data/banner.html +1 -1
  84. data/assets/data/carousel.json +8 -16
  85. data/assets/data/cookiebar.html +1 -1
  86. data/assets/data/fam.html +1 -1
  87. data/assets/data/footer.html +1 -1
  88. data/assets/data/galleries.json +1 -1
  89. data/assets/data/gallery_customizer.html +1 -1
  90. data/assets/data/mdi_icons.json +1 -1
  91. data/assets/data/menu.html +1 -1
  92. data/assets/data/mmenu.html +1 -1
  93. data/assets/data/mmenu_sidebar.html +1 -1
  94. data/assets/data/mmenu_toc.html +1 -1
  95. data/assets/data/panel.html +1 -1
  96. data/assets/data/quicklinks.html +3 -3
  97. data/assets/data/themes.json +1 -1
  98. data/assets/data/twa_v1.json +1 -1
  99. data/assets/error_pages/HTTP204.html +1 -1
  100. data/assets/error_pages/HTTP400.html +1 -1
  101. data/assets/error_pages/HTTP401.html +1 -1
  102. data/assets/error_pages/HTTP403.html +1 -1
  103. data/assets/error_pages/HTTP404.html +1 -1
  104. data/assets/error_pages/HTTP500.html +1 -1
  105. data/assets/error_pages/HTTP501.html +1 -1
  106. data/assets/error_pages/HTTP502.html +1 -1
  107. data/assets/error_pages/HTTP503.html +1 -1
  108. data/assets/error_pages/HTTP520.html +1 -1
  109. data/assets/error_pages/HTTP521.html +1 -1
  110. data/assets/error_pages/HTTP533.html +1 -1
  111. data/assets/themes/j1/adapter/js/algolia.js +2 -2
  112. data/assets/themes/j1/adapter/js/attic.js +3 -3
  113. data/assets/themes/j1/adapter/js/bmd.js +2 -2
  114. data/assets/themes/j1/adapter/js/carousel.js +397 -34
  115. data/assets/themes/j1/adapter/js/clipboard.js +2 -2
  116. data/assets/themes/j1/adapter/js/cookiebar.js +9 -2
  117. data/assets/themes/j1/adapter/js/fam.js +2 -2
  118. data/assets/themes/j1/adapter/js/framer.js +2 -2
  119. data/assets/themes/j1/adapter/js/gallery_customizer.js +2 -2
  120. data/assets/themes/j1/adapter/js/j1.js +36 -9
  121. data/assets/themes/j1/adapter/js/jf_gallery.js +2 -2
  122. data/assets/themes/j1/adapter/js/lightbox.js +2 -2
  123. data/assets/themes/j1/adapter/js/logger.js +2 -2
  124. data/assets/themes/j1/adapter/js/mmenu.js +27 -29
  125. data/assets/themes/j1/adapter/js/navigator.js +2 -3
  126. data/assets/themes/j1/adapter/js/{lunr_search.js → quicksearch.js} +13 -13
  127. data/assets/themes/j1/adapter/js/rouge.js +8 -6
  128. data/assets/themes/j1/adapter/js/rtable.js +6 -4
  129. data/assets/themes/j1/adapter/js/themer.js +55 -47
  130. data/assets/themes/j1/adapter/js/toccer.js +3 -3
  131. data/assets/themes/j1/core/css/animate.css +2 -2
  132. data/assets/themes/j1/core/css/icon-fonts/fontawesome.css +2 -2
  133. data/assets/themes/j1/core/css/icon-fonts/iconify.css +5 -5
  134. data/assets/themes/j1/core/css/icon-fonts/materialdesign.css +9 -9
  135. data/assets/themes/j1/core/css/icon-fonts/twemoji.css +6 -6
  136. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +1 -1
  137. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +31 -31
  138. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +82 -61
  139. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  140. data/assets/themes/j1/core/css/vendor.css +5 -5
  141. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.eot → eot/fa-brands-400.eot} +0 -0
  142. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.eot → eot/fa-regular-400.eot} +0 -0
  143. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.eot → eot/fa-solid-900.eot} +0 -0
  144. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.svg → svg/fa-brands-400.svg} +0 -0
  145. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.svg → svg/fa-regular-400.svg} +0 -0
  146. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.svg → svg/fa-solid-900.svg} +0 -0
  147. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.ttf → ttf/fa-brands-400.ttf} +0 -0
  148. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.ttf → ttf/fa-regular-400.ttf} +0 -0
  149. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.ttf → ttf/fa-solid-900.ttf} +0 -0
  150. data/assets/themes/j1/core/fonts/materialdesign_icons/fonts/{materialdesignicons-webfont.eot → eot/materialdesignicons-webfont.eot} +0 -0
  151. data/assets/themes/j1/core/fonts/materialdesign_icons/fonts/{materialdesignicons-webfont.svg → svg/materialdesignicons-webfont.svg} +0 -0
  152. data/assets/themes/j1/core/fonts/materialdesign_icons/fonts/{materialdesignicons-webfont.ttf → ttf/materialdesignicons-webfont.ttf} +0 -0
  153. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.eot → eot/Roboto-Bold.eot} +0 -0
  154. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.eot → eot/Roboto-Light.eot} +0 -0
  155. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.eot → eot/Roboto-Medium.eot} +0 -0
  156. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.eot → eot/Roboto-Regular.eot} +0 -0
  157. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.eot → eot/Roboto-Thin.eot} +0 -0
  158. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Black.ttf → ttf/Roboto-Black.ttf} +0 -0
  159. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BlackItalic.ttf → ttf/Roboto-BlackItalic.ttf} +0 -0
  160. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.ttf → ttf/Roboto-Bold.ttf} +0 -0
  161. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BoldItalic.ttf → ttf/Roboto-BoldItalic.ttf} +0 -0
  162. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Italic.ttf → ttf/Roboto-Italic.ttf} +0 -0
  163. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.ttf → ttf/Roboto-Light.ttf} +0 -0
  164. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-LightItalic.ttf → ttf/Roboto-LightItalic.ttf} +0 -0
  165. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.ttf → ttf/Roboto-Medium.ttf} +0 -0
  166. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-MediumItalic.ttf → ttf/Roboto-MediumItalic.ttf} +0 -0
  167. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.ttf → ttf/Roboto-Regular.ttf} +0 -0
  168. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.ttf → ttf/Roboto-Thin.ttf} +0 -0
  169. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-ThinItalic.ttf → ttf/Roboto-ThinItalic.ttf} +0 -0
  170. data/assets/themes/j1/core/js/template.js +5 -10
  171. data/assets/themes/j1/core/js/template.js.map +1 -1
  172. data/assets/themes/j1/core/js/template.min.js +1 -1
  173. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1 -1
  174. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  175. data/assets/themes/j1/modules/carousel/css/carousel.css +1 -1
  176. data/assets/themes/j1/modules/carousel/css/carousel.min.css +1 -1
  177. data/assets/themes/j1/modules/carousel/css/carousel_transitions.css +1 -1
  178. data/assets/themes/j1/modules/carousel/css/carousel_transitions.min.css +1 -1
  179. data/assets/themes/j1/modules/carousel/css/theme/uno.css +90 -37
  180. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +2 -2
  181. data/assets/themes/j1/modules/clipboard/css/theme/uno.css +1 -1
  182. data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +1 -1
  183. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc.png +0 -0
  184. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc_disabled.png +0 -0
  185. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_both.png +0 -0
  186. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc.png +0 -0
  187. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc_disabled.png +0 -0
  188. data/assets/themes/j1/modules/datatables/css/datatables.css +1113 -0
  189. data/assets/themes/j1/modules/datatables/css/datatables.min.css +136 -0
  190. data/assets/themes/j1/modules/datatables/css/theme/uno.css +473 -0
  191. data/assets/themes/j1/modules/datatables/js/datatables.js +95360 -0
  192. data/assets/themes/j1/modules/datatables/js/datatables.min.js +533 -0
  193. data/assets/themes/j1/modules/fam/css/uno/fam.css +1 -1
  194. data/assets/themes/j1/modules/fam/js/fam.js +1 -1
  195. data/assets/themes/j1/modules/iframeResizer/LICENSE +21 -21
  196. data/assets/themes/j1/modules/jquery/css/jqueryUI/theme.css +443 -0
  197. data/assets/themes/j1/modules/jquery/css/jqueryUI/theme.min.css +5 -0
  198. data/assets/themes/j1/modules/jquery/js/jqueryUI.js +18701 -0
  199. data/assets/themes/j1/modules/jquery/js/jqueryUI.min.js +13 -0
  200. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.7.0/css/theme/uno.css +1 -1
  201. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/theme/uno.css +1 -1
  202. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +1 -1
  203. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
  204. data/assets/themes/j1/modules/kofax.7z +0 -0
  205. data/assets/themes/j1/modules/lightGallery/css/themes/uno.css +1 -1
  206. data/assets/themes/j1/modules/lightGallery/css/themes/uno.min.css +1 -1
  207. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.js +1 -1
  208. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.min.js +1 -1
  209. data/assets/themes/j1/modules/lightbox/LICENSE +22 -22
  210. data/assets/themes/j1/modules/lightbox/css/lightbox.css +1 -1
  211. data/assets/themes/j1/modules/lightbox/css/lightbox.min.css +1 -1
  212. data/assets/themes/j1/modules/lightbox/css/theme/uno.css +1 -1
  213. data/assets/themes/j1/modules/lightbox/css/theme/uno.min.css +1 -1
  214. data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
  215. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +1 -1
  216. data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.css → quicksearch.css} +1 -1
  217. data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.min.css → quicksearch.min.css} +13 -6
  218. data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.js +304 -0
  219. data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.min.js +1 -0
  220. data/assets/themes/j1/modules/lunrSearch/js/{lunr_search.js → quicksearch.js} +23 -4
  221. data/assets/themes/j1/modules/lunrSearch/js/{lunr_search.min.js → quicksearch.min.js} +1 -1
  222. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.js +381 -0
  223. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.min.js +1 -0
  224. data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.js +284 -0
  225. data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.min.js +18 -0
  226. data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.js +384 -0
  227. data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.min.js +18 -0
  228. data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.js +450 -0
  229. data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.min.js +18 -0
  230. data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.js +599 -0
  231. data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.min.js +18 -0
  232. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.js +541 -0
  233. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.min.js +18 -0
  234. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.js +703 -0
  235. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.min.js +18 -0
  236. data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.js +565 -0
  237. data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.min.js +18 -0
  238. data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.js +617 -0
  239. data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.min.js +18 -0
  240. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.js +188 -0
  241. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.min.js +1 -0
  242. data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.js +5 -0
  243. data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.min.js +1 -0
  244. data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.js +79 -0
  245. data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.min.js +1 -0
  246. data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.js +448 -0
  247. data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.min.js +18 -0
  248. data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.js +258 -0
  249. data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.min.js +18 -0
  250. data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.js +570 -0
  251. data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.min.js +18 -0
  252. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.js +558 -0
  253. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.min.js +18 -0
  254. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.js +391 -0
  255. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.min.js +18 -0
  256. data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.js +256 -0
  257. data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.min.js +18 -0
  258. data/assets/themes/j1/modules/lunrSearch/languages/lunr.th.js +97 -0
  259. data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.js +1087 -0
  260. data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.min.js +18 -0
  261. data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.js +84 -0
  262. data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.min.js +1 -0
  263. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +1 -1
  264. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +1 -1
  265. data/assets/themes/j1/modules/mmenuLight/css/mmenu.css +1 -1
  266. data/assets/themes/j1/modules/mmenuLight/css/mmenu.min.css +1 -1
  267. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.css +1 -1
  268. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.min.css +2 -2
  269. data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +1 -1
  270. data/assets/themes/j1/modules/mmenuLight/js/mmenu.min.js +1 -1
  271. data/assets/themes/j1/modules/rtable/css/theme/uno.css +1 -1
  272. data/assets/themes/j1/modules/rtable/css/theme/uno.min.css +1 -1
  273. data/assets/themes/j1/modules/rtable/js/rtable.js +1 -1
  274. data/assets/themes/j1/modules/rtable/js/rtable.min.js +1 -1
  275. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -1
  276. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  277. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +1 -1
  278. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +1 -1
  279. data/assets/themes/j1/modules/twemoji/js/LICENSE +21 -21
  280. data/assets/themes/j1/modules/twemoji/js/picker/LICENSE +21 -21
  281. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +1 -1
  282. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +1 -1
  283. data/assets/themes/j1/modules/twemoji/js/twemoji.js +1 -1
  284. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +1 -1
  285. data/exe/j1 +2 -0
  286. data/lib/j1/commands/generate.rb +47 -46
  287. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/fastfilereaderext.so +0 -0
  288. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/rubyeventmachine.so +0 -0
  289. data/lib/j1/utils/exec.rb +1 -1
  290. data/lib/j1/version.rb +1 -1
  291. data/lib/j1_app.rb +0 -4
  292. data/lib/j1_app/j1_auth_manager/auth_manager.rb +1 -1
  293. data/lib/j1_app/j1_auth_manager/commands.rb +1 -1
  294. data/lib/j1_app/j1_auth_manager/error_pages.rb +1 -1
  295. data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +1 -1
  296. data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +1 -1
  297. data/lib/j1_app/j1_auth_manager/helpers_github.rb +1 -1
  298. data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +1 -1
  299. data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +1 -1
  300. data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +1 -1
  301. data/lib/j1_app/omniauth/strategies/disqus.rb +1 -1
  302. data/lib/j1_app/omniauth/strategies/facebook.rb +1 -1
  303. data/lib/j1_app/omniauth/strategies/github.rb +1 -1
  304. data/lib/j1_app/omniauth/strategies/patreon.rb +1 -1
  305. data/lib/j1_app/omniauth/strategies/twitter.rb +1 -1
  306. data/lib/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/fastfilereaderext.so +0 -0
  307. data/lib/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/rubyeventmachine.so +0 -0
  308. data/lib/starter_web/Gemfile +18 -30
  309. data/lib/starter_web/_config.yml +23 -92
  310. data/lib/starter_web/_data/_defaults/categories.yml +1 -1
  311. data/lib/starter_web/_data/_defaults/colors.yml +1 -1
  312. data/lib/starter_web/_data/_defaults/font_sizes.yml +1 -1
  313. data/lib/starter_web/_data/_defaults/j1_light_gallery.yml +1 -1
  314. data/lib/starter_web/_data/_defaults/resources.yml +1 -1
  315. data/lib/starter_web/_data/_defaults/template_settings.yml +1 -1
  316. data/lib/starter_web/_data/apps/carousel.yml +158 -337
  317. data/lib/starter_web/_data/apps/defaults/carousel.yml +88 -87
  318. data/lib/starter_web/_data/apps/defaults/gallery_customizer.yml +1 -1
  319. data/lib/starter_web/_data/apps/defaults/justified_gallery.yml +1 -1
  320. data/lib/starter_web/_data/apps/defaults/light_gallery.yml +1 -1
  321. data/lib/starter_web/_data/apps/defaults/lightbox.yml +1 -1
  322. data/lib/starter_web/_data/apps/gallery_customizer.yml +1 -1
  323. data/lib/starter_web/_data/apps/justified_gallery.yml +1 -1
  324. data/lib/starter_web/_data/apps/light_gallery.yml +1 -1
  325. data/lib/starter_web/_data/apps/lightbox.yml +1 -1
  326. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1mn-subset +26 -0
  327. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1p-subset +26 -0
  328. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoemoji-subset +3 -0
  329. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoserif-subset +26 -0
  330. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-mplus +16 -0
  331. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoemoji +201 -0
  332. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoserif +201 -0
  333. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-roboto +11 -0
  334. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Black.ttf +0 -0
  335. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BlackItalic.ttf +0 -0
  336. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Bold.ttf +0 -0
  337. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BoldItalic.ttf +0 -0
  338. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Italic.ttf +0 -0
  339. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Light.ttf +0 -0
  340. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-LightItalic.ttf +0 -0
  341. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Medium.ttf +0 -0
  342. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-MediumItalic.ttf +0 -0
  343. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Regular.ttf +0 -0
  344. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Thin.ttf +0 -0
  345. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-ThinItalic.ttf +0 -0
  346. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold-subset.ttf +0 -0
  347. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
  348. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-italic-subset.ttf +0 -0
  349. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-regular-subset.ttf +0 -0
  350. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/mplus1p-regular-fallback.ttf +0 -0
  351. data/lib/starter_web/_data/asciidoc2pdf/fonts/notoemoji-subset.ttf +0 -0
  352. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold-subset.ttf +0 -0
  353. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold_italic-subset.ttf +0 -0
  354. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-italic-subset.ttf +0 -0
  355. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-regular-subset.ttf +0 -0
  356. data/lib/starter_web/_data/asciidoc2pdf/themes/base-theme.yml +130 -0
  357. data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-theme.yml +36 -0
  358. data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-with-fallback-font-theme.yml +15 -0
  359. data/lib/starter_web/_data/asciidoc2pdf/themes/default-theme.yml +298 -0
  360. data/lib/starter_web/_data/asciidoc2pdf/themes/default-with-fallback-font-theme.yml +21 -0
  361. data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +315 -0
  362. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  363. data/lib/starter_web/_data/blocks/defaults/banner.yml +1 -1
  364. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  365. data/lib/starter_web/_data/blocks/defaults/panel.yml +1 -1
  366. data/lib/starter_web/_data/blocks/footer.yml +2 -2
  367. data/lib/starter_web/_data/blocks/panel.yml +1 -1
  368. data/lib/starter_web/_data/builder/blog_navigator.yml +1 -1
  369. data/lib/starter_web/_data/categories.yml +1 -1
  370. data/lib/starter_web/_data/colors.yml +1 -1
  371. data/lib/starter_web/_data/font_sizes.yml +1 -1
  372. data/lib/starter_web/_data/j1_config.yml +35 -34
  373. data/lib/starter_web/_data/layouts/app.yml +1 -1
  374. data/lib/starter_web/_data/layouts/blog_archive.yml +1 -1
  375. data/lib/starter_web/_data/layouts/collection.yml +7 -7
  376. data/lib/starter_web/_data/layouts/default.yml +1 -1
  377. data/lib/starter_web/_data/layouts/home.yml +1 -2
  378. data/lib/starter_web/_data/layouts/page.yml +2 -3
  379. data/lib/starter_web/_data/layouts/post.yml +2 -3
  380. data/lib/starter_web/_data/layouts/raw.yml +1 -1
  381. data/lib/starter_web/_data/modules/advertising.yml +1 -1
  382. data/lib/starter_web/_data/modules/attics.yml +1 -1
  383. data/lib/starter_web/_data/modules/authentication.yml +1 -1
  384. data/lib/starter_web/_data/modules/cookiebar.yml +1 -1
  385. data/lib/starter_web/_data/modules/defaults/attics.yml +1 -1
  386. data/lib/starter_web/_data/modules/defaults/authentication.yml +45 -43
  387. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +1 -1
  388. data/lib/starter_web/_data/modules/defaults/fam.yml +1 -1
  389. data/lib/starter_web/_data/modules/defaults/framer.yml +1 -1
  390. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +1 -1
  391. data/lib/starter_web/_data/modules/defaults/log4r.yml +1 -1
  392. data/lib/starter_web/_data/modules/defaults/navigator.yml +1 -1
  393. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +73 -0
  394. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -1
  395. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  396. data/lib/starter_web/_data/modules/fam.yml +46 -12
  397. data/lib/starter_web/_data/modules/framer.yml +1 -1
  398. data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
  399. data/lib/starter_web/_data/modules/log4r.yml +1 -1
  400. data/lib/starter_web/_data/modules/navigator.yml +5 -7
  401. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  402. data/lib/starter_web/_data/modules/{lunr_search.yml → quicksearch.yml} +4 -4
  403. data/lib/starter_web/_data/modules/themer.yml +1 -96
  404. data/lib/starter_web/_data/modules/toccer.yml +1 -1
  405. data/lib/starter_web/_data/pages/builder.yml +1 -1
  406. data/lib/starter_web/_data/plugins/defaults/notebooks.yml +1 -1
  407. data/lib/starter_web/_data/plugins/defaults/paginator.yml +1 -1
  408. data/lib/starter_web/_data/plugins/notebooks.yml +1 -1
  409. data/lib/starter_web/_data/plugins/paginator.yml +1 -1
  410. data/lib/starter_web/_data/private.yml +1 -1
  411. data/lib/starter_web/_data/resources.yml +36 -38
  412. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +1 -1
  413. data/lib/starter_web/_data/utilities/util_srv.yml +1 -1
  414. data/lib/starter_web/_includes/attributes.asciidoc +3 -1
  415. data/lib/starter_web/_includes/documents/licenses/mit.asciidoc +19 -19
  416. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +45 -45
  417. data/lib/starter_web/_includes/tables/template_variables.asciidoc +46 -46
  418. data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-answer.rb +1 -1
  419. data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-question.rb +1 -1
  420. data/lib/starter_web/_plugins/asciidoctor-extensions/banner.rb +1 -1
  421. data/lib/starter_web/_plugins/asciidoctor-extensions/carousel-block.rb +1 -1
  422. data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
  423. data/lib/starter_web/_plugins/asciidoctor-extensions/fas-icon-inline.rb +1 -1
  424. data/lib/starter_web/_plugins/asciidoctor-extensions/gallery-block.rb +1 -1
  425. data/lib/starter_web/_plugins/asciidoctor-extensions/gist-block.rb +1 -1
  426. data/lib/starter_web/_plugins/asciidoctor-extensions/iconify-icon-inline.rb +1 -1
  427. data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +1 -1
  428. data/lib/starter_web/_plugins/asciidoctor-extensions/mdi-icon-inline.rb +1 -1
  429. data/lib/starter_web/_plugins/asciidoctor-extensions/panel.rb +1 -1
  430. data/lib/starter_web/_plugins/asciidoctor-extensions/shout-block.rb +1 -1
  431. data/lib/starter_web/_plugins/asciidoctor-extensions/twitter-emoji-inline.rb +1 -1
  432. data/lib/starter_web/_plugins/debug.rb +1 -1
  433. data/lib/starter_web/_plugins/filters.rb +1 -1
  434. data/lib/starter_web/_plugins/lorem_inline.rb +99 -4
  435. data/lib/starter_web/_plugins/lunr_index.rb +24 -10
  436. data/lib/starter_web/_plugins/minifyJS.rb +1 -1
  437. data/lib/starter_web/_plugins/minifyJSON.rb +1 -1
  438. data/lib/starter_web/_plugins/prettify.rb +1 -1
  439. data/lib/starter_web/_plugins/simple_search_filter.rb +1 -1
  440. data/lib/starter_web/_plugins/symlink_watcher.rb +1 -1
  441. data/lib/starter_web/assets/images/modules/icons/d1/d1-256x256.png +0 -0
  442. data/lib/starter_web/assets/images/modules/icons/d1/d1-32x32.ico +0 -0
  443. data/lib/starter_web/assets/images/modules/icons/d1/d1-512x512.png +0 -0
  444. data/lib/starter_web/assets/images/modules/icons/d1/d1-64x64.png +0 -0
  445. data/lib/starter_web/assets/images/modules/icons/d1/d1.ico +0 -0
  446. data/lib/starter_web/assets/images/modules/icons/d1/favicon.ico +0 -0
  447. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +48 -43
  448. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/auth_mgmr_signin_request_flow.uxf +632 -632
  449. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/webhook_flow.uxf +648 -648
  450. data/lib/starter_web/assets/images/quotes/colored-1.jpg +0 -0
  451. data/lib/starter_web/assets/images/quotes/colored-2.jpg +0 -0
  452. data/lib/starter_web/assets/images/quotes/default.jpg +0 -0
  453. data/lib/starter_web/assets/images/quotes/light-blue.jpg +0 -0
  454. data/lib/starter_web/assets/images/quotes/people.jpg +0 -0
  455. data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +198 -198
  456. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/readme +1 -0
  457. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/unsplash-badge.asciidoc +31 -31
  458. data/lib/starter_web/collections/posts/public/series/_posts/_includes/documents/100-docker-using-shared-folders.asciidoc +430 -430
  459. data/lib/starter_web/collections/posts/public/series/_posts/_includes/tables/debug_variables.asciidoc +47 -48
  460. data/lib/starter_web/config.ru +23 -24
  461. data/lib/starter_web/dot.gitattributes +3 -17
  462. data/lib/starter_web/dot.nojekyll +19 -19
  463. data/lib/starter_web/package.json +53 -40
  464. data/lib/starter_web/pages/protected/site_search.adoc +2 -7
  465. data/lib/starter_web/pages/public/about/about_site.adoc +2 -0
  466. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +1 -1
  467. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +2 -2
  468. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +2 -2
  469. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/300_first_awesome_web.asciidoc +11 -12
  470. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +47 -48
  471. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +1 -0
  472. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +6 -23
  473. data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +335 -236
  474. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -14
  475. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -11
  476. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -11
  477. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_central_success.asciidoc +11 -11
  478. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -11
  479. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -11
  480. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_top_info.asciidoc +11 -11
  481. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -11
  482. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -11
  483. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +50 -55
  484. data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +19 -19
  485. data/lib/starter_web/pages/public/previewer/rouge.adoc +238 -4
  486. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  487. data/lib/starter_web/utilsrv/package.json +7 -7
  488. data/lib/starter_web/utilsrv/server.js +1 -1
  489. metadata +154 -117
  490. data/assets/themes/j1/core/css/bootstrap.css +0 -7154
  491. data/assets/themes/j1/core/css/bootstrap.min.css +0 -6
  492. data/assets/themes/j1/core/css/custom.scss +0 -28
  493. data/assets/themes/j1/core/css/globals.css +0 -14523
  494. data/assets/themes/j1/core/css/globals.min.css +0 -1
  495. data/assets/themes/j1/core/css/globals.scss +0 -28
  496. data/assets/themes/j1/core/css/theme_extensions.css +0 -11558
  497. data/assets/themes/j1/core/css/theme_extensions.min.css +0 -1
  498. data/assets/themes/j1/core/css/uno.css +0 -11823
  499. data/assets/themes/j1/core/css/uno.min.css +0 -1
  500. data/assets/themes/j1/core/css/uno.scss +0 -28
  501. data/assets/themes/j1/core/css/vendor.scss +0 -28
  502. data/assets/themes/j1/core/fonts/materialdesign_icons/license.md +0 -97
  503. data/assets/themes/j1/core/fonts/roboto/fonts/OpenSansEmoji.ttf +0 -0
  504. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold-ascii.ttf +0 -0
  505. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
  506. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-italic-ascii.ttf +0 -0
  507. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
  508. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb.kapott +0 -234
  509. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.new.erb +0 -297
  510. data/lib/starter_web/_data/modules/defaults/jekyll_search.yml +0 -151
  511. data/lib/starter_web/_data/modules/defaults/lunr_search.yml +0 -171
  512. data/lib/starter_web/_data/modules/jekyll_search.yml +0 -33
  513. data/lib/starter_web/assets/images/quotes/default.png +0 -0
  514. data/lib/starter_web/assets/images/quotes/people.png +0 -0
  515. data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +0 -494
  516. data/lib/starter_web/collections/posts/public/test_posts/_posts/2020-09-11-test_post.adoc +0 -218
  517. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/attributes.asciidoc +0 -34
  518. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/documents/readme +0 -0
  519. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/tables/debug_variables.asciidoc +0 -48
  520. data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/tables/readme +0 -0
  521. data/lib/starter_web/pages/public/test_pages/_includes/attributes.asciidoc +0 -49
  522. data/lib/starter_web/pages/public/test_pages/_includes/documents/100_gistblock.asciidoc +0 -27
  523. data/lib/starter_web/pages/public/test_pages/_includes/tables/000_bem_specifiers.asciidoc +0 -22
  524. data/lib/starter_web/pages/public/test_pages/_includes/tables/000_specifier_examples.asciidoc +0 -56
  525. data/lib/starter_web/pages/public/test_pages/breadcrumbs_tester.adoc +0 -62
  526. data/lib/starter_web/pages/public/test_pages/carousel_captions.adoc +0 -1045
  527. data/lib/starter_web/pages/public/test_pages/deck_of_posts.adoc +0 -165
  528. data/lib/starter_web/pages/public/test_pages/floating_actions_button.adoc +0 -523
  529. data/lib/starter_web/pages/public/test_pages/floating_ad.adoc +0 -208
  530. data/lib/starter_web/pages/public/test_pages/floating_div.adoc +0 -196
  531. data/lib/starter_web/pages/public/test_pages/lunr_tester.adoc +0 -89
  532. data/lib/starter_web/pages/public/test_pages/nav_pagination_tester.adoc +0 -284
  533. data/lib/starter_web/pages/public/test_pages/page_attribute_tester.adoc +0 -196
  534. data/lib/starter_web/pages/public/test_pages/responsive_images.adoc +0 -213
  535. data/lib/starter_web/pages/public/test_pages/responsive_tables.adoc +0 -210
  536. data/lib/starter_web/pages/public/test_pages/toccer_tester.adoc +0 -2245
  537. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/attributes.asciidoc +0 -117
  538. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/100_gistblock.asciidoc +0 -27
  539. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_bottom_info.asciidoc +0 -11
  540. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  541. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  542. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_central_success.asciidoc +0 -11
  543. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_full_height_left_info.asciidoc +0 -11
  544. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_full_height_right_success.asciidoc +0 -11
  545. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_table_3_column.asciidoc +0 -47
  546. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_top_info.asciidoc +0 -11
  547. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_top_left_info.asciidoc +0 -11
  548. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/410_top_right_success.asciidoc +0 -11
  549. data/lib/starter_web/pages/public/test_pages/vtutorials/000_includes/documents/419_advanced_modals_html.asciidoc +0 -928
  550. data/lib/starter_web/pages/public/test_pages/vtutorials/000_test_youtube_video.adoc +0 -141
  551. data/lib/starter_web/pages/public/test_pages/vtutorials/100_basic_video.adoc +0 -109
@@ -1,430 +1,430 @@
1
- [[readmore]]
2
- == Docker smooth on Windows
3
-
4
- [role="mb-3"]
5
- image::{page-imagesdir}/windows_docker_banner.1280x500.png[{{page.title}}]
6
-
7
- In general, two incarnations of Docker for Windows are available:
8
-
9
- * Legacy solution: *Docker Toolbox*
10
- * Native solution: *Docker for Windows*
11
-
12
- Before the native version of Docker *Docker for Windows* was available,
13
- a *cross-platform* solution called *Docker Toolbox* could be used.
14
- *Docker Toolbox* is a bundle of *current* Docker software based on
15
- *Docker Machine* combined with the *Docker Engine* bundled with
16
- *VirtualBox* as a Hypervisor to run Linux boxes as virtual machines
17
- on Windows.
18
-
19
- What the Docker team recomments: Update to the newer package, if possible.
20
- This should be discussed, especially for Windows, in more detail ...
21
-
22
- [WARNING]
23
- ====
24
- *The Docker Team mentions the following about Docker Toolbox:*
25
-
26
- Docker Toolbox is for *older Windows* systems (or *Apple MacOS* versions)
27
- that *does not meet* the requirements of the *native* Docker version.
28
- ====
29
-
30
- Docker won't never run *natively* on Windows. The *Container Technology*
31
- used by Docker depends on *Linux* (at least on a Unix flavour of the host
32
- operating system). For all non-Linux (or Unix) platforms, a *Hypervisor* is
33
- needed to make it possible to run the needed *Linux OS* for Docker.
34
-
35
- Yes, Windows support a *native* Hypervisor layer: `Hyper-V`. Using the Windows
36
- component `Hyper-V`, any operating system can be run as *virtual machines* on
37
- Windows. But it should be kept in mind: the Hypervisor layer is *always* needed;
38
- as well as for the so-called the *native* Docker version on Windows. But:
39
- real *native* Docker versions does *not* need a Hypervisor layer; they run
40
- containers direcly on the host OS! This should be kept on mind.
41
-
42
- They are some pittfals using *Docker for Windows* if you go for:
43
-
44
- * Stability - found quite often issues running containers on *Docker for Windows*.
45
- If you're not a Windows specialist, it is hard to findout issues for `Hyper-V`
46
- , the VM and|or both.
47
- * Flexibility - it is *NOT* possible to use the Hypervisor `Hyper-V` in
48
- parallel to *VirtualBox* as an alternative
49
- * Incompatibility - on some Windows installations, and for sure they met the
50
- requirements of the *native* Docker version, the installaton was *NOT*
51
- successful and Docker fails to start
52
-
53
- Again: the software included in the *Docker Toolbox* are *current* versions.
54
- The latest Toolbox contains:
55
-
56
- * the Docker Engine Docker, version 18.03.0-ce, build 0520e24302
57
- * the Docker Machine, version 0.14.0, build 89b8332
58
- * the Docker Composer, version 1.20.1, build 5d8c71b2
59
- * a current MINGW64-based GNU bash, version 4.4.19(2)-release (x86_64-pc-msys)
60
-
61
- For all the people having their (IT) roots on Unix respectively Linux, the
62
- *Docker Toolbox* is the better solution on Windows (for now). No need to go
63
- for the Windows Hypervisor `Hyper-V` - Oracle *VirtualBox* can be used
64
- instead; as quite often used for testing and development.
65
-
66
- Let's have a look how to *Manage Linux on Windows*, to use Docker on the
67
- Windows platform.
68
-
69
- == Installing Docker Toolbox
70
-
71
- As discussed ealier, *Docker Toolbox* is using *VirtualBox* for the
72
- Hypervisor to create the Linux VMs needed. To get the latest version,
73
- install VirtualBox first (Docker Toolbox includes a installer package
74
- for VBox but not nessesarily at their latets version).
75
-
76
- Go for the link:{virtualbox-install-on-windows}[VirtualBox Download Page]
77
- and select under *VirtualBox 5.x.y platform packages* the latest version
78
- for Windows (Windows hosts). Install the package - the installation process
79
- is quite simple supported by an build in installer wizard.
80
-
81
- If done, go for the installation of the Toolbox. A current package can be
82
- retrieved from link:{docker-install-toolbox-on-windows}[Docker Documents].
83
- The page includes all the info needed to install the software.
84
-
85
- NOTE: For the installation of the *Docker Toolbox*, please deselect the
86
- installation of *VirtualBox* included as the software has been already
87
- installed.
88
-
89
- NOTE: The commandline interface used by *Docker Toolbox* is based on
90
- *Git MSYS-git UNIX tools*. If you have *Git* installed already for your
91
- Windows host, please deselect the installation of *Git* included.
92
-
93
- *Docker Toolbox* comes with *NO* graphical user interface (GUI). To manage
94
- Docker, the included GNU bash of the *Git MSYS-git UNIX tools* shoud be used.
95
- A very first version of a (native) Docker UI on Windows is *Kitematic*,
96
- currently in a alpha version included.
97
-
98
- ifdef::backend-html5[]
99
- .Docker UI Kinematic on Windows
100
- lightbox::docker-windows-kinematic-alpha[ 800, {docker-windows-kinematic-alpha-data} ]
101
- endif::[]
102
-
103
- TIP: You should check *Kitematic*. If started for *Docker Toolbox* on Windows,
104
- change (the Hypervisor) to Virtualbox.
105
-
106
- For Windows users a commandline interface to manage a complex system like
107
- Docker may sound a bit stone age. It's not for good reasons:
108
-
109
- * the knowlegde of the base Docker commands is essential to understand the
110
- Container Technology better
111
-
112
- * Blalal blaaa
113
-
114
-
115
-
116
- == Manage Linux on Windows
117
-
118
- VirtualBox is a greate piece of software for desktop and workstation
119
- virtualization. A huge number of IT specialist and developers are using VB
120
- for: testing and development environments. Sometimes for production
121
- environments – if it's applicable.
122
-
123
- One good idea for VirtualBox is, if you are Web|App developer for Linux you
124
- can keep *Windows* as your primary OS - yeah, yeah those people are living on
125
- our planet! One can install a Linux distribution of choice in VirtualBox VM
126
- and reap both benefits of Windows as primary OS and Linux as a server
127
- platform for good reasons.
128
-
129
- === Create a Linux VM
130
-
131
- lorem:sentences[5]
132
-
133
- lorem:sentences[3]
134
-
135
-
136
- === Sharing Data
137
-
138
- For (real) native Docker installations, it is easy to share data between then
139
- host OS and containers managed by Docker. It is simple this:
140
-
141
- [source, sh]
142
- ----
143
- docker run --rm \
144
- --volume=$PWD:/srv/jekyll \
145
- -p 35729:35729 -p 40000:40000 \
146
- -it jekyll-one/j1:latest \
147
- j1 serve --incremental --livereload
148
- ----
149
-
150
- The container, instructed by `--volume=$PWD:/srv/jekyll` shares the
151
- filesystem of the host - the *native* way to bring in data into a
152
- container for processing. In the example a static Jekyll Web is created
153
- by J1 Template (j1), served by the ports 35729 for livereload and 40000
154
- serving the web.
155
-
156
- For the Windows platform, using a virtual Linux Box for Docker containers,
157
- this is *NOT* possible. The virtual system is managed by Virtualbox and no
158
- direct relationship is in between the VBox and the host operating system
159
- Windows! No (direct) access to the host filesystem is possible. Bad luck so
160
- far.
161
-
162
- Generally spoken, there are 3 ways of sharing files between a Windows host
163
- and Linux guest boxes; keep files:
164
-
165
- * in the guest (Linux) and share them with host through Samba
166
- * on host (Windows) and use VirtualBox *Shared Folders*
167
- * on host (Windows) and mount Windows *Public Folders* via CIFS
168
- from within guest (Linux)
169
-
170
- For all people experienced on the Linux platform, the first option is
171
- probably the easiest. But it has it’s drawbacks. In most cases for testing,
172
- it's *NOT* wanted to keep files in a VM. In case of corruption of the VM,
173
- reinstallation needs, or whatever yor data is *lost* in most cases. Truly,
174
- not an option.
175
-
176
- Typically developers want them kept on native Windows *disks* as they are
177
- expected as more safely stored on physical devices and easier to backup.
178
- So first option is clearly out.
179
-
180
- *Shared Folders* are really a great idea. After installing the *VirtualBox
181
- Guest Additions* (which brings the mount.vboxsf binary and vboxsf kernel
182
- module) the guest can mount automatically a Windows OS folder inside the VM.
183
- Some klicks further the guest start's, mount the *shared folder* in guest and
184
- voila: you're done! Sounds really great.
185
-
186
- But there's a catch – performance. Shared Folders are really, really horrible
187
- slow. Which in turn kills the idea of programming and testing code without
188
- loosing hair because of the slowness. You can find tons of articles around
189
- slow shared folders on the Internet; both for the Big Dogs: VMware and
190
- VirtualBox. But no solution. Since decades.
191
-
192
- Analyzing the performance, it's obvious that kernel spends really large
193
- amount of time in IO mode – so the vboxsf CIFS emulation of VirtualBoxis
194
- behaving something like a slug. Birds love slugs but IT professionals don’t
195
- like that, do they?
196
-
197
- It seems that the only viable solution is sharing folders though Windows and
198
- mounting them via CIFS on the guest, the virtual Linux box. This way, a
199
- similiar flexible solution for sharing folders can be achived but at a much
200
- better performance.
201
-
202
-
203
- === Performance tests
204
-
205
- Anyway, *shared folders* will be always slow as the are of type *NAS* - network
206
- attached storage. For a local network nowadays, typically at Gigabit level and
207
- quite low in latency, an acceptable performance cab be achived.
208
-
209
- I did some simple tests to show the performance differences. There are three
210
- directories I did for my tests:
211
-
212
- * /mnt/media/repo1, data on a physical (local) disk on the host
213
- * /mnt/media/repo2, data on a physical (local) disk in the guest
214
- * /mnt/media/repo3, data on a Windows share mounted via cifs in the guest
215
-
216
- I've been using simple (bash) script based on *dd* commands for testing.
217
- The *dd* commands used as a base are shown below. For sure not a quite
218
- sophisticated test scenario but it's giving a general impression what can
219
- achived in real world.
220
-
221
- NOTE: For multi-platform testing, on Windows the `dd` command is used as well.
222
- For *Docker Toolbox*, beside the GNU bash, a full set of *GNU CoreUtils* are
223
- available as well (accessible out of the *Docker Quickstart Terminal*). The
224
- used (bash) test script needs to be run out of *Docker Quickstart Terminal*.
225
- Download the tester script from here.
226
-
227
- The test script *docker_perf_test.sh* supports a test scenario for
228
- *General System Performance*. This is focussing on pure CPU|Memory power.
229
- On both systems (host and guest) these tests are using pure *kernel services*
230
- for creating input and output data. One is creating random input data as
231
- fast as possible, the other discards everything it gets as fast as it can.
232
-
233
- .General System Performance
234
- [source, sh]
235
- ----
236
- dd if=/dev/urandom of=/dev/null bs=1M count=10000
237
- ----
238
-
239
- Please see those tests for *General System Performance* for the background
240
- *What could be achived in therory*. These tests may helpful to compare your
241
- current setup for the host and the guest same way.
242
-
243
- As mentioned, all tests for *docker_perf_test.sh* are based on the `dd`
244
- command. For *real world* measures, standard *dd tests* are used. You'll
245
- find a lot of those on the Internet. All tests for *docker_perf_test.sh* are
246
- changed (from `/dev/zero`) to `/dev/urandom` for the input to put some
247
- *pressure* on the CPU while processing data for reading or writing from the
248
- filesystem to be checked. All the tests are *rules of thumb*, no technical
249
- measures.
250
-
251
- NOTE: Zum Messen der Schreibperformance liest man die zu Schreibenden
252
- Daten am besten aus /dev/zero und schreibt eine normale Datei im Filesystem
253
- (z.B. mit of=/root/testfile). Die folgenden Beispiele verwenden ein Testdatei,
254
- um irrtümlichen Datenverlust zu vermeiden. Die dabei erzielbare Performance
255
- Werte sind etwas geringer (da dadurch auch Metadaten im Filesystem geschrieben
256
- werden).
257
-
258
- Find the base `dd` commands for read an write performance tests below. The
259
- exported shared folder on Windows is *C:\Users\Public* mapped to the Unix
260
- (POSIX) folder scheme of */c/Users/Public* on the guest OS.
261
-
262
- .Write Performance - Windows host (local disk), Linux guest (shared disk)
263
- [source, sh]
264
- ----
265
- dd if=/dev/urandom bs=1M count=1024 | split -b 1M - name.
266
- ----
267
- .Write Performance (local disk), Linux guest
268
- [source, sh]
269
- ----
270
- dd if=/dev/urandom of=/var/tmp/test/samplefile bs=1M count=1024
271
- ----
272
-
273
- .Read Performance - Windows host (local disk), Linux guest (shared disk)
274
- [source, sh]
275
- ----
276
- dd if=/c/Users/Public/test/samplefile of=/dev/null bs=1M count=1024 iflag=direct
277
- ----
278
- .Read Performance (local disk), Linux guest
279
- [source, sh]
280
- ----
281
- dd if=/var/tmp/test/samplefile of=/dev/null bs=1M count=1024 iflag=direct
282
- ----
283
-
284
- Have a look at the table below for the measures found on a *Windows 10*
285
- desktop host (Intel Core Quad Q9550) using a *SATA-300* disk for the local
286
- physical disk and a Gigabit network interface (*Realtek PCIe GBE* familiy)
287
- running a *CentOS 7 Linux* (version 3.10.0-862) as a guest:
288
-
289
- .Data transfer rates for 1 GB of data
290
- [cols="2,2,4,3, options="header", role="table-responsive, full-width"]
291
- |===============================================================================
292
- |direction |mountpoint |source |througput [MB/s]
293
-
294
- |`read`
295
- |/mnt/media/repo1
296
- |physical (local) disk on the *host*
297
- |85.20
298
-
299
- |`read`
300
- |/mnt/media/repo2
301
- |physical (local) disk on the *guest*
302
- |147.00
303
-
304
- |`read`
305
- |/mnt/media/repo3
306
- |shared disk on the *guest*
307
- |30.3
308
-
309
- |`write`
310
- |/mnt/media/repo1
311
- |physical (local) disk on the *host*
312
- |234.00
313
-
314
- |`write`
315
- |/mnt/media/repo2
316
- |physical (local) disk on the *guest*
317
- |34.00
318
-
319
- |`write`
320
- |/mnt/media/repo3
321
- |shared disk on the *guest*
322
- |39.9
323
-
324
- |===============================================================================
325
-
326
- WARNING: Bei Verwendung von if=/dev/zero und bs=1G benötigt das Linuxsystem
327
- 1GB freien Platz im RAM. Falls Ihr Testsystem nicht ausreichend RAM ...
328
-
329
- NOTE: Um praxisnahe Ergebnisse zu erhalten empfehlen wir die beschrieben Tests
330
- mehrmals (z.B. 3 bis 10x) durchzuführen. Damit können Sie Ausreißer rechtzeitig
331
- erkennen.
332
-
333
-
334
- lorem:sentences[5]
335
-
336
- == Publish a Shared Folder
337
-
338
- lorem:sentences[5]
339
-
340
- lorem:sentences[3]
341
-
342
-
343
- == Mount Shared Folders on Linux
344
-
345
- lorem:sentences[5]
346
-
347
- === Installing CIFS
348
-
349
- For the Linux VM, a current Ubunt Server of version 18.06 is used. To mount
350
- CIFS shares, the package `cifs-utils` needs to be installed:
351
-
352
- [source, bash]
353
- ----
354
- sudo apt-get -y install cifs-utils
355
- ----
356
-
357
- Mounting filesystems in general, therefor the same to the CIFS share, are
358
- done as root. This ends up in the situation this folder cannot (accessed??)
359
- written as normal user.
360
-
361
- . Create the `cifs` group
362
- +
363
- [source, bash]
364
- ----
365
- sudo groupadd cifs
366
- ----
367
-
368
- [start=2]
369
- . Add your user to the `cifs` group
370
- +
371
- [source, bash]
372
- ----
373
- sudo usermod -aG cifs $USER
374
- ----
375
-
376
- [start=3]
377
- . Create the mountpoint (to be used by Docker) as root
378
- +
379
- [source, bash]
380
- ----
381
- mkdir -p /c/Users/Public
382
- ----
383
-
384
- [start=4]
385
- . Change the ownership of the mountpoint
386
- +
387
- [source, bash]
388
- ----
389
- chown -R root:cifs /c/Users/Public
390
- ----
391
-
392
- [start=5]
393
- . Create a credentials file to place user|password data safe.
394
- +
395
- [source, bash]
396
- ----
397
- touch ~/.smbcredentials
398
- ----
399
-
400
- .smbcredentials
401
- ----
402
- username=<your_windows_user>
403
- password=<windows_user_password>
404
- ----
405
-
406
- === Mount the share manually
407
-
408
- To enable non-authorized users to read and write the shared files, specify
409
- user and group ID that the mounted shares folders should use. This would
410
- allow particular users and group members to read|write to the share.
411
-
412
- To do so, the following options are used for a public mount:
413
-
414
- * username
415
- * password
416
- * uid
417
- * gid
418
-
419
- Add the Windows host IP address to the hosts file
420
-
421
- ./etc/hosts
422
- <ip_v4_address> <name_of_the windows_box> <alias_name>
423
-
424
-
425
- === Mount the share at boot-time
426
-
427
- lorem:sentences[3]
428
-
429
- ./etc/fstab
430
- &#47;&#47;win10pc/Public /c/Users/Public cifs uid=1000,gid=5555,credentials=/home/jadams/.smbcredentials,iocharset=utf8,rw 0 0
1
+ [[readmore]]
2
+ == Docker smooth on Windows
3
+
4
+ [role="mb-3"]
5
+ image::{page-imagesdir}/windows_docker_banner.1280x500.png[{{page.title}}]
6
+
7
+ In general, two incarnations of Docker for Windows are available:
8
+
9
+ * Legacy solution: *Docker Toolbox*
10
+ * Native solution: *Docker for Windows*
11
+
12
+ Before the native version of Docker *Docker for Windows* was available,
13
+ a *cross-platform* solution called *Docker Toolbox* could be used.
14
+ *Docker Toolbox* is a bundle of *current* Docker software based on
15
+ *Docker Machine* combined with the *Docker Engine* bundled with
16
+ *VirtualBox* as a Hypervisor to run Linux boxes as virtual machines
17
+ on Windows.
18
+
19
+ What the Docker team recomments: Update to the newer package, if possible.
20
+ This should be discussed, especially for Windows, in more detail ...
21
+
22
+ [WARNING]
23
+ ====
24
+ *The Docker Team mentions the following about Docker Toolbox:*
25
+
26
+ Docker Toolbox is for *older Windows* systems (or *Apple MacOS* versions)
27
+ that *does not meet* the requirements of the *native* Docker version.
28
+ ====
29
+
30
+ Docker won't never run *natively* on Windows. The *Container Technology*
31
+ used by Docker depends on *Linux* (at least on a Unix flavour of the host
32
+ operating system). For all non-Linux (or Unix) platforms, a *Hypervisor* is
33
+ needed to make it possible to run the needed *Linux OS* for Docker.
34
+
35
+ Yes, Windows support a *native* Hypervisor layer: `Hyper-V`. Using the Windows
36
+ component `Hyper-V`, any operating system can be run as *virtual machines* on
37
+ Windows. But it should be kept in mind: the Hypervisor layer is *always* needed;
38
+ as well as for the so-called the *native* Docker version on Windows. But:
39
+ real *native* Docker versions does *not* need a Hypervisor layer; they run
40
+ containers direcly on the host OS! This should be kept on mind.
41
+
42
+ They are some pittfals using *Docker for Windows* if you go for:
43
+
44
+ * Stability - found quite often issues running containers on *Docker for Windows*.
45
+ If you're not a Windows specialist, it is hard to findout issues for `Hyper-V`
46
+ , the VM and|or both.
47
+ * Flexibility - it is *NOT* possible to use the Hypervisor `Hyper-V` in
48
+ parallel to *VirtualBox* as an alternative
49
+ * Incompatibility - on some Windows installations, and for sure they met the
50
+ requirements of the *native* Docker version, the installaton was *NOT*
51
+ successful and Docker fails to start
52
+
53
+ Again: the software included in the *Docker Toolbox* are *current* versions.
54
+ The latest Toolbox contains:
55
+
56
+ * the Docker Engine Docker, version 18.03.0-ce, build 0520e24302
57
+ * the Docker Machine, version 0.14.0, build 89b8332
58
+ * the Docker Composer, version 1.20.1, build 5d8c71b2
59
+ * a current MINGW64-based GNU bash, version 4.4.19(2)-release (x86_64-pc-msys)
60
+
61
+ For all the people having their (IT) roots on Unix respectively Linux, the
62
+ *Docker Toolbox* is the better solution on Windows (for now). No need to go
63
+ for the Windows Hypervisor `Hyper-V` - Oracle *VirtualBox* can be used
64
+ instead; as quite often used for testing and development.
65
+
66
+ Let's have a look how to *Manage Linux on Windows*, to use Docker on the
67
+ Windows platform.
68
+
69
+ == Installing Docker Toolbox
70
+
71
+ As discussed ealier, *Docker Toolbox* is using *VirtualBox* for the
72
+ Hypervisor to create the Linux VMs needed. To get the latest version,
73
+ install VirtualBox first (Docker Toolbox includes a installer package
74
+ for VBox but not nessesarily at their latets version).
75
+
76
+ Go for the link:{virtualbox-install-on-windows}[VirtualBox Download Page]
77
+ and select under *VirtualBox 5.x.y platform packages* the latest version
78
+ for Windows (Windows hosts). Install the package - the installation process
79
+ is quite simple supported by an build in installer wizard.
80
+
81
+ If done, go for the installation of the Toolbox. A current package can be
82
+ retrieved from link:{docker-install-toolbox-on-windows}[Docker Documents].
83
+ The page includes all the info needed to install the software.
84
+
85
+ NOTE: For the installation of the *Docker Toolbox*, please deselect the
86
+ installation of *VirtualBox* included as the software has been already
87
+ installed.
88
+
89
+ NOTE: The commandline interface used by *Docker Toolbox* is based on
90
+ *Git MSYS-git UNIX tools*. If you have *Git* installed already for your
91
+ Windows host, please deselect the installation of *Git* included.
92
+
93
+ *Docker Toolbox* comes with *NO* graphical user interface (GUI). To manage
94
+ Docker, the included GNU bash of the *Git MSYS-git UNIX tools* shoud be used.
95
+ A very first version of a (native) Docker UI on Windows is *Kitematic*,
96
+ currently in a alpha version included.
97
+
98
+ ifdef::backend-html5[]
99
+ .Docker UI Kinematic on Windows
100
+ lightbox::docker-windows-kinematic-alpha[ 800, {docker-windows-kinematic-alpha-data} ]
101
+ endif::[]
102
+
103
+ TIP: You should check *Kitematic*. If started for *Docker Toolbox* on Windows,
104
+ change (the Hypervisor) to Virtualbox.
105
+
106
+ For Windows users a commandline interface to manage a complex system like
107
+ Docker may sound a bit stone age. It's not for good reasons:
108
+
109
+ * the knowlegde of the base Docker commands is essential to understand the
110
+ Container Technology better
111
+
112
+ * Blalal blaaa
113
+
114
+
115
+
116
+ == Manage Linux on Windows
117
+
118
+ VirtualBox is a greate piece of software for desktop and workstation
119
+ virtualization. A huge number of IT specialist and developers are using VB
120
+ for: testing and development environments. Sometimes for production
121
+ environments – if it's applicable.
122
+
123
+ One good idea for VirtualBox is, if you are Web|App developer for Linux you
124
+ can keep *Windows* as your primary OS - yeah, yeah those people are living on
125
+ our planet! One can install a Linux distribution of choice in VirtualBox VM
126
+ and reap both benefits of Windows as primary OS and Linux as a server
127
+ platform for good reasons.
128
+
129
+ === Create a Linux VM
130
+
131
+ lorem:sentences[5]
132
+
133
+ lorem:sentences[3]
134
+
135
+
136
+ === Sharing Data
137
+
138
+ For (real) native Docker installations, it is easy to share data between then
139
+ host OS and containers managed by Docker. It is simple this:
140
+
141
+ [source, sh]
142
+ ----
143
+ docker run --rm \
144
+ --volume=$PWD:/srv/jekyll \
145
+ -p 35729:35729 -p 40000:40000 \
146
+ -it jekyll-one/j1:latest \
147
+ j1 serve --incremental --livereload
148
+ ----
149
+
150
+ The container, instructed by `--volume=$PWD:/srv/jekyll` shares the
151
+ filesystem of the host - the *native* way to bring in data into a
152
+ container for processing. In the example a static Jekyll Web is created
153
+ by J1 Template (j1), served by the ports 35729 for livereload and 40000
154
+ serving the web.
155
+
156
+ For the Windows platform, using a virtual Linux Box for Docker containers,
157
+ this is *NOT* possible. The virtual system is managed by Virtualbox and no
158
+ direct relationship is in between the VBox and the host operating system
159
+ Windows! No (direct) access to the host filesystem is possible. Bad luck so
160
+ far.
161
+
162
+ Generally spoken, there are 3 ways of sharing files between a Windows host
163
+ and Linux guest boxes; keep files:
164
+
165
+ * in the guest (Linux) and share them with host through Samba
166
+ * on host (Windows) and use VirtualBox *Shared Folders*
167
+ * on host (Windows) and mount Windows *Public Folders* via CIFS
168
+ from within guest (Linux)
169
+
170
+ For all people experienced on the Linux platform, the first option is
171
+ probably the easiest. But it has it’s drawbacks. In most cases for testing,
172
+ it's *NOT* wanted to keep files in a VM. In case of corruption of the VM,
173
+ reinstallation needs, or whatever yor data is *lost* in most cases. Truly,
174
+ not an option.
175
+
176
+ Typically developers want them kept on native Windows *disks* as they are
177
+ expected as more safely stored on physical devices and easier to backup.
178
+ So first option is clearly out.
179
+
180
+ *Shared Folders* are really a great idea. After installing the *VirtualBox
181
+ Guest Additions* (which brings the mount.vboxsf binary and vboxsf kernel
182
+ module) the guest can mount automatically a Windows OS folder inside the VM.
183
+ Some klicks further the guest start's, mount the *shared folder* in guest and
184
+ voila: you're done! Sounds really great.
185
+
186
+ But there's a catch – performance. Shared Folders are really, really horrible
187
+ slow. Which in turn kills the idea of programming and testing code without
188
+ loosing hair because of the slowness. You can find tons of articles around
189
+ slow shared folders on the Internet; both for the Big Dogs: VMware and
190
+ VirtualBox. But no solution. Since decades.
191
+
192
+ Analyzing the performance, it's obvious that kernel spends really large
193
+ amount of time in IO mode – so the vboxsf CIFS emulation of VirtualBoxis
194
+ behaving something like a slug. Birds love slugs but IT professionals don’t
195
+ like that, do they?
196
+
197
+ It seems that the only viable solution is sharing folders though Windows and
198
+ mounting them via CIFS on the guest, the virtual Linux box. This way, a
199
+ similiar flexible solution for sharing folders can be achived but at a much
200
+ better performance.
201
+
202
+
203
+ === Performance tests
204
+
205
+ Anyway, *shared folders* will be always slow as the are of type *NAS* - network
206
+ attached storage. For a local network nowadays, typically at Gigabit level and
207
+ quite low in latency, an acceptable performance cab be achived.
208
+
209
+ I did some simple tests to show the performance differences. There are three
210
+ directories I did for my tests:
211
+
212
+ * /mnt/media/repo1, data on a physical (local) disk on the host
213
+ * /mnt/media/repo2, data on a physical (local) disk in the guest
214
+ * /mnt/media/repo3, data on a Windows share mounted via cifs in the guest
215
+
216
+ I've been using simple (bash) script based on *dd* commands for testing.
217
+ The *dd* commands used as a base are shown below. For sure not a quite
218
+ sophisticated test scenario but it's giving a general impression what can
219
+ achived in real world.
220
+
221
+ NOTE: For multi-platform testing, on Windows the `dd` command is used as well.
222
+ For *Docker Toolbox*, beside the GNU bash, a full set of *GNU CoreUtils* are
223
+ available as well (accessible out of the *Docker Quickstart Terminal*). The
224
+ used (bash) test script needs to be run out of *Docker Quickstart Terminal*.
225
+ Download the tester script from here.
226
+
227
+ The test script *docker_perf_test.sh* supports a test scenario for
228
+ *General System Performance*. This is focussing on pure CPU|Memory power.
229
+ On both systems (host and guest) these tests are using pure *kernel services*
230
+ for creating input and output data. One is creating random input data as
231
+ fast as possible, the other discards everything it gets as fast as it can.
232
+
233
+ .General System Performance
234
+ [source, sh]
235
+ ----
236
+ dd if=/dev/urandom of=/dev/null bs=1M count=10000
237
+ ----
238
+
239
+ Please see those tests for *General System Performance* for the background
240
+ *What could be achived in therory*. These tests may helpful to compare your
241
+ current setup for the host and the guest same way.
242
+
243
+ As mentioned, all tests for *docker_perf_test.sh* are based on the `dd`
244
+ command. For *real world* measures, standard *dd tests* are used. You'll
245
+ find a lot of those on the Internet. All tests for *docker_perf_test.sh* are
246
+ changed (from `/dev/zero`) to `/dev/urandom` for the input to put some
247
+ *pressure* on the CPU while processing data for reading or writing from the
248
+ filesystem to be checked. All the tests are *rules of thumb*, no technical
249
+ measures.
250
+
251
+ NOTE: Zum Messen der Schreibperformance liest man die zu Schreibenden
252
+ Daten am besten aus /dev/zero und schreibt eine normale Datei im Filesystem
253
+ (z.B. mit of=/root/testfile). Die folgenden Beispiele verwenden ein Testdatei,
254
+ um irrtümlichen Datenverlust zu vermeiden. Die dabei erzielbare Performance
255
+ Werte sind etwas geringer (da dadurch auch Metadaten im Filesystem geschrieben
256
+ werden).
257
+
258
+ Find the base `dd` commands for read an write performance tests below. The
259
+ exported shared folder on Windows is *C:\Users\Public* mapped to the Unix
260
+ (POSIX) folder scheme of */c/Users/Public* on the guest OS.
261
+
262
+ .Write Performance - Windows host (local disk), Linux guest (shared disk)
263
+ [source, sh]
264
+ ----
265
+ dd if=/dev/urandom bs=1M count=1024 | split -b 1M - name.
266
+ ----
267
+ .Write Performance (local disk), Linux guest
268
+ [source, sh]
269
+ ----
270
+ dd if=/dev/urandom of=/var/tmp/test/samplefile bs=1M count=1024
271
+ ----
272
+
273
+ .Read Performance - Windows host (local disk), Linux guest (shared disk)
274
+ [source, sh]
275
+ ----
276
+ dd if=/c/Users/Public/test/samplefile of=/dev/null bs=1M count=1024 iflag=direct
277
+ ----
278
+ .Read Performance (local disk), Linux guest
279
+ [source, sh]
280
+ ----
281
+ dd if=/var/tmp/test/samplefile of=/dev/null bs=1M count=1024 iflag=direct
282
+ ----
283
+
284
+ Have a look at the table below for the measures found on a *Windows 10*
285
+ desktop host (Intel Core Quad Q9550) using a *SATA-300* disk for the local
286
+ physical disk and a Gigabit network interface (*Realtek PCIe GBE* familiy)
287
+ running a *CentOS 7 Linux* (version 3.10.0-862) as a guest:
288
+
289
+ .Data transfer rates for 1 GB of data
290
+ [cols="2,2,4,3, options="header", role="table-responsive, full-width"]
291
+ |===============================================================================
292
+ |direction |mountpoint |source |througput [MB/s]
293
+
294
+ |`read`
295
+ |/mnt/media/repo1
296
+ |physical (local) disk on the *host*
297
+ |85.20
298
+
299
+ |`read`
300
+ |/mnt/media/repo2
301
+ |physical (local) disk on the *guest*
302
+ |147.00
303
+
304
+ |`read`
305
+ |/mnt/media/repo3
306
+ |shared disk on the *guest*
307
+ |30.3
308
+
309
+ |`write`
310
+ |/mnt/media/repo1
311
+ |physical (local) disk on the *host*
312
+ |234.00
313
+
314
+ |`write`
315
+ |/mnt/media/repo2
316
+ |physical (local) disk on the *guest*
317
+ |34.00
318
+
319
+ |`write`
320
+ |/mnt/media/repo3
321
+ |shared disk on the *guest*
322
+ |39.9
323
+
324
+ |===============================================================================
325
+
326
+ WARNING: Bei Verwendung von if=/dev/zero und bs=1G benötigt das Linuxsystem
327
+ 1GB freien Platz im RAM. Falls Ihr Testsystem nicht ausreichend RAM ...
328
+
329
+ NOTE: Um praxisnahe Ergebnisse zu erhalten empfehlen wir die beschrieben Tests
330
+ mehrmals (z.B. 3 bis 10x) durchzuführen. Damit können Sie Ausreißer rechtzeitig
331
+ erkennen.
332
+
333
+
334
+ lorem:sentences[5]
335
+
336
+ == Publish a Shared Folder
337
+
338
+ lorem:sentences[5]
339
+
340
+ lorem:sentences[3]
341
+
342
+
343
+ == Mount Shared Folders on Linux
344
+
345
+ lorem:sentences[5]
346
+
347
+ === Installing CIFS
348
+
349
+ For the Linux VM, a current Ubunt Server of version 18.06 is used. To mount
350
+ CIFS shares, the package `cifs-utils` needs to be installed:
351
+
352
+ [source, bash]
353
+ ----
354
+ sudo apt-get -y install cifs-utils
355
+ ----
356
+
357
+ Mounting filesystems in general, therefor the same to the CIFS share, are
358
+ done as root. This ends up in the situation this folder cannot (accessed??)
359
+ written as normal user.
360
+
361
+ . Create the `cifs` group
362
+ +
363
+ [source, bash]
364
+ ----
365
+ sudo groupadd cifs
366
+ ----
367
+
368
+ [start=2]
369
+ . Add your user to the `cifs` group
370
+ +
371
+ [source, bash]
372
+ ----
373
+ sudo usermod -aG cifs $USER
374
+ ----
375
+
376
+ [start=3]
377
+ . Create the mountpoint (to be used by Docker) as root
378
+ +
379
+ [source, bash]
380
+ ----
381
+ mkdir -p /c/Users/Public
382
+ ----
383
+
384
+ [start=4]
385
+ . Change the ownership of the mountpoint
386
+ +
387
+ [source, bash]
388
+ ----
389
+ chown -R root:cifs /c/Users/Public
390
+ ----
391
+
392
+ [start=5]
393
+ . Create a credentials file to place user|password data safe.
394
+ +
395
+ [source, bash]
396
+ ----
397
+ touch ~/.smbcredentials
398
+ ----
399
+
400
+ .smbcredentials
401
+ ----
402
+ username=<your_windows_user>
403
+ password=<windows_user_password>
404
+ ----
405
+
406
+ === Mount the share manually
407
+
408
+ To enable non-authorized users to read and write the shared files, specify
409
+ user and group ID that the mounted shares folders should use. This would
410
+ allow particular users and group members to read|write to the share.
411
+
412
+ To do so, the following options are used for a public mount:
413
+
414
+ * username
415
+ * password
416
+ * uid
417
+ * gid
418
+
419
+ Add the Windows host IP address to the hosts file
420
+
421
+ ./etc/hosts
422
+ <ip_v4_address> <name_of_the windows_box> <alias_name>
423
+
424
+
425
+ === Mount the share at boot-time
426
+
427
+ lorem:sentences[3]
428
+
429
+ ./etc/fstab
430
+ &#47;&#47;win10pc/Public /c/Users/Public cifs uid=1000,gid=5555,credentials=/home/jadams/.smbcredentials,iocharset=utf8,rw 0 0