j1-template 2021.0.0 → 2021.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (601) 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 +1 -1
  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 +7 -7
  38. data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +11 -11
  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 +2 -2
  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 +1 -1
  85. data/assets/data/cookiebar.html +1 -1
  86. data/assets/data/fam.html +2 -2
  87. data/assets/data/footer.html +1 -1
  88. data/assets/data/galleries.json +1 -1
  89. data/assets/data/gallery_customizer.html +2 -2
  90. data/assets/data/mdi_icons.json +69583 -14641
  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 +2 -2
  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 +3 -3
  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 +4 -4
  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 +3 -3
  129. data/assets/themes/j1/adapter/js/themer.js +55 -47
  130. data/assets/themes/j1/adapter/js/toccer.js +2 -2
  131. data/assets/themes/j1/core/css/animate.css +2 -2
  132. data/assets/themes/j1/core/css/animate.min.css +1 -7
  133. data/assets/themes/j1/core/css/icon-fonts/fontawesome.css +5 -12
  134. data/assets/themes/j1/core/css/icon-fonts/fontawesome.min.css +1 -1
  135. data/assets/themes/j1/core/css/icon-fonts/iconify.css +5 -5
  136. data/assets/themes/j1/core/css/icon-fonts/materialdesign.css +12514 -4821
  137. data/assets/themes/j1/core/css/icon-fonts/materialdesign.min.css +1 -1
  138. data/assets/themes/j1/core/css/icon-fonts/twemoji.css +6 -6
  139. data/assets/themes/j1/core/css/icon-fonts/twemoji.min.css +1 -1
  140. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +80 -50
  141. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +1 -6
  142. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +109 -79
  143. data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -6
  144. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +162 -109
  145. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -8
  146. data/assets/themes/j1/core/css/vendor.css +7 -7
  147. data/assets/themes/j1/core/css/vendor.min.css +1 -1
  148. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.eot → eot/fa-brands-400.eot} +0 -0
  149. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.eot → eot/fa-regular-400.eot} +0 -0
  150. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.eot → eot/fa-solid-900.eot} +0 -0
  151. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.svg → svg/fa-brands-400.svg} +0 -0
  152. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.svg → svg/fa-regular-400.svg} +0 -0
  153. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.svg → svg/fa-solid-900.svg} +0 -0
  154. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.ttf → ttf/fa-brands-400.ttf} +0 -0
  155. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.ttf → ttf/fa-regular-400.ttf} +0 -0
  156. data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.ttf → ttf/fa-solid-900.ttf} +0 -0
  157. data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92/eot}/materialdesignicons-webfont.eot +0 -0
  158. data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92}/materialdesignicons-webfont.woff +0 -0
  159. data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92}/materialdesignicons-webfont.woff2 +0 -0
  160. data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92/svg}/materialdesignicons-webfont.svg +0 -0
  161. data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92/ttf}/materialdesignicons-webfont.ttf +0 -0
  162. data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/eot/materialdesignicons-webfont.eot +0 -0
  163. data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/materialdesignicons-webfont.woff +0 -0
  164. data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/materialdesignicons-webfont.woff2 +0 -0
  165. data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/preview.html +717 -0
  166. data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/svg/materialdesignicons-webfont.svg +10188 -0
  167. data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/ttf/materialdesignicons-webfont.ttf +0 -0
  168. data/assets/themes/j1/core/fonts/material_design_icons/fonts/eot/materialdesignicons-webfont.eot +0 -0
  169. data/assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff +0 -0
  170. data/assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff2 +0 -0
  171. data/assets/themes/j1/core/fonts/material_design_icons/fonts/svg/materialdesignicons-webfont.svg +10188 -0
  172. data/assets/themes/j1/core/fonts/material_design_icons/fonts/ttf/materialdesignicons-webfont.ttf +0 -0
  173. data/assets/themes/j1/core/fonts/{materialdesign_icons → material_design_icons}/metadata/icons.json +0 -0
  174. data/assets/themes/j1/core/fonts/{materialdesign_icons → material_design_icons}/metadata/icons.yml +0 -0
  175. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.eot → eot/Roboto-Bold.eot} +0 -0
  176. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.eot → eot/Roboto-Light.eot} +0 -0
  177. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.eot → eot/Roboto-Medium.eot} +0 -0
  178. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.eot → eot/Roboto-Regular.eot} +0 -0
  179. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.eot → eot/Roboto-Thin.eot} +0 -0
  180. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Black.ttf → ttf/Roboto-Black.ttf} +0 -0
  181. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BlackItalic.ttf → ttf/Roboto-BlackItalic.ttf} +0 -0
  182. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.ttf → ttf/Roboto-Bold.ttf} +0 -0
  183. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BoldItalic.ttf → ttf/Roboto-BoldItalic.ttf} +0 -0
  184. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Italic.ttf → ttf/Roboto-Italic.ttf} +0 -0
  185. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.ttf → ttf/Roboto-Light.ttf} +0 -0
  186. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-LightItalic.ttf → ttf/Roboto-LightItalic.ttf} +0 -0
  187. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.ttf → ttf/Roboto-Medium.ttf} +0 -0
  188. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-MediumItalic.ttf → ttf/Roboto-MediumItalic.ttf} +0 -0
  189. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.ttf → ttf/Roboto-Regular.ttf} +0 -0
  190. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.ttf → ttf/Roboto-Thin.ttf} +0 -0
  191. data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-ThinItalic.ttf → ttf/Roboto-ThinItalic.ttf} +0 -0
  192. data/assets/themes/j1/core/js/template.js +5 -10
  193. data/assets/themes/j1/core/js/template.js.map +1 -1
  194. data/assets/themes/j1/core/js/template.min.js +23 -1
  195. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1 -1
  196. data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
  197. data/assets/themes/j1/modules/carousel/css/carousel.css +1 -1
  198. data/assets/themes/j1/modules/carousel/css/carousel.min.css +1 -1
  199. data/assets/themes/j1/modules/carousel/css/carousel_transitions.css +1 -1
  200. data/assets/themes/j1/modules/carousel/css/carousel_transitions.min.css +1 -1
  201. data/assets/themes/j1/modules/carousel/css/theme/uno.css +1 -1
  202. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  203. data/assets/themes/j1/modules/clipboard/css/theme/uno.css +1 -1
  204. data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +1 -1
  205. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc.png +0 -0
  206. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc_disabled.png +0 -0
  207. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_both.png +0 -0
  208. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc.png +0 -0
  209. data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc_disabled.png +0 -0
  210. data/assets/themes/j1/modules/datatables/css/datatables.css +1113 -0
  211. data/assets/themes/j1/modules/datatables/css/datatables.min.css +136 -0
  212. data/assets/themes/j1/modules/datatables/css/theme/uno.css +473 -0
  213. data/assets/themes/j1/modules/datatables/js/datatables.js +95360 -0
  214. data/assets/themes/j1/modules/datatables/js/datatables.min.js +533 -0
  215. data/assets/themes/j1/modules/fam/css/uno/fam.css +1 -1
  216. data/assets/themes/j1/modules/fam/js/fam.js +1 -1
  217. data/assets/themes/j1/modules/iframeResizer/LICENSE +21 -21
  218. data/assets/themes/j1/modules/jquery/js/jquery-3.5.1.min.map +1 -0
  219. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.7.0/css/theme/uno.css +1 -1
  220. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/css/justifiedGallery.css +110 -0
  221. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/css/justifiedGallery.min.css +110 -0
  222. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/jquery.justifiedGallery.js +1245 -0
  223. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/jquery.justifiedGallery.min.js +8 -0
  224. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.min.zip +0 -0
  225. data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.zip +0 -0
  226. data/assets/themes/j1/modules/justifiedGallery/_versions/v4.0.0/css/theme/uno.css +1 -1
  227. data/assets/themes/j1/modules/justifiedGallery/css/_archived/justifiedGallery.css +110 -0
  228. data/assets/themes/j1/modules/justifiedGallery/css/_archived/justifiedGallery.min.css +110 -0
  229. data/assets/themes/j1/modules/justifiedGallery/css/justifiedGallery.css +11 -10
  230. data/assets/themes/j1/modules/justifiedGallery/css/justifiedGallery.min.css +3 -106
  231. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +1 -1
  232. data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
  233. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.js +147 -146
  234. data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.min.js +3 -3
  235. data/assets/themes/j1/modules/lightGallery/css/themes/uno.css +1 -1
  236. data/assets/themes/j1/modules/lightGallery/css/themes/uno.min.css +1 -1
  237. data/assets/themes/j1/modules/lightGallery/js/core/lightgallery.min.js +1 -2
  238. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.js +1 -1
  239. data/assets/themes/j1/modules/lightGallery/js/modules/j1/j1-video.min.js +1 -1
  240. data/assets/themes/j1/modules/lightbox/LICENSE +22 -22
  241. data/assets/themes/j1/modules/lightbox/css/lightbox.css +1 -1
  242. data/assets/themes/j1/modules/lightbox/css/lightbox.min.css +1 -1
  243. data/assets/themes/j1/modules/lightbox/css/theme/uno.css +1 -1
  244. data/assets/themes/j1/modules/lightbox/css/theme/uno.min.css +1 -1
  245. data/assets/themes/j1/modules/lightbox/js/lightbox.js +2 -2
  246. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +1 -1
  247. data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.css → quicksearch.css} +1 -1
  248. data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.min.css → quicksearch.min.css} +13 -6
  249. data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.js +304 -0
  250. data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.min.js +1 -0
  251. data/assets/themes/j1/modules/lunrSearch/js/{lunr_search.js → quicksearch.js} +23 -4
  252. data/assets/themes/j1/modules/lunrSearch/js/quicksearch.min.js +17 -0
  253. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.js +381 -0
  254. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.min.js +1 -0
  255. data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.js +284 -0
  256. data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.min.js +18 -0
  257. data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.js +384 -0
  258. data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.min.js +18 -0
  259. data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.js +450 -0
  260. data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.min.js +18 -0
  261. data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.js +599 -0
  262. data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.min.js +18 -0
  263. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.js +541 -0
  264. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.min.js +18 -0
  265. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.js +703 -0
  266. data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.min.js +18 -0
  267. data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.js +565 -0
  268. data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.min.js +18 -0
  269. data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.js +617 -0
  270. data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.min.js +18 -0
  271. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.js +188 -0
  272. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.min.js +1 -0
  273. data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.js +5 -0
  274. data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.min.js +1 -0
  275. data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.js +79 -0
  276. data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.min.js +1 -0
  277. data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.js +448 -0
  278. data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.min.js +18 -0
  279. data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.js +258 -0
  280. data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.min.js +18 -0
  281. data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.js +570 -0
  282. data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.min.js +18 -0
  283. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.js +558 -0
  284. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.min.js +18 -0
  285. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.js +391 -0
  286. data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.min.js +18 -0
  287. data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.js +256 -0
  288. data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.min.js +18 -0
  289. data/assets/themes/j1/modules/lunrSearch/languages/lunr.th.js +97 -0
  290. data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.js +1087 -0
  291. data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.min.js +18 -0
  292. data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.js +84 -0
  293. data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.min.js +1 -0
  294. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +21 -6
  295. data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +2 -2
  296. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.js +115 -0
  297. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.min.js +15 -0
  298. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.new.js +111 -0
  299. data/assets/themes/j1/modules/mdiPreviewer/js/previewer.old.js +103 -0
  300. data/assets/themes/j1/modules/mmenuLight/css/mmenu.css +1 -1
  301. data/assets/themes/j1/modules/mmenuLight/css/mmenu.min.css +1 -1
  302. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.css +1 -1
  303. data/assets/themes/j1/modules/mmenuLight/css/theme/uno.min.css +2 -2
  304. data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +3 -3
  305. data/assets/themes/j1/modules/mmenuLight/js/mmenu.min.js +4 -4
  306. data/assets/themes/j1/modules/rtable/css/theme/uno.css +1 -1
  307. data/assets/themes/j1/modules/rtable/css/theme/uno.min.css +1 -1
  308. data/assets/themes/j1/modules/rtable/js/rtable.js +1 -1
  309. data/assets/themes/j1/modules/rtable/js/rtable.min.js +1 -1
  310. data/assets/themes/j1/modules/themeSwitcher/js/switcher.js +1 -1
  311. data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
  312. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +5 -5
  313. data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +2 -2
  314. data/assets/themes/j1/modules/twemoji/js/LICENSE +21 -21
  315. data/assets/themes/j1/modules/twemoji/js/picker/LICENSE +21 -21
  316. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +47 -46
  317. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +2 -2
  318. data/assets/themes/j1/modules/twemoji/js/twemoji.js +1 -1
  319. data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +1 -1
  320. data/exe/j1 +2 -0
  321. data/lib/j1/commands/generate.rb +47 -46
  322. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/fastfilereaderext.so +0 -0
  323. data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/rubyeventmachine.so +0 -0
  324. data/lib/j1/utils/exec.rb +1 -1
  325. data/lib/j1/version.rb +1 -1
  326. data/lib/j1_app.rb +0 -4
  327. data/lib/j1_app/j1_auth_manager/auth_manager.rb +1 -1
  328. data/lib/j1_app/j1_auth_manager/commands.rb +1 -1
  329. data/lib/j1_app/j1_auth_manager/error_pages.rb +1 -1
  330. data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +1 -1
  331. data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +1 -1
  332. data/lib/j1_app/j1_auth_manager/helpers_github.rb +1 -1
  333. data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +1 -1
  334. data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +1 -1
  335. data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +1 -1
  336. data/lib/j1_app/omniauth/strategies/disqus.rb +1 -1
  337. data/lib/j1_app/omniauth/strategies/facebook.rb +1 -1
  338. data/lib/j1_app/omniauth/strategies/github.rb +1 -1
  339. data/lib/j1_app/omniauth/strategies/patreon.rb +1 -1
  340. data/lib/j1_app/omniauth/strategies/twitter.rb +1 -1
  341. data/lib/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/fastfilereaderext.so +0 -0
  342. data/lib/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/2.6/rubyeventmachine.so +0 -0
  343. data/lib/starter_web/Gemfile +29 -40
  344. data/lib/starter_web/_config.yml +4 -4
  345. data/lib/starter_web/_data/_defaults/categories.yml +1 -1
  346. data/lib/starter_web/_data/_defaults/colors.yml +1 -1
  347. data/lib/starter_web/_data/_defaults/font_sizes.yml +1 -1
  348. data/lib/starter_web/_data/_defaults/j1_light_gallery.yml +1 -1
  349. data/lib/starter_web/_data/_defaults/resources.yml +1 -1
  350. data/lib/starter_web/_data/_defaults/template_settings.yml +1 -1
  351. data/lib/starter_web/_data/apps/carousel.yml +1 -1
  352. data/lib/starter_web/_data/apps/defaults/carousel.yml +1 -1
  353. data/lib/starter_web/_data/apps/defaults/gallery_customizer.yml +1 -1
  354. data/lib/starter_web/_data/apps/defaults/justified_gallery.yml +1 -1
  355. data/lib/starter_web/_data/apps/defaults/light_gallery.yml +1 -1
  356. data/lib/starter_web/_data/apps/defaults/lightbox.yml +1 -1
  357. data/lib/starter_web/_data/apps/gallery_customizer.yml +1 -1
  358. data/lib/starter_web/_data/apps/justified_gallery.yml +1 -1
  359. data/lib/starter_web/_data/apps/light_gallery.yml +2 -2
  360. data/lib/starter_web/_data/apps/lightbox.yml +1 -1
  361. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1mn-subset +26 -0
  362. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1p-subset +26 -0
  363. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoemoji-subset +3 -0
  364. data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoserif-subset +26 -0
  365. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-mplus +16 -0
  366. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoemoji +201 -0
  367. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoserif +201 -0
  368. data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-roboto +11 -0
  369. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Black.ttf +0 -0
  370. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BlackItalic.ttf +0 -0
  371. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Bold.ttf +0 -0
  372. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BoldItalic.ttf +0 -0
  373. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Italic.ttf +0 -0
  374. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Light.ttf +0 -0
  375. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-LightItalic.ttf +0 -0
  376. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Medium.ttf +0 -0
  377. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-MediumItalic.ttf +0 -0
  378. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Regular.ttf +0 -0
  379. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Thin.ttf +0 -0
  380. data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-ThinItalic.ttf +0 -0
  381. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold-subset.ttf +0 -0
  382. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
  383. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-italic-subset.ttf +0 -0
  384. data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-regular-subset.ttf +0 -0
  385. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/mplus1p-regular-fallback.ttf +0 -0
  386. data/lib/starter_web/_data/asciidoc2pdf/fonts/notoemoji-subset.ttf +0 -0
  387. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold-subset.ttf +0 -0
  388. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold_italic-subset.ttf +0 -0
  389. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-italic-subset.ttf +0 -0
  390. data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-regular-subset.ttf +0 -0
  391. data/lib/starter_web/_data/asciidoc2pdf/themes/base-theme.yml +130 -0
  392. data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-theme.yml +36 -0
  393. data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-with-fallback-font-theme.yml +15 -0
  394. data/lib/starter_web/_data/asciidoc2pdf/themes/default-theme.yml +298 -0
  395. data/lib/starter_web/_data/asciidoc2pdf/themes/default-with-fallback-font-theme.yml +21 -0
  396. data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +315 -0
  397. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  398. data/lib/starter_web/_data/blocks/defaults/banner.yml +1 -1
  399. data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
  400. data/lib/starter_web/_data/blocks/defaults/panel.yml +1 -1
  401. data/lib/starter_web/_data/blocks/footer.yml +2 -2
  402. data/lib/starter_web/_data/blocks/panel.yml +1 -1
  403. data/lib/starter_web/_data/builder/blog_navigator.yml +1 -1
  404. data/lib/starter_web/_data/categories.yml +1 -1
  405. data/lib/starter_web/_data/colors.yml +1 -1
  406. data/lib/starter_web/_data/font_sizes.yml +1 -1
  407. data/lib/starter_web/_data/j1_config.yml +37 -36
  408. data/lib/starter_web/_data/layouts/app.yml +1 -1
  409. data/lib/starter_web/_data/layouts/blog_archive.yml +1 -1
  410. data/lib/starter_web/_data/layouts/collection.yml +1 -1
  411. data/lib/starter_web/_data/layouts/default.yml +1 -1
  412. data/lib/starter_web/_data/layouts/home.yml +1 -1
  413. data/lib/starter_web/_data/layouts/page.yml +1 -1
  414. data/lib/starter_web/_data/layouts/post.yml +1 -1
  415. data/lib/starter_web/_data/layouts/raw.yml +1 -1
  416. data/lib/starter_web/_data/modules/advertising.yml +1 -1
  417. data/lib/starter_web/_data/modules/attics.yml +1 -1
  418. data/lib/starter_web/_data/modules/authentication.yml +1 -1
  419. data/lib/starter_web/_data/modules/cookiebar.yml +1 -1
  420. data/lib/starter_web/_data/modules/defaults/attics.yml +1 -1
  421. data/lib/starter_web/_data/modules/defaults/authentication.yml +45 -43
  422. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +1 -1
  423. data/lib/starter_web/_data/modules/defaults/fam.yml +1 -1
  424. data/lib/starter_web/_data/modules/defaults/framer.yml +1 -1
  425. data/lib/starter_web/_data/modules/defaults/log4javascript.yml +1 -1
  426. data/lib/starter_web/_data/modules/defaults/log4r.yml +1 -1
  427. data/lib/starter_web/_data/modules/defaults/navigator.yml +1 -1
  428. data/lib/starter_web/_data/modules/defaults/quicksearch.yml +82 -0
  429. data/lib/starter_web/_data/modules/defaults/themer.yml +1 -1
  430. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  431. data/lib/starter_web/_data/modules/fam.yml +1 -1
  432. data/lib/starter_web/_data/modules/framer.yml +1 -1
  433. data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
  434. data/lib/starter_web/_data/modules/log4r.yml +1 -1
  435. data/lib/starter_web/_data/modules/navigator.yml +5 -7
  436. data/lib/starter_web/_data/modules/navigator_menu.yml +3 -65
  437. data/lib/starter_web/_data/modules/{lunr_search.yml → quicksearch.yml} +4 -4
  438. data/lib/starter_web/_data/modules/themer.yml +1 -96
  439. data/lib/starter_web/_data/modules/toccer.yml +1 -1
  440. data/lib/starter_web/_data/pages/builder.yml +1 -1
  441. data/lib/starter_web/_data/plugins/defaults/notebooks.yml +1 -1
  442. data/lib/starter_web/_data/plugins/defaults/paginator.yml +1 -1
  443. data/lib/starter_web/_data/plugins/notebooks.yml +1 -1
  444. data/lib/starter_web/_data/plugins/paginator.yml +1 -1
  445. data/lib/starter_web/_data/private.yml +1 -1
  446. data/lib/starter_web/_data/resources.yml +35 -61
  447. data/lib/starter_web/_data/utilities/defaults/util_srv.yml +1 -1
  448. data/lib/starter_web/_data/utilities/util_srv.yml +1 -1
  449. data/lib/starter_web/_includes/attributes.asciidoc +278 -90
  450. data/lib/starter_web/_includes/documents/licenses/mit.asciidoc +19 -19
  451. data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +45 -45
  452. data/lib/starter_web/_includes/tables/template_variables.asciidoc +46 -46
  453. data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-answer.rb +1 -1
  454. data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-question.rb +1 -1
  455. data/lib/starter_web/_plugins/asciidoctor-extensions/banner.rb +1 -1
  456. data/lib/starter_web/_plugins/asciidoctor-extensions/carousel-block.rb +1 -1
  457. data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
  458. data/lib/starter_web/_plugins/asciidoctor-extensions/fas-icon-inline.rb +1 -1
  459. data/lib/starter_web/_plugins/asciidoctor-extensions/gallery-block.rb +1 -1
  460. data/lib/starter_web/_plugins/asciidoctor-extensions/gist-block.rb +1 -1
  461. data/lib/starter_web/_plugins/asciidoctor-extensions/iconify-icon-inline.rb +1 -1
  462. data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +1 -1
  463. data/lib/starter_web/_plugins/asciidoctor-extensions/mdi-icon-inline.rb +1 -1
  464. data/lib/starter_web/_plugins/asciidoctor-extensions/panel.rb +1 -1
  465. data/lib/starter_web/_plugins/asciidoctor-extensions/shout-block.rb +1 -1
  466. data/lib/starter_web/_plugins/asciidoctor-extensions/twitter-emoji-inline.rb +1 -1
  467. data/lib/starter_web/_plugins/debug.rb +1 -1
  468. data/lib/starter_web/_plugins/filters.rb +1 -1
  469. data/lib/starter_web/_plugins/lorem_inline.rb +99 -4
  470. data/lib/starter_web/_plugins/lunr_index.rb +43 -10
  471. data/lib/starter_web/_plugins/minifyJS.rb +4 -1
  472. data/lib/starter_web/_plugins/minifyJSON.rb +1 -1
  473. data/lib/starter_web/_plugins/prettify.rb +1 -1
  474. data/lib/starter_web/_plugins/symlink_watcher.rb +1 -1
  475. data/lib/starter_web/assets/images/modules/attics/machine-generator-1920x1280.jpg +0 -0
  476. data/lib/starter_web/assets/images/modules/attics/modules-apps-1920x1280.jpg +0 -0
  477. data/lib/starter_web/assets/images/modules/attics/no-time-1920x1280.jpg +0 -0
  478. data/lib/starter_web/assets/images/modules/attics/responsive-text-1920x1280.jpg +0 -0
  479. data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
  480. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/auth_mgmr_signin_request_flow.uxf +632 -632
  481. data/lib/starter_web/assets/images/pages/j1_webhooks/uml/webhook_flow.uxf +648 -648
  482. data/lib/starter_web/assets/images/pages/panels/modules-apps-1920x800.jpg +0 -0
  483. data/lib/starter_web/assets/images/pages/panels/no-time-1920x800.jpg +0 -0
  484. data/lib/starter_web/assets/images/pages/panels/the-place-1920x800.jpg +0 -0
  485. data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_icon-800x200.jpg +0 -0
  486. data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_icon.jpg +0 -0
  487. data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_input-800x200.jpg +0 -0
  488. data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_input.jpg +0 -0
  489. data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_results_jekyll-.jpg +0 -0
  490. data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_results_jekyll.jpg +0 -0
  491. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +10 -13
  492. data/lib/starter_web/collections/posts/public/featured/_posts/{2018-05-01-confusion-about-base-url.adoc → 2020-04-01-confusion-about-base-url.adoc} +6 -4
  493. data/lib/starter_web/collections/posts/public/featured/_posts/{2019-05-01-top-open-source-static-site-generators.adoc → 2020-05-01-top-open-source-static-site-generators.adoc} +15 -13
  494. data/lib/starter_web/collections/posts/public/featured/_posts/{2019-06-01-about-cookies.adoc → 2020-06-01-about-cookies.adoc} +184 -198
  495. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/readme +1 -0
  496. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +6 -17
  497. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +6 -16
  498. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +6 -16
  499. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +6 -16
  500. data/{assets/themes/j1/modules/mdiPreviewer/js → lib/starter_web/collections/posts/public/series/_posts/_includes/documents}/readme +0 -0
  501. data/lib/starter_web/collections/posts/public/series/_posts/_includes/tables/debug_variables.asciidoc +47 -48
  502. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +5 -4
  503. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +13 -3
  504. data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +13 -3
  505. data/lib/starter_web/config.ru +23 -24
  506. data/lib/starter_web/dot.gitattributes +3 -17
  507. data/lib/starter_web/dot.nojekyll +19 -19
  508. data/lib/starter_web/favicon.ico +0 -0
  509. data/lib/starter_web/index.html +1 -1
  510. data/lib/starter_web/package.json +56 -44
  511. data/lib/starter_web/pages/protected/site_search.adoc +2 -7
  512. data/lib/starter_web/pages/public/about/about_site.adoc +1828 -8
  513. data/lib/starter_web/pages/public/about/become_a_patron.adoc +26 -1
  514. data/lib/starter_web/pages/public/blog/navigator/archive.html +2 -0
  515. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -1
  516. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +2 -0
  517. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +2 -0
  518. data/lib/starter_web/pages/public/blog/navigator/index.html +2 -0
  519. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +3 -3
  520. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +2 -2
  521. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +2 -2
  522. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/300_first_awesome_web.asciidoc +11 -12
  523. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +47 -48
  524. data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +1 -0
  525. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +6 -2
  526. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +2 -3
  527. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -1
  528. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +5 -4
  529. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
  530. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +1 -1
  531. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -1
  532. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +39 -19
  533. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +417 -0
  534. data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +2 -2
  535. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +3 -0
  536. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -14
  537. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -11
  538. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -11
  539. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_central_success.asciidoc +11 -11
  540. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -11
  541. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -11
  542. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_top_info.asciidoc +11 -11
  543. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -11
  544. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -11
  545. data/lib/starter_web/pages/public/learn/where_to_go.adoc +1 -1
  546. data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +1 -1
  547. data/lib/starter_web/pages/public/legal/en/100_impress.adoc +1 -1
  548. data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +1 -1
  549. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +1 -1
  550. data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +1 -1
  551. data/lib/starter_web/pages/public/legal/en/500_support.adoc +1 -1
  552. data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +50 -55
  553. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +16 -5
  554. data/lib/starter_web/pages/public/previewer/_includes/attributes.asciidoc +5 -81
  555. data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +19 -19
  556. data/lib/starter_web/pages/public/previewer/_includes/documents/rouge/100_language_examples.asciidoc +119 -0
  557. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
  558. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
  559. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/120_relative_sizes.asciidoc +1 -1
  560. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
  561. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/300_flip.asciidoc +1 -1
  562. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +4 -4
  563. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
  564. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
  565. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
  566. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
  567. data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
  568. data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/200_rouge_attributes.asciidoc +41 -0
  569. data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/300_supported_languages.asciidoc +857 -0
  570. data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
  571. data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
  572. data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/200_rotate.asciidoc +1 -1
  573. data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/300_flip.asciidoc +1 -1
  574. data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
  575. data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +116 -78
  576. data/lib/starter_web/pages/public/previewer/iframer.adoc +1 -1
  577. data/lib/starter_web/pages/public/previewer/justified_gallery.html +1 -1
  578. data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +41 -108
  579. data/lib/starter_web/pages/public/previewer/rouge.adoc +38 -353
  580. data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +2 -2
  581. data/lib/starter_web/utilsrv/_defaults/package.json +2 -2
  582. data/lib/starter_web/utilsrv/package.json +9 -9
  583. data/lib/starter_web/utilsrv/server.js +1 -1
  584. metadata +197 -83
  585. data/assets/themes/j1/core/fonts/materialdesign_icons/license.md +0 -97
  586. data/assets/themes/j1/core/fonts/roboto/fonts/OpenSansEmoji.ttf +0 -0
  587. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold-ascii.ttf +0 -0
  588. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
  589. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-italic-ascii.ttf +0 -0
  590. data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
  591. data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +0 -17
  592. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.erb.kapott +0 -234
  593. data/lib/j1_app/j1_auth_manager/views/auth_manager_ui.new.erb +0 -297
  594. data/lib/starter_web/_data/modules/defaults/jekyll_search.yml +0 -151
  595. data/lib/starter_web/_data/modules/defaults/lunr_search.yml +0 -171
  596. data/lib/starter_web/_data/modules/jekyll_search.yml +0 -33
  597. data/lib/starter_web/_plugins/simple_search_filter.rb +0 -32
  598. data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/unsplash-badge.asciidoc +0 -31
  599. data/lib/starter_web/collections/posts/public/series/_posts/_includes/documents/100-docker-using-shared-folders.asciidoc +0 -430
  600. data/lib/starter_web/collections/posts/public/series/_posts/_includes/documents/loop.sh +0 -28
  601. data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +0 -236
