j1-template 2020.0.19 → 2020.0.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/blocks/ads/ad.html +2 -2
- data/_includes/themes/j1/blocks/footer/boxes/about_box.proc +1 -1
- data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +3 -3
- data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +1 -1
- data/_includes/themes/j1/blocks/footer/generator.html +2 -2
- data/_includes/themes/j1/layouts/content_generator_blog_archive.html +11 -11
- data/_includes/themes/j1/layouts/content_generator_collection.html +2 -2
- data/_includes/themes/j1/layouts/content_generator_page.html +4 -4
- data/_includes/themes/j1/layouts/content_generator_post.html +64 -162
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +2 -2
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +15 -1
- data/_includes/themes/j1/modules/connectors/ads +2 -2
- data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +2 -4
- data/_includes/themes/j1/modules/connectors/analytics +2 -2
- data/_includes/themes/j1/modules/connectors/comment/disqus.html +38 -25
- data/_includes/themes/j1/modules/connectors/comments +2 -2
- data/_includes/themes/j1/modules/connectors/translator +2 -2
- data/_includes/themes/j1/modules/navigator/generator.html +17 -8
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +36 -26
- data/_includes/themes/j1/procedures/global/attributes_loader.proc +117 -0
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +4 -3
- data/_includes/themes/j1/procedures/global/create_word_cloud.proc +17 -13
- data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
- data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +3 -3
- data/_includes/themes/j1/procedures/global/setup.proc +9 -9
- data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -2
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +18 -17
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +9 -5
- data/_layouts/default.html +3 -3
- data/_layouts/home.html +2 -2
- data/apps/public/cc/cc.yml +37 -38
- data/assets/data/authclient.html +2 -2
- data/assets/data/banner.html +25 -21
- data/assets/data/carousel.json +1 -1
- data/assets/data/cookiebar.html +17 -13
- data/assets/data/fam.html +124 -0
- data/assets/data/footer.html +1 -1
- data/assets/data/galleries.json +1 -1
- data/assets/data/gallery_customizer.html +19 -7
- data/assets/data/mdi_icons.json +1 -1
- data/assets/data/menu.html +2 -2
- data/assets/data/mmenu.html +2 -2
- data/assets/data/mmenu_sidebar.html +4 -4
- data/assets/data/mmenu_toc.html +1 -1
- data/assets/data/panel.html +113 -67
- data/assets/data/quicklinks.html +16 -16
- data/assets/data/themes.json +9 -9
- data/assets/data/twa_v1.json +1 -1
- data/assets/error_pages/HTTP204.html +1 -0
- data/assets/error_pages/HTTP400.html +3 -2
- data/assets/error_pages/HTTP401.html +3 -2
- data/assets/error_pages/HTTP403.html +3 -2
- data/assets/error_pages/HTTP404.html +3 -2
- data/assets/error_pages/HTTP500.html +3 -2
- data/assets/error_pages/HTTP501.html +3 -2
- data/assets/error_pages/HTTP502.html +3 -2
- data/assets/error_pages/HTTP503.html +3 -2
- data/assets/error_pages/HTTP520.html +3 -2
- data/assets/error_pages/HTTP521.html +3 -2
- data/assets/error_pages/HTTP533.html +3 -2
- data/assets/themes/j1/adapter/js/algolia.js +2 -2
- data/assets/themes/j1/adapter/js/attic.js +2 -2
- data/assets/themes/j1/adapter/js/{mdb.js → bmd.js} +11 -11
- data/assets/themes/j1/adapter/js/carousel.js +6 -6
- data/assets/themes/j1/adapter/js/clipboard.js +3 -3
- data/assets/themes/j1/adapter/js/cookiebar.js +1 -1
- data/assets/themes/j1/adapter/js/{ssm.js → fam.js} +275 -148
- data/assets/themes/j1/adapter/js/framer.js +74 -62
- data/assets/themes/j1/adapter/js/gallery_customizer.js +4 -3
- data/assets/themes/j1/adapter/js/j1.js +25 -19
- data/assets/themes/j1/adapter/js/jf_gallery.js +4 -4
- data/assets/themes/j1/adapter/js/lightbox.js +2 -2
- data/assets/themes/j1/adapter/js/logger.js +2 -2
- data/assets/themes/j1/adapter/js/{searcher.js → lunr_search.js} +68 -65
- data/assets/themes/j1/adapter/js/mmenu.js +16 -10
- data/assets/themes/j1/adapter/js/navigator.js +81 -60
- data/assets/themes/j1/adapter/js/rouge.js +246 -0
- data/assets/themes/j1/adapter/js/rtable.js +181 -0
- data/assets/themes/j1/adapter/js/themer.js +63 -110
- data/assets/themes/j1/adapter/js/toccer.js +72 -32
- data/assets/themes/j1/core/css/animate.css +15 -15
- data/assets/themes/j1/core/css/bootstrap.css +0 -14
- data/assets/themes/j1/core/css/custom.scss +28 -0
- data/assets/themes/j1/core/css/globals.css +14523 -0
- data/assets/themes/j1/core/css/globals.min.css +1 -0
- data/assets/themes/j1/core/css/globals.scss +28 -0
- data/assets/themes/j1/core/css/{icons-fontawesome.css → icon-fonts/fontawesome.css} +17 -17
- data/assets/themes/j1/core/css/{icons-fontawesome.min.css → icon-fonts/fontawesome.min.css} +0 -0
- data/assets/themes/j1/core/css/{icons-iconify.css → icon-fonts/iconify.css} +15 -15
- data/assets/themes/j1/core/css/{icons-iconify.min.css → icon-fonts/iconify.min.css} +0 -0
- data/assets/themes/j1/core/css/{icons-materialdesign.css → icon-fonts/materialdesign.css} +17 -17
- data/assets/themes/j1/core/css/{icons-materialdesign.min.css → icon-fonts/materialdesign.min.css} +0 -0
- data/assets/themes/j1/core/css/{icons-twemoji.css → icon-fonts/twemoji.css} +18 -18
- data/assets/themes/j1/core/css/{icons-twemoji.min.css → icon-fonts/twemoji.min.css} +0 -0
- data/assets/themes/j1/core/css/{theme-extensions.css → theme_extensions.css} +3625 -1816
- data/assets/themes/j1/core/css/theme_extensions.min.css +1 -0
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +7171 -0
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +6 -0
- data/assets/themes/j1/core/css/{uno-dark.css → themes/uno-dark/bootstrap.css} +548 -316
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +6 -0
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +22519 -0
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +8 -0
- data/assets/themes/j1/core/css/uno.css +5284 -15518
- data/assets/themes/j1/core/css/uno.min.css +1 -8
- data/assets/themes/j1/core/css/uno.scss +28 -0
- data/assets/themes/j1/core/css/vendor.css +102 -73
- data/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/assets/themes/j1/core/css/vendor.scss +28 -0
- data/assets/themes/j1/core/js/template.js +6 -11
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/modules/backstretch/js/backstretch.js +12 -13
- data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +12 -13
- data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.full.js +6930 -0
- data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6 -0
- data/assets/themes/j1/modules/carousel/css/carousel.css +8 -9
- data/assets/themes/j1/modules/carousel/css/carousel.min.css +7 -9
- data/assets/themes/j1/modules/carousel/css/carousel_transitions.css +7 -8
- data/assets/themes/j1/modules/carousel/css/carousel_transitions.min.css +7 -9
- data/assets/themes/j1/modules/carousel/css/theme/uno.css +39 -48
- data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +8 -9
- data/assets/themes/j1/modules/cash/js/cash.js +1374 -0
- data/assets/themes/j1/modules/cash/js/cash.min.js +42 -0
- data/assets/themes/j1/modules/clipboard/css/theme/uno.css +9 -9
- data/assets/themes/j1/modules/clipboard/css/theme/uno.min.css +8 -45
- data/assets/themes/j1/modules/fam/css/uno/fam.css +369 -0
- data/assets/themes/j1/modules/fam/js/fam.js +477 -0
- data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +1 -1
- data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.js → resizer.js} +0 -0
- data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.map → resizer.map} +0 -0
- data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.min.js → resizer.min.js} +0 -0
- data/assets/themes/j1/modules/jquery/js/jquery.js +7 -4
- data/assets/themes/j1/modules/jquery/js/jquery.min.js +2 -2
- data/assets/themes/j1/modules/jquery/js/require.js +2145 -0
- data/assets/themes/j1/modules/jquery/js/require.min.js +5 -0
- data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.css +13 -13
- data/assets/themes/j1/modules/justifiedGallery/css/theme/uno.min.css +8 -31
- data/assets/themes/j1/modules/lightGallery/css/themes/uno.css +7 -8
- data/assets/themes/j1/modules/lightGallery/css/themes/uno.min.css +8 -10
- data/assets/themes/j1/modules/lightbox/css/lightbox.css +11 -12
- data/assets/themes/j1/modules/lightbox/css/lightbox.min.css +11 -12
- data/assets/themes/j1/modules/lightbox/css/theme/uno.css +7 -7
- data/assets/themes/j1/modules/lightbox/css/theme/uno.min.css +7 -8
- data/assets/themes/j1/modules/lightbox/js/lightbox.js +12 -13
- data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +11 -27
- data/assets/themes/j1/modules/lunrSearch/css/lunr_search.css +32 -0
- data/assets/themes/j1/modules/lunrSearch/css/lunr_search.min.css +25 -0
- data/assets/themes/j1/modules/lunrSearch/js/dateformat.js +125 -0
- data/assets/themes/j1/modules/lunrSearch/js/dateformat.min.js +14 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.js +3475 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.min.js +51 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr_search.js +184 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +17 -0
- data/assets/themes/j1/modules/lunrSearch/js/mustache.js +772 -0
- data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +772 -0
- data/assets/themes/j1/modules/lunrSearch/js/uri.js +2340 -0
- data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +93 -0
- data/assets/themes/j1/modules/materialize/js/anime.js +1283 -0
- data/assets/themes/j1/modules/materialize/js/anime.min.js +34 -0
- data/assets/themes/j1/modules/materialize/js/autocomplete.js +450 -0
- data/assets/themes/j1/modules/materialize/js/buttons.js +409 -0
- data/assets/themes/j1/modules/materialize/js/cards.js +40 -0
- data/assets/themes/j1/modules/materialize/js/carousel.js +717 -0
- data/assets/themes/j1/modules/materialize/js/cash-dom.js +1044 -0
- data/assets/themes/j1/modules/materialize/js/cash.js +960 -0
- data/assets/themes/j1/modules/materialize/js/characterCounter.js +136 -0
- data/assets/themes/j1/modules/materialize/js/chips.js +481 -0
- data/assets/themes/j1/modules/materialize/js/collapsible.js +275 -0
- data/assets/themes/j1/modules/materialize/js/component.js +44 -0
- data/assets/themes/j1/modules/materialize/js/datepicker.js +975 -0
- data/assets/themes/j1/modules/materialize/js/dropdown.js +617 -0
- data/assets/themes/j1/modules/materialize/js/forms.js +275 -0
- data/assets/themes/j1/modules/materialize/js/global.js +427 -0
- data/assets/themes/j1/modules/materialize/js/materialbox.js +453 -0
- data/assets/themes/j1/modules/materialize/js/modal.js +382 -0
- data/assets/themes/j1/modules/materialize/js/parallax.js +138 -0
- data/assets/themes/j1/modules/materialize/js/pushpin.js +145 -0
- data/assets/themes/j1/modules/materialize/js/range.js +263 -0
- data/assets/themes/j1/modules/materialize/js/ripple.js +335 -0
- data/assets/themes/j1/modules/materialize/js/scrollspy.js +295 -0
- data/assets/themes/j1/modules/materialize/js/select.js +432 -0
- data/assets/themes/j1/modules/materialize/js/sidenav.js +580 -0
- data/assets/themes/j1/modules/materialize/js/slider.js +359 -0
- data/assets/themes/j1/modules/materialize/js/tabs.js +402 -0
- data/assets/themes/j1/modules/materialize/js/tapTarget.js +314 -0
- data/assets/themes/j1/modules/materialize/js/timepicker.js +647 -0
- data/assets/themes/j1/modules/materialize/js/toasts.js +310 -0
- data/assets/themes/j1/modules/materialize/js/tooltip.js +303 -0
- data/assets/themes/j1/modules/materialize/js/waves.js +335 -0
- data/assets/themes/j1/modules/materialize/scss/components/_badges.scss +55 -0
- data/assets/themes/j1/modules/materialize/scss/components/_buttons.scss +322 -0
- data/assets/themes/j1/modules/materialize/scss/components/_cards.scss +195 -0
- data/assets/themes/j1/modules/materialize/scss/components/_carousel.scss +90 -0
- data/assets/themes/j1/modules/materialize/scss/components/_chips.scss +90 -0
- data/assets/themes/j1/modules/materialize/scss/components/_collapsible.scss +91 -0
- data/assets/themes/j1/modules/materialize/scss/components/_color-classes.scss +32 -0
- data/assets/themes/j1/modules/materialize/scss/components/_color-variables.scss +370 -0
- data/assets/themes/j1/modules/materialize/scss/components/_datepicker.scss +191 -0
- data/assets/themes/j1/modules/materialize/scss/components/_dropdown.scss +85 -0
- data/assets/themes/j1/modules/materialize/scss/components/_global.scss +769 -0
- data/assets/themes/j1/modules/materialize/scss/components/_grid.scss +156 -0
- data/assets/themes/j1/modules/materialize/scss/components/_icons-material-design.scss +5 -0
- data/assets/themes/j1/modules/materialize/scss/components/_materialbox.scss +43 -0
- data/assets/themes/j1/modules/materialize/scss/components/_modal.scss +94 -0
- data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +208 -0
- data/assets/themes/j1/modules/materialize/scss/components/_normalize.scss +447 -0
- data/assets/themes/j1/modules/materialize/scss/components/_preloader.scss +334 -0
- data/assets/themes/j1/modules/materialize/scss/components/_pulse.scss +34 -0
- data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +216 -0
- data/assets/themes/j1/modules/materialize/scss/components/_slider.scss +92 -0
- data/assets/themes/j1/modules/materialize/scss/components/_table_of_contents.scss +33 -0
- data/assets/themes/j1/modules/materialize/scss/components/_tabs.scss +99 -0
- data/assets/themes/j1/modules/materialize/scss/components/_tapTarget.scss +103 -0
- data/assets/themes/j1/modules/materialize/scss/components/_timepicker.scss +183 -0
- data/assets/themes/j1/modules/materialize/scss/components/_toast.scss +58 -0
- data/assets/themes/j1/modules/materialize/scss/components/_tooltip.scss +32 -0
- data/assets/themes/j1/modules/materialize/scss/components/_transitions.scss +13 -0
- data/assets/themes/j1/modules/materialize/scss/components/_typography.scss +60 -0
- data/assets/themes/j1/modules/materialize/scss/components/_variables.scss +349 -0
- data/assets/themes/j1/modules/materialize/scss/components/_waves.scss +114 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_checkboxes.scss +200 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_file-input.scss +44 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_forms.scss +22 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +354 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_radio-buttons.scss +115 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_range.scss +161 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_select.scss +180 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_switches.scss +89 -0
- data/assets/themes/j1/modules/materialize/scss/materialize.scss +41 -0
- data/assets/themes/j1/modules/mmenuLight/css/mmenu.css +11 -11
- data/assets/themes/j1/modules/mmenuLight/css/theme/uno.min.css +37 -11
- data/assets/themes/j1/modules/popper/js/popper.js +1 -1
- data/assets/themes/j1/modules/popper/js/popper.js.map +1 -1
- data/assets/themes/j1/modules/popper/js/popper.min.js.map +1 -1
- data/assets/themes/j1/modules/rouge/js/select.js +25 -0
- data/assets/themes/j1/modules/rtable/LICENSE +22 -0
- data/assets/themes/j1/modules/rtable/README.md +418 -0
- data/assets/themes/j1/modules/rtable/css/tablesaw.stackonly.css +148 -0
- data/assets/themes/j1/modules/rtable/css/theme/uno.css +191 -0
- data/assets/themes/j1/modules/rtable/css/theme/uno.min.css +191 -0
- data/assets/themes/j1/modules/rtable/js/rtable.js +692 -0
- data/assets/themes/j1/modules/rtable/js/rtable.min.js +690 -0
- data/assets/themes/j1/modules/rtable/js/tablesaw-init.js +18 -0
- data/assets/themes/j1/modules/rtable/js/tablesaw.stackonly.js +2371 -0
- data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.js +15 -17
- data/assets/themes/j1/modules/themeSwitcher/js/switcher.min.js +26 -0
- data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +1 -1
- data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.min.css +1 -1
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +2 -2
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +2 -257
- data/assets/themes/j1/modules/twemoji/js/twemoji.js +11 -11
- data/assets/themes/j1/modules/twemoji/js/twemoji.min.js +11 -12
- data/lib/j1/commands/generate.rb +6 -6
- data/lib/j1/version.rb +1 -1
- data/lib/j1_app/j1_auth_manager/config.rb +2 -2
- data/lib/starter_web/Gemfile +12 -16
- data/lib/starter_web/_config.yml +162 -22
- data/lib/starter_web/_data/apps/carousel.yml +10 -10
- data/lib/starter_web/_data/apps/justified_gallery.yml +44 -10
- data/lib/starter_web/_data/blocks/banner.yml +32 -27
- data/lib/starter_web/_data/blocks/defaults/banner.yml +14 -13
- data/lib/starter_web/_data/blocks/defaults/footer.yml +1 -1
- data/lib/starter_web/_data/blocks/defaults/panel.yml +3 -2
- data/lib/starter_web/_data/blocks/footer.yml +1 -1
- data/lib/starter_web/_data/blocks/panel.yml +24 -25
- data/lib/starter_web/_data/{template_settings.yml → j1_config.yml} +64 -11
- data/lib/starter_web/_data/layouts/home.yml +20 -10
- data/lib/starter_web/_data/layouts/page.yml +10 -0
- data/lib/starter_web/_data/layouts/post.yml +10 -0
- data/lib/starter_web/_data/modules/defaults/cookiebar.yml +3 -1
- data/lib/starter_web/_data/modules/defaults/{ssm.yml → fam.yml} +12 -15
- data/lib/starter_web/_data/modules/defaults/lunr_search.yml +171 -0
- data/lib/starter_web/_data/modules/defaults/navigator.yml +5 -5
- data/lib/starter_web/_data/modules/defaults/themer.yml +8 -13
- data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -2
- data/lib/starter_web/_data/modules/fam.yml +158 -0
- data/lib/starter_web/_data/modules/{back2top.yml → lunr_search.yml} +15 -9
- data/lib/starter_web/_data/modules/navigator.yml +2 -2
- data/lib/starter_web/_data/modules/navigator_menu.yml +16 -10
- data/lib/starter_web/_data/modules/themer.yml +0 -18
- data/lib/starter_web/_data/modules/toccer.yml +0 -73
- data/lib/starter_web/_data/resources.yml +195 -67
- data/lib/starter_web/_includes/attributes.asciidoc +194 -0
- data/lib/starter_web/_includes/breadcrumbs.html +11 -0
- data/lib/starter_web/_includes/documents/licenses/mit.asciidoc +19 -0
- data/lib/starter_web/{collections/posts/private → _includes/documents}/readme +0 -0
- data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +45 -0
- data/lib/starter_web/_includes/tables/template_variables.asciidoc +46 -0
- data/lib/starter_web/_plugins/debug.rb +0 -1
- data/lib/starter_web/_plugins/filters.rb +0 -1
- data/lib/starter_web/_plugins/{lorem-inline.rb → lorem_inline.rb} +1 -2
- data/lib/starter_web/_plugins/lunr_index.rb +313 -0
- data/lib/starter_web/_plugins/prettify.rb +0 -3
- data/lib/starter_web/_plugins/simple_search_filter.rb +0 -1
- data/lib/starter_web/_plugins/symlink_watcher.rb +2 -3
- data/lib/starter_web/assets/images/modules/attics/banner/lunr-banner-1280x800.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/katie-moum-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/tldr-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
- data/lib/starter_web/collections/posts/{protected → private/_posts}/readme +0 -0
- data/{assets/README.md → lib/starter_web/collections/posts/protected/_posts/readme} +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +77 -80
- data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +21 -10
- data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +41 -31
- data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +32 -27
- data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +38 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/readme +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/{000_includes → _includes/documents}/unsplash-badge.asciidoc +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/_includes/tables/readme +0 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +494 -502
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +144 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +146 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +146 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +146 -0
- data/lib/starter_web/collections/posts/public/{featured/_posts/000_includes → series/_posts/_includes}/attributes.asciidoc +8 -18
- data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/100-docker-using-shared-folders.asciidoc +0 -0
- data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/documents/loop.sh +0 -0
- data/lib/starter_web/collections/posts/public/series/_posts/{000_includes → _includes}/tables/debug_variables.asciidoc +0 -0
- data/lib/starter_web/collections/posts/public/test_posts/_posts/2020-09-11-test_post.adoc +218 -0
- data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → test_posts/_posts/_includes}/attributes.asciidoc +9 -21
- data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/documents/readme +0 -0
- data/lib/starter_web/collections/posts/public/{wikipedia/_posts/000_includes → test_posts/_posts/_includes}/tables/debug_variables.asciidoc +0 -0
- data/lib/starter_web/collections/posts/public/test_posts/_posts/_includes/tables/readme +0 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +16 -8
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -7
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -6
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/attributes.asciidoc +37 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/documents/readme +0 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/_includes/tables/readme +0 -0
- data/lib/starter_web/index.html +16 -10
- data/lib/starter_web/package.json +5 -2
- data/lib/starter_web/pages/protected/site_search.adoc +8 -19
- data/lib/starter_web/pages/public/about/about_site.adoc +0 -2
- data/lib/starter_web/pages/public/about/become_a_patron.adoc +1 -3
- data/lib/starter_web/pages/public/blog/navigator/archive.html +34 -9
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +40 -16
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +32 -8
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +8 -4
- data/lib/starter_web/pages/public/blog/navigator/index.html +6 -3
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +15 -21
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +32 -27
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +32 -27
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/attributes.asciidoc +15 -13
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +31 -0
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/200_preparations.asciidoc +0 -0
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/documents/300_first_awesome_web.asciidoc +0 -0
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/{000_includes → _includes}/parts.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +48 -0
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +76 -111
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +37 -45
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +51 -63
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +74 -80
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +64 -84
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +34 -42
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +281 -91
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +138 -52
- data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +236 -0
- data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +294 -0
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/attributes.asciidoc +10 -29
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_info.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_left_warning.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_bottom_right_danger.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_central_success.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_left_info.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_full_height_right_success.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_table_3_column.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_info.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_left_info.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/410_top_right_success.asciidoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/{000_includes → _includes}/documents/419_advanced_modals_demo.asciidoc +16 -16
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
- data/lib/starter_web/pages/public/learn/{whats_up.adoc → where_to_go.adoc} +31 -46
- data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -2
- data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -1
- data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +7 -12
- data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +2 -1
- data/lib/starter_web/pages/public/legal/de/500_support.adoc +2 -1
- data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +32 -28
- data/lib/starter_web/pages/public/legal/en/100_impress.adoc +12 -8
- data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +17 -12
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +38 -36
- data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +15 -6
- data/lib/starter_web/pages/public/legal/en/500_support.adoc +12 -4
- data/lib/starter_web/pages/public/legal/en/eu/cookie.policy.asciidoc +1 -1
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +68 -68
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/attributes.asciidoc +22 -8
- data/lib/starter_web/pages/public/previewer/_includes/documents/licenses/mit.asciidoc +19 -0
- data/lib/starter_web/pages/public/previewer/_includes/documents/readme +0 -0
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/120_relative_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/300_flip.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/400_spin_pulsed.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/300_flip.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/{000_includes → _includes}/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +860 -595
- data/lib/starter_web/pages/public/previewer/iframer.adoc +48 -41
- data/lib/starter_web/pages/public/previewer/justified_gallery.html +15 -7
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +21 -26
- data/lib/starter_web/pages/public/previewer/rouge.adoc +205 -0
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +21 -27
- data/lib/starter_web/pages/public/test_pages/_includes/attributes.asciidoc +49 -0
- data/lib/starter_web/pages/public/{learn/roundtrip/000_includes → test_pages/_includes}/documents/100_gistblock.asciidoc +0 -0
- data/lib/starter_web/pages/public/test_pages/_includes/tables/000_bem_specifiers.asciidoc +22 -0
- data/lib/starter_web/pages/public/test_pages/_includes/tables/000_specifier_examples.asciidoc +56 -0
- data/lib/starter_web/pages/public/test_pages/breadcrumbs_tester.adoc +62 -0
- data/lib/starter_web/pages/public/test_pages/carousel_captions.adoc +1045 -0
- data/lib/starter_web/pages/public/test_pages/deck_of_posts.adoc +165 -0
- data/lib/starter_web/pages/public/test_pages/floating_actions_button.adoc +523 -0
- data/lib/starter_web/pages/public/{learn/examples → test_pages}/floating_ad.adoc +8 -21
- data/lib/starter_web/pages/public/{learn/examples → test_pages}/floating_div.adoc +25 -38
- data/lib/starter_web/pages/public/test_pages/lunr_tester.adoc +89 -0
- data/lib/starter_web/pages/public/{000_nav_pagination_tester.adoc → test_pages/nav_pagination_tester.adoc} +9 -22
- data/lib/starter_web/pages/public/test_pages/page_attribute_tester.adoc +196 -0
- data/lib/starter_web/pages/public/test_pages/responsive_images.adoc +213 -0
- data/lib/starter_web/pages/public/test_pages/responsive_tables.adoc +210 -0
- data/lib/starter_web/pages/public/test_pages/toccer_tester.adoc +2245 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/attributes.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/100_gistblock.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_info.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_left_warning.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_bottom_right_danger.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_central_success.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_full_height_left_info.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_full_height_right_success.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_table_3_column.asciidoc +1 -1
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_info.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_left_info.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/410_top_right_success.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_includes/documents/419_advanced_modals_html.asciidoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/000_test_youtube_video.adoc +0 -0
- data/lib/starter_web/pages/public/{learn → test_pages}/vtutorials/100_basic_video.adoc +0 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +261 -146
- data/assets/data/jupyter/notebooks/_html/template.full.head.html +0 -75
- data/assets/data/jupyter/notebooks/_html/visualisation.html +0 -968
- data/assets/data/jupyter/notebooks/html/template.html +0 -50
- data/assets/data/jupyter/notebooks/html/visualisation.ok.html +0 -949
- data/assets/data/jupyter/notebooks/tutorial.ipynb +0 -169
- data/assets/data/jupyter/notebooks/visualisation.ipynb +0 -9413
- data/assets/data/search.json +0 -165
- data/assets/data/ssm.html +0 -242
- data/assets/themes/j1/adapter/js/back2top.js +0 -233
- data/assets/themes/j1/core/css/theme-extensions.min.css +0 -1
- data/assets/themes/j1/core/css/uno-dark.min.css +0 -6
- data/assets/themes/j1/modules/backstretch/js/backstretch.min.js.org +0 -1
- data/assets/themes/j1/modules/bootstrap/css/bootstrap.css +0 -10278
- data/assets/themes/j1/modules/bootstrap/css/bootstrap.css.map +0 -1
- data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css +0 -7
- data/assets/themes/j1/modules/bootstrap/css/bootstrap.min.css.map +0 -1
- data/assets/themes/j1/modules/bootstrap/js/bootstrap.js +0 -4420
- data/assets/themes/j1/modules/bootstrap/js/bootstrap.js.map +0 -1
- data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js +0 -7
- data/assets/themes/j1/modules/bootstrap/js/bootstrap.min.js.map +0 -1
- data/assets/themes/j1/modules/bsDatepicker/css/datepicker.css +0 -203
- data/assets/themes/j1/modules/bsDatepicker/css/theme/uno.css +0 -235
- data/assets/themes/j1/modules/bsDatepicker/js/datepicker.js +0 -509
- data/assets/themes/j1/modules/bsDatepicker/less/datepicker.less +0 -122
- data/assets/themes/j1/modules/bsThemeSwitcher/js/switcher.min.js +0 -20
- data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +0 -468
- data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +0 -6
- data/assets/themes/j1/modules/jqMouseWheel/README.md +0 -76
- data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.js +0 -221
- data/assets/themes/j1/modules/jqMouseWheel/js/jquery.mousewheel.min.js +0 -9
- data/assets/themes/j1/modules/noUISlider/LICENSE +0 -13
- data/assets/themes/j1/modules/noUISlider/css/nouislider.css +0 -260
- data/assets/themes/j1/modules/noUISlider/css/nouislider.min.css +0 -1
- data/assets/themes/j1/modules/noUISlider/js/nouislider.js +0 -2312
- data/assets/themes/j1/modules/noUISlider/js/nouislider.min.js +0 -3
- data/assets/themes/j1/modules/polyfills/js/msie.js +0 -140
- data/assets/themes/j1/modules/tocbot/css/theme/uno.css +0 -89
- data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +0 -89
- data/assets/themes/j1/modules/tocbot/css/tocbot.css +0 -75
- data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +0 -19
- data/assets/themes/j1/modules/tocbot/js/tocbot.js +0 -19
- data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +0 -19
- data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -146
- data/lib/starter_web/_data/modules/defaults/cookie_consent.yml +0 -132
- data/lib/starter_web/_data/modules/defaults/stickybits.yml +0 -36
- data/lib/starter_web/_data/modules/ssm.yml +0 -142
- data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/collections/posts/public/series/_posts/000_includes/attributes.asciidoc +0 -66
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/000_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
- data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/attributes.asciidoc +0 -69
- data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/000_includes/documents/100_buttons.asciidoc +0 -170
- data/lib/starter_web/pages/public/learn/roundtrip/510_mdb_preview/mdb_previewer.adoc +0 -52
- data/lib/starter_web/pages/public/learn/roundtrip/bs_tour.js +0 -98
@@ -1,16 +1,18 @@
|
|
1
1
|
---
|
2
2
|
title: Cookies
|
3
3
|
tagline: good to know
|
4
|
-
|
4
|
+
date: 2019-06-01 00:00:00
|
5
|
+
description: >
|
6
|
+
Useful info on cookies and how they used
|
7
|
+
|
8
|
+
tags: [ About, Cookies ]
|
9
|
+
categories: [ Featured ]
|
5
10
|
|
6
|
-
date: 2019-06-01 00:00:00 +0200
|
7
11
|
series:
|
8
12
|
adsense: false
|
9
13
|
image: /assets/images/modules/attics/cookies-1920x1200-bw.jpg
|
10
|
-
|
11
|
-
|
12
|
-
index: [ Cookie, Usage, Type, Policy, Consent ]
|
13
|
-
categories: []
|
14
|
+
comments: true
|
15
|
+
advertising: true
|
14
16
|
|
15
17
|
regenerate: false
|
16
18
|
|
@@ -32,50 +34,53 @@ resource_options:
|
|
32
34
|
href: https://unsplash.com/@miroslava
|
33
35
|
---
|
34
36
|
|
35
|
-
//
|
36
|
-
//
|
37
|
-
//
|
38
|
-
|
39
|
-
// NOTE
|
40
|
-
// -----------------------------------------------------------------------------
|
41
|
-
// See: http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm
|
37
|
+
// Page Initializer
|
38
|
+
// =============================================================================
|
39
|
+
// Enable the Liquid Preprocessor
|
40
|
+
:page-liquid:
|
42
41
|
|
43
|
-
//
|
42
|
+
// Set page (local) attributes here
|
44
43
|
// -----------------------------------------------------------------------------
|
45
|
-
:page-
|
44
|
+
// :page--attr: <attr-value>
|
46
45
|
|
47
46
|
// Additional Asciidoc page attributes goes here
|
48
47
|
// -----------------------------------------------------------------------------
|
49
48
|
// :page-imagesdir: {{page.images.dir}}
|
50
49
|
|
51
|
-
|
52
|
-
// NOTE: Place an excerpt at the most top position
|
50
|
+
// Place an excerpt at the most top position
|
53
51
|
// -----------------------------------------------------------------------------
|
54
|
-
Is it needed for
|
52
|
+
Is it needed for visitors to know what cookies are all about?
|
55
53
|
|
56
|
-
Not first place. Cookies are widely used. All users
|
57
|
-
bothered all the time to accept
|
54
|
+
Not the first place. Cookies are widely used. All users visiting web sites are
|
55
|
+
bothered all the time to accept cookies. Because cookies are used that often.
|
58
56
|
For good reasons - but for *different* reasons.
|
59
57
|
|
60
58
|
To answer the question: yes, you should.
|
61
59
|
|
62
|
-
All people are part of the *real* and virtual worlds as well; the internet
|
63
|
-
for example. In real world you've learned what cookies are. You can simply
|
64
|
-
*see* them, smell them and eat some.
|
65
|
-
|
60
|
+
All people are part of the *real* and virtual worlds as well; the internet,
|
61
|
+
for example. In the real world, you've learned what cookies are. You can simply
|
62
|
+
*see* them, smell them and eat some. For physical cookies, you know them as
|
63
|
+
sweets from earliest days.
|
66
64
|
|
67
65
|
But cookies in the digital world are different. Cookies in the sense of the
|
68
|
-
internet, of the web are *not* dangerous but not
|
66
|
+
internet, of the web are *not* dangerous but not necessarily a sort of sweets
|
69
67
|
to enjoy people.
|
70
68
|
|
71
69
|
[role="clearfix mb-3"]
|
72
70
|
excerpt__end
|
73
71
|
|
72
|
+
// Load Liquid procedures
|
73
|
+
// -----------------------------------------------------------------------------
|
74
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
74
75
|
|
75
|
-
//
|
76
|
+
// Load page attributes
|
76
77
|
// -----------------------------------------------------------------------------
|
77
|
-
|
78
|
+
{% include {{load_attributes}} scope="none" %}
|
79
|
+
|
78
80
|
|
81
|
+
// Page content
|
82
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
83
|
+
[[readmore]]
|
79
84
|
== What are cookies technically
|
80
85
|
|
81
86
|
[role="mb-3"]
|
@@ -0,0 +1,38 @@
|
|
1
|
+
// ~/document_base_folder/000_includes
|
2
|
+
// Asciidoc attribute includes: attributes.asciidoc
|
3
|
+
// -----------------------------------------------------------------------------
|
4
|
+
|
5
|
+
|
6
|
+
// URLS, local references to internal|external web links (macro link:)
|
7
|
+
// -----------------------------------------------------------------------------
|
8
|
+
tag::urls[]
|
9
|
+
end::urls[]
|
10
|
+
|
11
|
+
|
12
|
+
// TAGS, local asciidoc attributes (general variables)
|
13
|
+
// -----------------------------------------------------------------------------
|
14
|
+
tag::tags[]
|
15
|
+
end::tags[]
|
16
|
+
|
17
|
+
|
18
|
+
// DATA, local references to data elements (asciidoc extensions)
|
19
|
+
// -----------------------------------------------------------------------------
|
20
|
+
tag::data[]
|
21
|
+
end::data[]
|
22
|
+
|
23
|
+
// DOCUMENTS, local document resources (macro include::)
|
24
|
+
// -----------------------------------------------------------------------------
|
25
|
+
tag::documents[]
|
26
|
+
end::documents[]
|
27
|
+
|
28
|
+
|
29
|
+
// TABLES, local table resources (macro include::)
|
30
|
+
// -----------------------------------------------------------------------------
|
31
|
+
tag::tables[]
|
32
|
+
end::tables[]
|
33
|
+
|
34
|
+
|
35
|
+
// AUTHORS, local author information (special variables)
|
36
|
+
// -----------------------------------------------------------------------------
|
37
|
+
tag::authors[]
|
38
|
+
end::authors[]
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,502 +1,494 @@
|
|
1
|
-
---
|
2
|
-
title: Using Docker
|
3
|
-
tagline: docker on windows
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
//
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
//
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
//
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
//
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
//
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
*
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
*
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
*
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
*
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
dd
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
----
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
.
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
.
|
434
|
-
+
|
435
|
-
[source, bash]
|
436
|
-
----
|
437
|
-
sudo
|
438
|
-
----
|
439
|
-
|
440
|
-
[start=
|
441
|
-
.
|
442
|
-
+
|
443
|
-
[source, bash]
|
444
|
-
----
|
445
|
-
|
446
|
-
----
|
447
|
-
|
448
|
-
[start=
|
449
|
-
.
|
450
|
-
+
|
451
|
-
[source, bash]
|
452
|
-
----
|
453
|
-
|
454
|
-
----
|
455
|
-
|
456
|
-
[start=
|
457
|
-
.
|
458
|
-
+
|
459
|
-
[source, bash]
|
460
|
-
----
|
461
|
-
|
462
|
-
----
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
----
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
./etc/
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
=== Mount the share at boot-time
|
498
|
-
|
499
|
-
lorem:sentences[3]
|
500
|
-
|
501
|
-
./etc/fstab
|
502
|
-
//win10pc/Public /c/Users/Public cifs uid=1000,gid=5555,credentials=/home/jadams/.smbcredentials,iocharset=utf8,rw 0 0
|
1
|
+
---
|
2
|
+
title: Using Docker
|
3
|
+
tagline: docker on windows
|
4
|
+
date: 2018-11-01 00:00:00
|
5
|
+
description: >
|
6
|
+
Docker on Windows
|
7
|
+
|
8
|
+
tags: [ Tutorial, Kickstarter ]
|
9
|
+
categories: [ Series ]
|
10
|
+
|
11
|
+
series: Docker
|
12
|
+
adsense: false
|
13
|
+
comments: false
|
14
|
+
toc: true
|
15
|
+
exclude_from_search: true
|
16
|
+
|
17
|
+
regenerate: false
|
18
|
+
|
19
|
+
resources: []
|
20
|
+
resource_options:
|
21
|
+
- toccer:
|
22
|
+
collapseDepth: 3
|
23
|
+
- attic:
|
24
|
+
padding_top: 400
|
25
|
+
padding_bottom: 50
|
26
|
+
opacity: 0.5
|
27
|
+
slides:
|
28
|
+
- url: /assets/images/modules/attics/banner/docker-1280x600-bw.jpg
|
29
|
+
alt: docker_banner_r-1280x500-bw
|
30
|
+
---
|
31
|
+
|
32
|
+
// Page Initializer
|
33
|
+
// =============================================================================
|
34
|
+
// Enable the Liquid Preprocessor
|
35
|
+
:page-liquid:
|
36
|
+
|
37
|
+
// Set page (local) attributes here
|
38
|
+
// -----------------------------------------------------------------------------
|
39
|
+
// :page--attr: <attr-value>
|
40
|
+
:debug: false
|
41
|
+
:page-imagesdir: {{page.images.dir}}/j1_using_docker
|
42
|
+
|
43
|
+
// Place an excerpt at the most top position
|
44
|
+
// -----------------------------------------------------------------------------
|
45
|
+
How to run Docker smooth on Windows? Sounds like a relatively simple question
|
46
|
+
followed by a simple answer: go for *Docker for Windows*. Unfortunately,
|
47
|
+
the answer is *not* that easy. As often: it depends (on the use case).
|
48
|
+
|
49
|
+
[role="clearfix mb-3"]
|
50
|
+
excerpt__end
|
51
|
+
|
52
|
+
// Load Liquid procedures
|
53
|
+
// -----------------------------------------------------------------------------
|
54
|
+
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
55
|
+
|
56
|
+
// Load page attributes
|
57
|
+
// -----------------------------------------------------------------------------
|
58
|
+
{% include {{load_attributes}} scope="local" %}
|
59
|
+
|
60
|
+
|
61
|
+
// Page content
|
62
|
+
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
63
|
+
[[readmore]]
|
64
|
+
== Docker smooth on Windows
|
65
|
+
|
66
|
+
// [role="mb-3"]
|
67
|
+
// image::/assets/images/collections/blog/series/j1_using_docker/windows_docker_banner.1280x500.png[{{page.title}}]
|
68
|
+
|
69
|
+
// include::{documentdir}/100-docker-using-shared-folders.asciidoc[]
|
70
|
+
|
71
|
+
In general, two incarnations of Docker for Windows are available:
|
72
|
+
|
73
|
+
* Legacy solution: *Docker Toolbox*
|
74
|
+
* Native solution: *Docker for Windows*
|
75
|
+
|
76
|
+
Before the native version of Docker *Docker for Windows* was available,
|
77
|
+
a *cross-platform* solution called *Docker Toolbox* could be used.
|
78
|
+
*Docker Toolbox* is a bundle of *current* Docker software based on
|
79
|
+
*Docker Machine* combined with the *Docker Engine* bundled with
|
80
|
+
*VirtualBox* as a Hypervisor to run Linux boxes as virtual machines
|
81
|
+
on Windows.
|
82
|
+
|
83
|
+
What the Docker team recomments: Update to the newer package, if possible.
|
84
|
+
This should be discussed, especially for Windows, in more detail ...
|
85
|
+
|
86
|
+
[WARNING]
|
87
|
+
====
|
88
|
+
*The Docker Team mentions the following about Docker Toolbox:*
|
89
|
+
|
90
|
+
Docker Toolbox is for *older Windows* systems (or *Apple MacOS* versions)
|
91
|
+
that *does not meet* the requirements of the *native* Docker version.
|
92
|
+
====
|
93
|
+
|
94
|
+
Docker won't never run *natively* on Windows. The *Container Technology*
|
95
|
+
used by Docker depends on *Linux* (at least on a Unix flavour of the host
|
96
|
+
operating system). For all non-Linux (or Unix) platforms, a *Hypervisor* is
|
97
|
+
needed to make it possible to run the needed *Linux OS* for Docker.
|
98
|
+
|
99
|
+
Yes, Windows support a *native* Hypervisor layer: `Hyper-V`. Using the Windows
|
100
|
+
component `Hyper-V`, any operating system can be run as *virtual machines* on
|
101
|
+
Windows. But it should be kept in mind: the Hypervisor layer is *always* needed;
|
102
|
+
as well as for the so-called the *native* Docker version on Windows. But:
|
103
|
+
real *native* Docker versions does *not* need a Hypervisor layer; they run
|
104
|
+
containers direcly on the host OS! This should be kept on mind.
|
105
|
+
|
106
|
+
They are some pittfals using *Docker for Windows* if you go for:
|
107
|
+
|
108
|
+
* Stability - found quite often issues running containers on *Docker for Windows*.
|
109
|
+
If you're not a Windows specialist, it is hard to findout issues for `Hyper-V`
|
110
|
+
, the VM and|or both.
|
111
|
+
* Flexibility - it is *NOT* possible to use the Hypervisor `Hyper-V` in
|
112
|
+
parallel to *VirtualBox* as an alternative
|
113
|
+
* Incompatibility - on some Windows installations, and for sure they met the
|
114
|
+
requirements of the *native* Docker version, the installaton was *NOT*
|
115
|
+
successful and Docker fails to start
|
116
|
+
|
117
|
+
Again: the software included in the *Docker Toolbox* are *current* versions.
|
118
|
+
The latest Toolbox contains:
|
119
|
+
|
120
|
+
* the Docker Engine Docker, version 18.03.0-ce, build 0520e24302
|
121
|
+
* the Docker Machine, version 0.14.0, build 89b8332
|
122
|
+
* the Docker Composer, version 1.20.1, build 5d8c71b2
|
123
|
+
* a current MINGW64-based GNU bash, version 4.4.19(2)-release (x86_64-pc-msys)
|
124
|
+
|
125
|
+
For all the people having their (IT) roots on Unix respectively Linux, the
|
126
|
+
*Docker Toolbox* is the better solution on Windows (for now). No need to go
|
127
|
+
for the Windows Hypervisor `Hyper-V` - Oracle *VirtualBox* can be used
|
128
|
+
instead; as quite often used for testing and development.
|
129
|
+
|
130
|
+
Let's have a look how to *Manage Linux on Windows*, to use Docker on the
|
131
|
+
Windows platform.
|
132
|
+
|
133
|
+
== Installing Docker Toolbox
|
134
|
+
|
135
|
+
As discussed ealier, *Docker Toolbox* is using *VirtualBox* for the
|
136
|
+
Hypervisor to create the Linux VMs needed. To get the latest version,
|
137
|
+
install VirtualBox first (Docker Toolbox includes a installer package
|
138
|
+
for VBox but not nessesarily at their latets version).
|
139
|
+
|
140
|
+
Go for the link:{virtualbox-install-on-windows}[VirtualBox Download Page]
|
141
|
+
and select under *VirtualBox 5.x.y platform packages* the latest version
|
142
|
+
for Windows (Windows hosts). Install the package - the installation process
|
143
|
+
is quite simple supported by an build in installer wizard.
|
144
|
+
|
145
|
+
If done, go for the installation of the Toolbox. A current package can be
|
146
|
+
retrieved from link:{docker-install-toolbox-on-windows}[Docker Documents].
|
147
|
+
The page includes all the info needed to install the software.
|
148
|
+
|
149
|
+
NOTE: For the installation of the *Docker Toolbox*, please deselect the
|
150
|
+
installation of *VirtualBox* included as the software has been already
|
151
|
+
installed.
|
152
|
+
|
153
|
+
NOTE: The commandline interface used by *Docker Toolbox* is based on
|
154
|
+
*Git MSYS-git UNIX tools*. If you have *Git* installed already for your
|
155
|
+
Windows host, please deselect the installation of *Git* included.
|
156
|
+
|
157
|
+
*Docker Toolbox* comes with *NO* graphical user interface (GUI). To manage
|
158
|
+
Docker, the included GNU bash of the *Git MSYS-git UNIX tools* shoud be used.
|
159
|
+
A very first version of a (native) Docker UI on Windows is *Kitematic*,
|
160
|
+
currently in a alpha version included.
|
161
|
+
|
162
|
+
ifdef::backend-html5[]
|
163
|
+
.Docker UI Kinematic on Windows
|
164
|
+
lightbox::docker-windows-kinematic-alpha[800, {data-docker-windows-kinematic-alpha}]
|
165
|
+
endif::[]
|
166
|
+
|
167
|
+
TIP: You should check *Kitematic*. If started for *Docker Toolbox* on Windows,
|
168
|
+
change (the Hypervisor) to Virtualbox.
|
169
|
+
|
170
|
+
For Windows users a commandline interface to manage a complex system like
|
171
|
+
Docker may sound a bit stone age. It's not for good reasons:
|
172
|
+
|
173
|
+
* the knowlegde of the base Docker commands is essential to understand the
|
174
|
+
Container Technology better
|
175
|
+
|
176
|
+
* Blalal blaaa
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
== Manage Linux on Windows
|
181
|
+
|
182
|
+
VirtualBox is a greate piece of software for desktop and workstation
|
183
|
+
virtualization. A huge number of IT specialist and developers are using VB
|
184
|
+
for: testing and development environments. Sometimes for production
|
185
|
+
environments – if it's applicable.
|
186
|
+
|
187
|
+
One good idea for VirtualBox is, if you are Web|App developer for Linux you
|
188
|
+
can keep *Windows* as your primary OS - yeah, yeah those people are living on
|
189
|
+
our planet! One can install a Linux distribution of choice in VirtualBox VM
|
190
|
+
and reap both benefits of Windows as primary OS and Linux as a server
|
191
|
+
platform for good reasons.
|
192
|
+
|
193
|
+
=== Create a Linux VM
|
194
|
+
|
195
|
+
lorem:sentences[5]
|
196
|
+
|
197
|
+
lorem:sentences[3]
|
198
|
+
|
199
|
+
|
200
|
+
=== Sharing Data
|
201
|
+
|
202
|
+
For (real) native Docker installations, it is easy to share data between then
|
203
|
+
host OS and containers managed by Docker. It is simple this:
|
204
|
+
|
205
|
+
[source, sh]
|
206
|
+
----
|
207
|
+
docker run --rm \
|
208
|
+
--volume=$PWD:/srv/jekyll \
|
209
|
+
-p 35729:35729 -p 40000:40000 \
|
210
|
+
-it jekyll-one/j1:latest \
|
211
|
+
j1 serve --incremental --livereload
|
212
|
+
----
|
213
|
+
|
214
|
+
The container, instructed by `--volume=$PWD:/srv/jekyll` shares the
|
215
|
+
filesystem of the host - the *native* way to bring in data into a
|
216
|
+
container for processing. In the example a static Jekyll Web is created
|
217
|
+
by J1 Template (j1), served by the ports 35729 for livereload and 40000
|
218
|
+
serving the web.
|
219
|
+
|
220
|
+
For the Windows platform, using a virtual Linux Box for Docker containers,
|
221
|
+
this is *NOT* possible. The virtual system is managed by Virtualbox and no
|
222
|
+
direct relationship is in between the VBox and the host operating system
|
223
|
+
Windows! No (direct) access to the host filesystem is possible. Bad luck so
|
224
|
+
far.
|
225
|
+
|
226
|
+
Generally spoken, there are 3 ways of sharing files between a Windows host
|
227
|
+
and Linux guest boxes; keep files:
|
228
|
+
|
229
|
+
* in the guest (Linux) and share them with host through Samba
|
230
|
+
* on host (Windows) and use VirtualBox *Shared Folders*
|
231
|
+
* on host (Windows) and mount Windows *Public Folders* via CIFS
|
232
|
+
from within guest (Linux)
|
233
|
+
|
234
|
+
For all people experienced on the Linux platform, the first option is
|
235
|
+
probably the easiest. But it has it’s drawbacks. In most cases for testing,
|
236
|
+
it's *NOT* wanted to keep files in a VM. In case of corruption of the VM,
|
237
|
+
reinstallation needs, or whatever yor data is *lost* in most cases. Truly,
|
238
|
+
not an option.
|
239
|
+
|
240
|
+
Typically developers want them kept on native Windows *disks* as they are
|
241
|
+
expected as more safely stored on physical devices and easier to backup.
|
242
|
+
So first option is clearly out.
|
243
|
+
|
244
|
+
*Shared Folders* are really a great idea. After installing the *VirtualBox
|
245
|
+
Guest Additions* (which brings the mount.vboxsf binary and vboxsf kernel
|
246
|
+
module) the guest can mount automatically a Windows OS folder inside the VM.
|
247
|
+
Some klicks further the guest start's, mount the *shared folder* in guest and
|
248
|
+
voila: you're done! Sounds really great.
|
249
|
+
|
250
|
+
But there's a catch – performance. Shared Folders are really, really horrible
|
251
|
+
slow. Which in turn kills the idea of programming and testing code without
|
252
|
+
loosing hair because of the slowness. You can find tons of articles around
|
253
|
+
slow shared folders on the Internet; both for the Big Dogs: VMware and
|
254
|
+
VirtualBox. But no solution. Since decades.
|
255
|
+
|
256
|
+
Analyzing the performance, it's obvious that kernel spends really large
|
257
|
+
amount of time in IO mode – so the vboxsf CIFS emulation of VirtualBoxis
|
258
|
+
behaving something like a slug. Birds love slugs but IT professionals don’t
|
259
|
+
like that, do they?
|
260
|
+
|
261
|
+
It seems that the only viable solution is sharing folders though Windows and
|
262
|
+
mounting them via CIFS on the guest, the virtual Linux box. This way, a
|
263
|
+
similiar flexible solution for sharing folders can be achived but at a much
|
264
|
+
better performance.
|
265
|
+
|
266
|
+
|
267
|
+
=== Performance tests
|
268
|
+
|
269
|
+
Anyway, *shared folders* will be always slow as the are of type *NAS* - network
|
270
|
+
attached storage. For a local network nowadays, typically at Gigabit level and
|
271
|
+
quite low in latency, an acceptable performance cab be achived.
|
272
|
+
|
273
|
+
I did some simple tests to show the performance differences. There are three
|
274
|
+
directories I did for my tests:
|
275
|
+
|
276
|
+
* /mnt/media/repo1, data on a physical (local) disk on the host
|
277
|
+
* /mnt/media/repo2, data on a physical (local) disk in the guest
|
278
|
+
* /mnt/media/repo3, data on a Windows share mounted via cifs in the guest
|
279
|
+
|
280
|
+
I've been using simple (bash) script based on *dd* commands for testing.
|
281
|
+
The *dd* commands used as a base are shown below. For sure not a quite
|
282
|
+
sophisticated test scenario but it's giving a general impression what can
|
283
|
+
achived in real world.
|
284
|
+
|
285
|
+
NOTE: For multi-platform testing, on Windows the `dd` command is used as well.
|
286
|
+
For *Docker Toolbox*, beside the GNU bash, a full set of *GNU CoreUtils* are
|
287
|
+
available as well (accessible out of the *Docker Quickstart Terminal*). The
|
288
|
+
used (bash) test script needs to be run out of *Docker Quickstart Terminal*.
|
289
|
+
Download the tester script from here.
|
290
|
+
|
291
|
+
The test script *docker_perf_test.sh* supports a test scenario for
|
292
|
+
*General System Performance*. This is focussing on pure CPU|Memory power.
|
293
|
+
On both systems (host and guest) these tests are using pure *kernel services*
|
294
|
+
for creating input and output data. One is creating random input data as
|
295
|
+
fast as possible, the other discards everything it gets as fast as it can.
|
296
|
+
|
297
|
+
.General System Performance
|
298
|
+
[source, sh]
|
299
|
+
----
|
300
|
+
dd if=/dev/urandom of=/dev/null bs=1M count=10000
|
301
|
+
----
|
302
|
+
|
303
|
+
Please see those tests for *General System Performance* for the background
|
304
|
+
*What could be achived in therory*. These tests may helpful to compare your
|
305
|
+
current setup for the host and the guest same way.
|
306
|
+
|
307
|
+
As mentioned, all tests for *docker_perf_test.sh* are based on the `dd`
|
308
|
+
command. For *real world* measures, standard *dd tests* are used. You'll
|
309
|
+
find a lot of those on the Internet. All tests for *docker_perf_test.sh* are
|
310
|
+
changed (from `/dev/zero`) to `/dev/urandom` for the input to put some
|
311
|
+
*pressure* on the CPU while processing data for reading or writing from the
|
312
|
+
filesystem to be checked. All the tests are *rules of thumb*, no technical
|
313
|
+
measures.
|
314
|
+
|
315
|
+
NOTE: Zum Messen der Schreibperformance liest man die zu Schreibenden
|
316
|
+
Daten am besten aus /dev/zero und schreibt eine normale Datei im Filesystem
|
317
|
+
(z.B. mit of=/root/testfile). Die folgenden Beispiele verwenden ein Testdatei,
|
318
|
+
um irrtümlichen Datenverlust zu vermeiden. Die dabei erzielbare Performance
|
319
|
+
Werte sind etwas geringer (da dadurch auch Metadaten im Filesystem geschrieben
|
320
|
+
werden).
|
321
|
+
|
322
|
+
Find the base `dd` commands for read an write performance tests below. The
|
323
|
+
exported shared folder on Windows is *C:\Users\Public* mapped to the Unix
|
324
|
+
(POSIX) folder scheme of */c/Users/Public* on the guest OS.
|
325
|
+
|
326
|
+
.Write Performance - Windows host (local disk), Linux guest (shared disk)
|
327
|
+
[source, sh]
|
328
|
+
----
|
329
|
+
dd if=/dev/urandom bs=1M count=1024 | split -b 1M - name.
|
330
|
+
----
|
331
|
+
.Write Performance (local disk), Linux guest
|
332
|
+
[source, sh]
|
333
|
+
----
|
334
|
+
dd if=/dev/urandom of=/var/tmp/test/samplefile bs=1M count=1024
|
335
|
+
----
|
336
|
+
|
337
|
+
.Read Performance - Windows host (local disk), Linux guest (shared disk)
|
338
|
+
[source, sh]
|
339
|
+
----
|
340
|
+
dd if=/c/Users/Public/test/samplefile of=/dev/null bs=1M count=1024 iflag=direct
|
341
|
+
----
|
342
|
+
.Read Performance (local disk), Linux guest
|
343
|
+
[source, sh]
|
344
|
+
----
|
345
|
+
dd if=/var/tmp/test/samplefile of=/dev/null bs=1M count=1024 iflag=direct
|
346
|
+
----
|
347
|
+
|
348
|
+
Have a look at the table below for the measures found on a *Windows 10*
|
349
|
+
desktop host (Intel Core Quad Q9550) using a *SATA-300* disk for the local
|
350
|
+
physical disk and a Gigabit network interface (*Realtek PCIe GBE* familiy)
|
351
|
+
running a *CentOS 7 Linux* (version 3.10.0-862) as a guest:
|
352
|
+
|
353
|
+
.Data transfer rates for 1 GB of data
|
354
|
+
[cols="2,2,4,3, options="header", role="table-responsive, full-width"]
|
355
|
+
|===============================================================================
|
356
|
+
|direction |mountpoint |source |througput [MB/s]
|
357
|
+
|
358
|
+
|`read`
|
359
|
+
|/mnt/media/repo1
|
360
|
+
|physical (local) disk on the *host*
|
361
|
+
|85.20
|
362
|
+
|
363
|
+
|`read`
|
364
|
+
|/mnt/media/repo2
|
365
|
+
|physical (local) disk on the *guest*
|
366
|
+
|147.00
|
367
|
+
|
368
|
+
|`read`
|
369
|
+
|/mnt/media/repo3
|
370
|
+
|shared disk on the *guest*
|
371
|
+
|30.3
|
372
|
+
|
373
|
+
|`write`
|
374
|
+
|/mnt/media/repo1
|
375
|
+
|physical (local) disk on the *host*
|
376
|
+
|234.00
|
377
|
+
|
378
|
+
|`write`
|
379
|
+
|/mnt/media/repo2
|
380
|
+
|physical (local) disk on the *guest*
|
381
|
+
|34.00
|
382
|
+
|
383
|
+
|`write`
|
384
|
+
|/mnt/media/repo3
|
385
|
+
|shared disk on the *guest*
|
386
|
+
|39.9
|
387
|
+
|
388
|
+
|===============================================================================
|
389
|
+
|
390
|
+
WARNING: Bei Verwendung von if=/dev/zero und bs=1G benötigt das Linuxsystem
|
391
|
+
1GB freien Platz im RAM. Falls Ihr Testsystem nicht ausreichend RAM ...
|
392
|
+
|
393
|
+
NOTE: Um praxisnahe Ergebnisse zu erhalten empfehlen wir die beschrieben Tests
|
394
|
+
mehrmals (z.B. 3 bis 10x) durchzuführen. Damit können Sie Ausreißer rechtzeitig
|
395
|
+
erkennen.
|
396
|
+
|
397
|
+
|
398
|
+
lorem:sentences[5]
|
399
|
+
|
400
|
+
== Publish a Shared Folder
|
401
|
+
|
402
|
+
lorem:sentences[5]
|
403
|
+
|
404
|
+
lorem:sentences[3]
|
405
|
+
|
406
|
+
|
407
|
+
== Mount Shared Folders on Linux
|
408
|
+
|
409
|
+
lorem:sentences[5]
|
410
|
+
|
411
|
+
=== Installing CIFS
|
412
|
+
|
413
|
+
For the Linux VM, a current Ubunt Server of version 18.06 is used. To mount
|
414
|
+
CIFS shares, the package `cifs-utils` needs to be installed:
|
415
|
+
|
416
|
+
[source, bash]
|
417
|
+
----
|
418
|
+
sudo apt-get -y install cifs-utils
|
419
|
+
----
|
420
|
+
|
421
|
+
Mounting filesystems in general, therefor the same to the CIFS share, are
|
422
|
+
done as root. This ends up in the situation this folder cannot (accessed??)
|
423
|
+
written as normal user.
|
424
|
+
|
425
|
+
. Create the `cifs` group
|
426
|
+
+
|
427
|
+
[source, bash]
|
428
|
+
----
|
429
|
+
sudo groupadd cifs
|
430
|
+
----
|
431
|
+
|
432
|
+
[start=2]
|
433
|
+
. Add your user to the `cifs` group
|
434
|
+
+
|
435
|
+
[source, bash]
|
436
|
+
----
|
437
|
+
sudo usermod -aG cifs $USER
|
438
|
+
----
|
439
|
+
|
440
|
+
[start=3]
|
441
|
+
. Create the mountpoint (to be used by Docker) as root
|
442
|
+
+
|
443
|
+
[source, bash]
|
444
|
+
----
|
445
|
+
mkdir -p /c/Users/Public
|
446
|
+
----
|
447
|
+
|
448
|
+
[start=4]
|
449
|
+
. Change the ownership of the mountpoint
|
450
|
+
+
|
451
|
+
[source, bash]
|
452
|
+
----
|
453
|
+
chown -R root:cifs /c/Users/Public
|
454
|
+
----
|
455
|
+
|
456
|
+
[start=5]
|
457
|
+
. Create a credentials file to place user|password data safe.
|
458
|
+
+
|
459
|
+
[source, bash]
|
460
|
+
----
|
461
|
+
touch ~/.smbcredentials
|
462
|
+
----
|
463
|
+
|
464
|
+
.smbcredentials
|
465
|
+
----
|
466
|
+
username=<your_windows_user>
|
467
|
+
password=<windows_user_password>
|
468
|
+
----
|
469
|
+
|
470
|
+
=== Mount the share manually
|
471
|
+
|
472
|
+
To enable non-authorized users to read and write the shared files, specify
|
473
|
+
user and group ID that the mounted shares folders should use. This would
|
474
|
+
allow particular users and group members to read|write to the share.
|
475
|
+
|
476
|
+
To do so, the following options are used for a public mount:
|
477
|
+
|
478
|
+
* username
|
479
|
+
* password
|
480
|
+
* uid
|
481
|
+
* gid
|
482
|
+
|
483
|
+
Add the Windows host IP address to the hosts file
|
484
|
+
|
485
|
+
./etc/hosts
|
486
|
+
<ip_v4_address> <name_of_the windows_box> <alias_name>
|
487
|
+
|
488
|
+
|
489
|
+
=== Mount the share at boot-time
|
490
|
+
|
491
|
+
lorem:sentences[3]
|
492
|
+
|
493
|
+
./etc/fstab
|
494
|
+
//win10pc/Public /c/Users/Public cifs uid=1000,gid=5555,credentials=/home/jadams/.smbcredentials,iocharset=utf8,rw 0 0
|