@@ -1,151 +0,0 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_data/modules/defaults/jekyll_search.yml
3
- # Default configuration settings for J1 SimpleJekyllSearch module
4
- #
5
- # Product/Info:
6
- # https://jekyll.one
7
- #
8
- # Copyright (C) 2020 Juergen Adams
9
- #
10
- # J1 Template is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
12
- # ------------------------------------------------------------------------------
13
-
14
- # ------------------------------------------------------------------------------
15
- # About this configuration (used for J1 CC only)
16
- #
17
- about_config:
18
- title: Simple Jekyll Search
19
- scope: Default settings
20
- location: _data/modules/defaults/jekyll_search.yml
21
-
22
- # ------------------------------------------------------------------------------
23
- # SimpleJekyllSearch settings
24
- #
25
- # enabled
26
- # ----------------------------------------------------------------------------
27
- # Enables|Disables the use of J1 Search Manager
28
- #
29
- # values: boolean (true|false)
30
- # default: false
31
- #
32
- # placement
33
- # ----------------------------------------------------------------------------
34
- # Enables|Disables the console log
35
- #
36
- # values: boolean (true|false)
37
- # default: false
38
- #
39
- # target
40
- # ----------------------------------------------------------------------------
41
- # The ID used for the bootstrap theme css file
42
- #
43
- # values: string
44
- # default: bootstrapTheme
45
- #
46
- # searchInput
47
- # ----------------------------------------------------------------------------
48
- # If true, a cookie will be saved with the currently selected theme
49
- #
50
- # values: boolean (true|false)
51
- # default: true
52
- #
53
- # resultsOutput
54
- # ----------------------------------------------------------------------------
55
- # TBD
56
- #
57
- # values: string
58
- # default:
59
- #
60
- # resultsContainer
61
- # ----------------------------------------------------------------------------
62
- # TBD
63
- #
64
- # values: string
65
- # default:
66
- #
67
- # indexData
68
- # ----------------------------------------------------------------------------
69
- # TBD
70
- #
71
- # values: string
72
- # default:
73
- #
74
- # resultTemplate
75
- # ----------------------------------------------------------------------------
76
- # TBD
77
- #
78
- # values: string
79
- # default:
80
- #
81
- # resultLimit
82
- # ----------------------------------------------------------------------------
83
- # TBD
84
- #
85
- # values: string
86
- # default:
87
- #
88
- # minSearchItemLen
89
- # ----------------------------------------------------------------------------
90
- # TBD
91
- #
92
- # values: string
93
- # default:
94
- #
95
- # searchFuzzy
96
- # ----------------------------------------------------------------------------
97
- # TBD
98
- #
99
- # values: string
100
- # default:
101
- #
102
- # searchExlude
103
- # ----------------------------------------------------------------------------
104
- # TBD
105
- #
106
- # values: string
107
- # default:
108
- #
109
- # ------------------------------------------------------------------------------
110
-
111
- # ------------------------------------------------------------------------------
112
- # About this configuration (used for J1 CC only)
113
- #
114
- about_config:
115
-
116
- title: Simple Jekyll Search
117
- scope: Default settings
118
- location: _data/modules/defaults/jekyll_search.yml
119
-
120
- # ------------------------------------------------------------------------------
121
- # Default settings
122
- #
123
- defaults:
124
-
125
- enabled: false
126
- placement: navbar
127
- target: _blank
128
- search_input: jss-input
129
- results_output: jss-panel
130
- results_container: jss-results
131
- index_data: /assets/data/search.json
132
- result_limit: 1000
133
- result_truncate: 100
134
- no_results_text: The search has no results
135
- min_search_item_len: 5
136
- search_fuzzy: false
137
- search_exlude: [ Impress ]
138
- result_template: >
139
- <li>
140
- <div>
141
- <h4 class="result-item"> <a href="{url}" target="{target}">{title} - {tagline}</a> </h4>
142
- <p class="result-group-item-text">{excerpt}</p>
143
- <p class="result-group-item-text small text-muted mb-3">
144
- <i class="mdi mdi-calendar-blank mdi-18px mr-1"></i>{date}
145
- <i class="mdi mdi-tag mdi-18px ml-2 mr-1"></i>{tags}
146
- </p>
147
- </div>
148
- </li>
149
-
150
- # ------------------------------------------------------------------------------
151
- # END config
@@ -1,171 +0,0 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_data/modules/defaults/jekyll_search.yml
3
- # Default configuration settings for J1 SimpleJekyllSearch module
4
- #
5
- # Product/Info:
6
- # https://jekyll.one
7
- #
8
- # Copyright (C) 2020 Juergen Adams
9
- #
10
- # J1 Template is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
12
- # ------------------------------------------------------------------------------
13
-
14
- # ------------------------------------------------------------------------------
15
- # About this configuration (used for J1 CC only)
16
- #
17
- about_config:
18
- title: J1LunrSearch
19
- scope: Default settings
20
- location: _data/modules/defaults/lunr_search.yml
21
-
22
- # ------------------------------------------------------------------------------
23
- # J1LunrSearch settings
24
- #
25
- # enabled
26
- # ----------------------------------------------------------------------------
27
- # Enables|Disables the use of J1 Search Manager
28
- #
29
- # values: boolean (true|false)
30
- # default: false
31
- #
32
- # placement
33
- # ----------------------------------------------------------------------------
34
- # Enables|Disables the console log
35
- #
36
- # values: boolean (true|false)
37
- # default: false
38
- #
39
- # target
40
- # ----------------------------------------------------------------------------
41
- # The ID used for the bootstrap theme css file
42
- #
43
- # values: string
44
- # default: bootstrapTheme
45
- #
46
- # searchInput
47
- # ----------------------------------------------------------------------------
48
- # If true, a cookie will be saved with the currently selected theme
49
- #
50
- # values: boolean (true|false)
51
- # default: true
52
- #
53
- # resultsOutput
54
- # ----------------------------------------------------------------------------
55
- # TBD
56
- #
57
- # values: string
58
- # default:
59
- #
60
- # resultsContainer
61
- # ----------------------------------------------------------------------------
62
- # TBD
63
- #
64
- # values: string
65
- # default:
66
- #
67
- # indexData
68
- # ----------------------------------------------------------------------------
69
- # TBD
70
- #
71
- # values: string
72
- # default:
73
- #
74
- # resultTemplate
75
- # ----------------------------------------------------------------------------
76
- # TBD
77
- #
78
- # values: string
79
- # default:
80
- #
81
- # resultLimit
82
- # ----------------------------------------------------------------------------
83
- # TBD
84
- #
85
- # values: string
86
- # default:
87
- #
88
- # minSearchItemLen
89
- # ----------------------------------------------------------------------------
90
- # TBD
91
- #
92
- # values: string
93
- # default:
94
- #
95
- # searchFuzzy
96
- # ----------------------------------------------------------------------------
97
- # TBD
98
- #
99
- # values: string
100
- # default:
101
- #
102
- # searchExlude
103
- # ----------------------------------------------------------------------------
104
- # TBD
105
- #
106
- # values: string
107
- # default:
108
- #
109
- # ------------------------------------------------------------------------------
110
-
111
- # ------------------------------------------------------------------------------
112
- # About this configuration (used for J1 CC only)
113
- #
114
- about_config:
115
-
116
- title: J1LunrSearch
117
- scope: Default settings
118
- location: _data/modules/defaults/jekyll_search.yml
119
-
120
- # ------------------------------------------------------------------------------
121
- # Default settings
122
- #
123
- defaults:
124
-
125
- enabled: false
126
- placement: navbar
127
- target: _blank
128
-
129
- excludes: [ /assets/*, /apps/*, /log/* , /node_modules/*, '/*\.htm*/' ]
130
- stopwords: /assets/themes/j1/modules/lunrSearch/stopwords.txt
131
- stopwords_locale: de
132
- strip_index_html: false
133
- min_length: 3
134
- date_format: mmm dd, yyyy
135
-
136
- module_dir: /assets/themes/j1/modules/lunrSearch/js
137
- index_dir: /assets/data
138
- index_name: lunr-index.json
139
- index_file: /assets/data/lunr-index.json
140
-
141
- search_input: '#search-query' # '#jss-input'
142
- results: '#search-results' # selector for containing search results element
143
- template: '#search-results-template' # selector for Mustache.js template
144
- titleMsg: # '<h1>Search results<h1>' message attached in front of results (can be empty)
145
- emptyMsg: # '<p>Nothing found.</p>' # shown message if search returns no results
146
-
147
-
148
- # search_input: jss-input
149
- # results_output: jss-panel
150
- # results_container: jss-results
151
- # index_data: /assets/data/search.json
152
- # result_limit: 1000
153
- # result_truncate: 100
154
- # no_results_text: The search has no results
155
- # min_search_item_len: 5
156
- # search_fuzzy: false
157
- # search_exlude: [ Impress ]
158
- # result_template: >
159
- # <li>
160
- # <div>
161
- # <h4 class="result-item"> <a href="{url}" target="{target}">{title} - {tagline}</a> </h4>
162
- # <p class="result-group-item-text">{excerpt}</p>
163
- # <p class="result-group-item-text small text-muted mb-3">
164
- # <i class="mdi mdi-calendar-blank mdi-18px mr-1"></i>{date}
165
- # <i class="mdi mdi-tag mdi-18px ml-2 mr-1"></i>{tags}
166
- # </p>
167
- # </div>
168
- # </li>
169
-
170
- # ------------------------------------------------------------------------------
171
- # END config
@@ -1,33 +0,0 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_data/modules/jekyll_search.yml
3
- # User configuration settings for J1 SimpleJekyllSearch module
4
- #
5
- # Product/Info:
6
- # https://jekyll.one
7
- #
8
- # Copyright (C) 2020 Juergen Adams
9
- #
10
- # J1 Template is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one/J1 Template/blob/master/LICENSE
12
- # ------------------------------------------------------------------------------
13
-
14
- # ------------------------------------------------------------------------------
15
- # About this configuration (used for J1 CC only)
16
- #
17
- about_config:
18
-
19
- title: Simple Jekyll Search
20
- scope: User settings
21
- location: _data/modules/jekyll_search.yml
22
-
23
- # ------------------------------------------------------------------------------
24
- # User configuration settings
25
- #
26
- settings:
27
-
28
- enabled: true
29
- min_search_item_len: 3
30
- search_exlude: [ Impress, License ]
31
-
32
- # ------------------------------------------------------------------------------
33
- # END config
@@ -1,32 +0,0 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_plugins/simple_search_filter.rb
3
- # Liquid filter's to be used with JekyllSimple Search
4
- #
5
- # Product/Info:
6
- # http://jekyll.one
7
- #
8
- # Copyright (C) 2020 Juergen Adams
9
- #
10
- # J1 Template is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
12
- # ------------------------------------------------------------------------------
13
-
14
- module Jekyll
15
- module CharFilter
16
- def remove_chars(input)
17
- input.gsub! '\\','&#92;'
18
- input.gsub! /\t/, ' '
19
- input.strip_control_and_extended_characters
20
- end
21
- end
22
- end
23
-
24
- Liquid::Template.register_filter(Jekyll::CharFilter)
25
-
26
- class String
27
- def strip_control_and_extended_characters()
28
- chars.each_with_object("") do |char, str|
29
- str << char if char.ascii_only? and char.ord.between?(32,126)
30
- end
31
- end
32
- end
@@ -1,31 +0,0 @@
1
- ++++
2
- <a style="background-color:rgba(0, 0, 0, 0.3);color:white;text-decoration:none;padding:4px 6px;font-family:-apple-system, BlinkMacSystemFont, &quot;San Francisco&quot;, &quot;Helvetica Neue&quot;, Helvetica, Ubuntu, Roboto, Noto, &quot;Segoe UI&quot;, Arial, sans-serif;font-size:12px;font-weight:bold;line-height:1.2;display:inline-block;border-radius:3px" href="https://unsplash.com/@bel2000a?utm_medium=referral&amp;utm_campaign=photographer-credit&amp;utm_content=creditBadge" target="_blank" rel="noopener noreferrer" title="Download free do whatever you want high-resolution photos from Belinda Fewings">
3
- <span style="display:inline-block;padding:2px 3px">
4
- <svg xmlns="http://www.w3.org/2000/svg" style="height:12px;width:auto;position:relative;vertical-align:middle;top:-2px;fill:white" viewBox="0 0 32 32">
5
- <title>unsplash-logo</title>
6
- <path d="M10 9V0h12v9H10zm12 5h10v18H0V14h10v9h12v-9z"></path>
7
- </svg>
8
- </span>
9
- <span style="display:inline-block;padding:2px 3px">Belinda Fewings</span>
10
- </a>
11
- ++++
12
-
13
- ++++
14
- <div class="attic__badge">
15
- <a class="attic__badge_unsplash"
16
- href="https://unsplash.com/@bel2000a?utm_medium=referral&amp;utm_campaign=photographer-credit&amp;utm_content=creditBadge"
17
- target="_blank"
18
- rel="noopener noreferrer"
19
- title="Download free do whatever you want high-resolution photos from Belinda Fewings">
20
- <span class="attic__badge_unsplash_icon">
21
- <svg xmlns="http://www.w3.org/2000/svg"
22
- class="attic__badge_unsplash_icon-size"
23
- viewBox="0 0 32 32">
24
- <title>unsplash-logo</title>
25
- <path d="M10 9V0h12v9H10zm12 5h10v18H0V14h10v9h12v-9z"></path>
26
- </svg>
27
- </span>
28
- <span class="attic__badge_unsplash_text">Belinda Fewings</span>
29
- </a>
30
- </div>
31
- ++++
@@ -1,430 +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