j1-template 2021.0.2 → 2021.0.7
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/modules/navigator/generator.html +6 -6
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +11 -11
- data/_includes/themes/j1/procedures/global/attributes_loader.proc +2 -2
- data/_layouts/raw.html +1 -1
- data/assets/data/fam.html +1 -1
- data/assets/data/gallery_customizer.html +1 -1
- data/assets/data/mdi_icons.json +69582 -14640
- data/assets/data/menu.html +32 -3
- data/assets/data/mmenu_toc.html +1 -1
- data/assets/data/quicklinks.html +2 -2
- data/assets/themes/j1/adapter/js/fam.js +2 -2
- data/assets/themes/j1/adapter/js/j1.js +11 -5
- data/assets/themes/j1/adapter/js/mmenu.js +18 -22
- data/assets/themes/j1/adapter/js/{lunr_search.js → quicksearch.js} +11 -11
- data/assets/themes/j1/core/css/animate.min.css +1 -7
- data/assets/themes/j1/core/css/icon-fonts/fontawesome.css +302 -22
- data/assets/themes/j1/core/css/icon-fonts/fontawesome.min.css +1 -1
- data/assets/themes/j1/core/css/icon-fonts/materialdesign.css +12505 -4812
- data/assets/themes/j1/core/css/icon-fonts/materialdesign.min.css +1 -1
- data/assets/themes/j1/core/css/icon-fonts/twemoji.min.css +1 -1
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +79 -49
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +1 -6
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +78 -48
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +1 -6
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +124 -52
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -8
- data/assets/themes/j1/core/css/vendor.css +2 -2
- data/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.eot → eot/fa-brands-400.eot} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.eot → eot/fa-regular-400.eot} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.eot → eot/fa-solid-900.eot} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff2 +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff2 +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff2 +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.svg → svg/fa-brands-400.svg} +855 -597
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.svg → svg/fa-regular-400.svg} +94 -96
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.svg → svg/fa-solid-900.svg} +1272 -771
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-brands-400.ttf → ttf/fa-brands-400.ttf} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-regular-400.ttf → ttf/fa-regular-400.ttf} +0 -0
- data/assets/themes/j1/core/fonts/fontawesome_5/fonts/{fa-solid-900.ttf → ttf/fa-solid-900.ttf} +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92/eot}/materialdesignicons-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92}/materialdesignicons-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92}/materialdesignicons-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92/svg}/materialdesignicons-webfont.svg +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons/fonts → material_design_icons/fonts/_versions/v3.3.92/ttf}/materialdesignicons-webfont.ttf +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/eot/materialdesignicons-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/materialdesignicons-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/materialdesignicons-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/preview.html +717 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/svg/materialdesignicons-webfont.svg +10188 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/_versions/v5.9.55/ttf/materialdesignicons-webfont.ttf +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/eot/materialdesignicons-webfont.eot +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/materialdesignicons-webfont.woff2 +0 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/svg/materialdesignicons-webfont.svg +10188 -0
- data/assets/themes/j1/core/fonts/material_design_icons/fonts/ttf/materialdesignicons-webfont.ttf +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons → material_design_icons}/metadata/icons.json +0 -0
- data/assets/themes/j1/core/fonts/{materialdesign_icons → material_design_icons}/metadata/icons.yml +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.eot → eot/Roboto-Bold.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.eot → eot/Roboto-Light.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.eot → eot/Roboto-Medium.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.eot → eot/Roboto-Regular.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.eot → eot/Roboto-Thin.eot} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Black.ttf → ttf/Roboto-Black.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BlackItalic.ttf → ttf/Roboto-BlackItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Bold.ttf → ttf/Roboto-Bold.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-BoldItalic.ttf → ttf/Roboto-BoldItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Italic.ttf → ttf/Roboto-Italic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Light.ttf → ttf/Roboto-Light.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-LightItalic.ttf → ttf/Roboto-LightItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Medium.ttf → ttf/Roboto-Medium.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-MediumItalic.ttf → ttf/Roboto-MediumItalic.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Regular.ttf → ttf/Roboto-Regular.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-Thin.ttf → ttf/Roboto-Thin.ttf} +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/{Roboto-ThinItalic.ttf → ttf/Roboto-ThinItalic.ttf} +0 -0
- data/assets/themes/j1/core/js/template.min.js +23 -1
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_asc_disabled.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_both.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc.png +0 -0
- data/assets/themes/j1/modules/datatables/css/DataTables-1.10.16/images/sort_desc_disabled.png +0 -0
- data/assets/themes/j1/modules/datatables/css/datatables.css +1113 -0
- data/assets/themes/j1/modules/datatables/css/datatables.min.css +136 -0
- data/assets/themes/j1/modules/datatables/css/theme/uno.css +473 -0
- data/assets/themes/j1/modules/datatables/js/datatables.js +95360 -0
- data/assets/themes/j1/modules/datatables/js/datatables.min.js +533 -0
- data/assets/themes/j1/modules/jquery/js/jquery-3.5.1.min.map +1 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/css/justifiedGallery.css +110 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/css/justifiedGallery.min.css +110 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/jquery.justifiedGallery.js +1245 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/js/jquery.justifiedGallery.min.js +8 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.min.zip +0 -0
- data/assets/themes/j1/modules/justifiedGallery/_versions/v3.8.0/justifiedGallery.zip +0 -0
- data/assets/themes/j1/modules/justifiedGallery/css/_archived/justifiedGallery.css +110 -0
- data/assets/themes/j1/modules/justifiedGallery/css/_archived/justifiedGallery.min.css +110 -0
- data/assets/themes/j1/modules/justifiedGallery/css/justifiedGallery.css +11 -10
- data/assets/themes/j1/modules/justifiedGallery/css/justifiedGallery.min.css +3 -106
- data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.js +147 -146
- data/assets/themes/j1/modules/justifiedGallery/js/justifiedGallery.min.js +3 -3
- data/assets/themes/j1/modules/lightGallery/js/core/lightgallery.min.js +1 -2
- data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
- data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.css → quicksearch.css} +0 -0
- data/assets/themes/j1/modules/lunrSearch/css/{lunr_search.min.css → quicksearch.min.css} +0 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.js +304 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.language.support.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/js/{lunr_search.js → quicksearch.js} +22 -3
- data/assets/themes/j1/modules/lunrSearch/js/quicksearch.min.js +17 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.js +381 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ar.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.js +284 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.da.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.js +384 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.de.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.js +450 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.du.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.js +599 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.es.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.js +541 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fi.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.js +703 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.fr.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.js +565 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.hu.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.js +617 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.it.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.js +188 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ja.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.js +5 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.jp.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.js +79 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.multi.min.js +1 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.js +448 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.nl.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.js +258 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.no.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.js +570 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.pt.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.js +558 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ro.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.js +391 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.ru.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.js +256 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.sv.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.th.js +97 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.js +1087 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.tr.min.js +18 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.js +84 -0
- data/assets/themes/j1/modules/lunrSearch/languages/lunr.vi.min.js +1 -0
- data/assets/themes/j1/modules/mdiPreviewer/css/previewer.css +20 -5
- data/assets/themes/j1/modules/mdiPreviewer/css/previewer.min.css +1 -1
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.js +115 -0
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.min.js +15 -0
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.new.js +111 -0
- data/assets/themes/j1/modules/mdiPreviewer/js/previewer.old.js +103 -0
- data/assets/themes/j1/modules/mmenuLight/js/mmenu.js +2 -2
- data/assets/themes/j1/modules/mmenuLight/js/mmenu.min.js +3 -3
- data/assets/themes/j1/modules/twemoji/css/picker/twemoji-picker.css +4 -4
- 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 +46 -45
- data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +1 -1
- data/lib/j1/commands/generate.rb +3 -2
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +18 -18
- data/lib/starter_web/_config.yml +5 -5
- data/lib/starter_web/_data/apps/light_gallery.yml +1 -1
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1mn-subset +26 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-mplus1p-subset +26 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoemoji-subset +3 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/ABOUT-notoserif-subset +26 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-mplus +16 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoemoji +201 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-notoserif +201 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/LICENSE-roboto +11 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Black.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BlackItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Bold.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-BoldItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Italic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Light.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-LightItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Medium.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-MediumItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Regular.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-Thin.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/Roboto-ThinItalic.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-italic-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/mplus1mn-regular-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/mplus1p-regular-fallback.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/fonts/notoemoji-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-bold_italic-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-italic-subset.ttf +0 -0
- data/{assets/themes/j1/core/fonts/roboto → lib/starter_web/_data/asciidoc2pdf}/fonts/notoserif-regular-subset.ttf +0 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/base-theme.yml +130 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-theme.yml +36 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-for-print-with-fallback-font-theme.yml +15 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-theme.yml +298 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/default-with-fallback-font-theme.yml +21 -0
- data/lib/starter_web/_data/asciidoc2pdf/themes/j1-theme.yml +352 -0
- data/lib/starter_web/_data/j1_config.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/navigator.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/quicksearch.yml +82 -0
- data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
- data/lib/starter_web/_data/modules/navigator.yml +4 -6
- data/lib/starter_web/_data/modules/navigator_menu.yml +17 -66
- data/lib/starter_web/_data/modules/{lunr_search.yml → quicksearch.yml} +3 -3
- data/lib/starter_web/_data/modules/themer.yml +1 -1
- data/lib/starter_web/_data/resources.yml +34 -60
- data/lib/starter_web/_includes/attributes.asciidoc +297 -95
- data/lib/starter_web/_includes/tables/jekyll_variables.asciidoc +1 -1
- data/lib/starter_web/_includes/tables/template_variables.asciidoc +1 -1
- data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/lunr_index.rb +38 -8
- data/lib/starter_web/_plugins/minifyJS.rb +3 -0
- data/lib/starter_web/assets/images/modules/attics/machine-generator-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/modules-apps-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/no-time-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/responsive-text-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/icons/d1/scalable/d1.svg +1 -1
- data/lib/starter_web/assets/images/pages/panels/modules-apps-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/panels/no-time-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/panels/the-place-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_icon-800x200.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_icon.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_input-800x200.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_input.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_results_jekyll-.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/600_quicksearch/quicksearch_results_jekyll.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/annie-spratt-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/antonino-visalli-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/humble-lamb-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/library-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/romain-vignes-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/skeleton/sigmund-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/1280px-PDCA_Process.png +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/annie-spratt-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/deming-cycle.png +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/humble-lamb-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/john-schnobrich-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/pages/writers_guide/sigmund-1920x1280.jpg +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +10 -13
- 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} +7 -5
- 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} +16 -14
- data/lib/starter_web/collections/posts/public/featured/_posts/{2019-06-01-about-cookies.adoc → 2020-06-01-about-cookies.adoc} +10 -24
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +7 -18
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +7 -17
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +7 -17
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +7 -17
- data/{assets/themes/j1/modules/mdiPreviewer/js → lib/starter_web/collections/posts/public/series/_posts/_includes/documents}/readme +0 -0
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +5 -4
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +13 -3
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +13 -3
- data/lib/starter_web/dot.gitattributes +2 -16
- data/lib/starter_web/favicon.ico +0 -0
- data/lib/starter_web/index.html +1 -1
- data/lib/starter_web/package.json +8 -8
- data/lib/starter_web/pages/protected/site_search.adoc +2 -7
- data/lib/starter_web/pages/public/about/about_site.adoc +1877 -9
- data/lib/starter_web/pages/public/about/become_a_patron.adoc +26 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/blindtext.asciidoc +11 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/font_icons.asciidoc +23 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/gallery.asciidoc +5 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/asciidoc-extensions/lightbox.asciidoc +7 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/chapter_document.asciidoc +9 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/documents/entry_document.asciidoc +3 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/images/image.asciidoc +6 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column.asciidoc +12 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_2_column_options.asciidoc +30 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_3_column.asciidoc +16 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/_templates/tables/table_4_column.asciidoc +25 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/000_intro.adoc +61 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/100_chapter.adoc +58 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/200_chapter.adoc +59 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/900_references.adoc +68 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/attributes.asciidoc +68 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/000_intro.asciidoc +33 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter.asciidoc +7 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/100_chapter_document.asciidoc +21 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/100_chapter/110_chapter_document.asciidoc +36 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter.asciidoc +5 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/200_chapter/200_chapter_document.asciidoc +53 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references.asciidoc +23 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/000_intro.asciidoc +23 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/100_chapter_document.asciidoc +33 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/200_chapter_document.asciidoc +26 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/900_references/900_sources.asciidoc +81 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/_includes/documents/tables/110_material_design_icons.asciidoc +102 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/a2p.bat +28 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/a2p.sh +26 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.a2p +114 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.adoc +128 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/book/book.pdf +5440 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/100_chapter.asciidoc +60 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/200_chapter.asciidoc +59 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/attributes.asciidoc +63 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +53 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +53 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/tables/110_material_design_icons.asciidoc +102 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +84 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +236 -0
- data/lib/starter_web/pages/public/blog/navigator/archive.html +2 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +2 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +2 -0
- data/lib/starter_web/pages/public/blog/navigator/index.html +2 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +8 -4
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +3 -4
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +2 -270
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +168 -85
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +6 -9
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +5 -6
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +2 -55
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +113 -57
- data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +433 -0
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +4 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/{410_table_3_column.asciidoc → 410_table_bs_modal_examples.asciidoc} +0 -0
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +2 -2
- data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/100_impress.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +1 -1
- data/lib/starter_web/pages/public/legal/en/500_support.adoc +1 -1
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +16 -5
- data/lib/starter_web/pages/public/previewer/_includes/attributes.asciidoc +5 -81
- data/lib/starter_web/pages/public/previewer/_includes/documents/rouge/100_language_examples.asciidoc +119 -0
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/120_relative_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/300_flip.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +4 -4
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/200_rouge_attributes.asciidoc +41 -0
- data/lib/starter_web/pages/public/previewer/_includes/tables/rouge/300_supported_languages.asciidoc +857 -0
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/300_flip.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +116 -78
- data/lib/starter_web/pages/public/previewer/iframer.adoc +1 -1
- data/lib/starter_web/pages/public/previewer/justified_gallery.html +1 -1
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +42 -109
- data/lib/starter_web/pages/public/previewer/rouge.adoc +74 -352
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +3 -3
- data/lib/starter_web/utilsrv/_defaults/package.json +2 -2
- data/lib/starter_web/utilsrv/package.json +3 -3
- metadata +235 -80
- data/assets/themes/j1/core/fonts/materialdesign_icons/license.md +0 -97
- data/assets/themes/j1/core/fonts/roboto/fonts/OpenSansEmoji.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold-ascii.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-italic-ascii.ttf +0 -0
- data/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +0 -17
- data/assets/themes/j1/modules/twemoji/js/LICENSE +0 -21
- data/lib/starter_web/_data/modules/defaults/lunr_search.yml +0 -171
- data/lib/starter_web/_plugins/simple_search_filter.rb +0 -32
- data/lib/starter_web/collections/posts/public/featured/_posts/_includes/documents/unsplash-badge.asciidoc +0 -31
- data/lib/starter_web/collections/posts/public/series/_posts/_includes/documents/100-docker-using-shared-folders.asciidoc +0 -430
- data/lib/starter_web/collections/posts/public/series/_posts/_includes/documents/loop.sh +0 -28
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +0 -79
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +0 -77
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +0 -75
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/attributes.asciidoc +0 -176
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/100_meet_and_greet_jekyll.asciidoc +0 -31
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/200_preparations.asciidoc +0 -14
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/documents/300_first_awesome_web.asciidoc +0 -11
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/parts.asciidoc +0 -193
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/debug_variables.asciidoc +0 -47
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/_includes/tables/readme +0 -1
- data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +0 -236
- data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +0 -294
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/tables/readme +0 -0
@@ -1,97 +0,0 @@
|
|
1
|
-
Copyright (C) 2014, Austin Andrews (http://materialdesignicons.com/),
|
2
|
-
with Reserved Font Name Material Design Icons.
|
3
|
-
|
4
|
-
Copyright (C) 2014, Google (http://www.google.com/design/)
|
5
|
-
uses the license at https://github.com/google/material-design-icons/blob/master/LICENSE
|
6
|
-
|
7
|
-
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
8
|
-
This license is copied below, and is also available with a FAQ at:
|
9
|
-
http://scripts.sil.org/OFL
|
10
|
-
|
11
|
-
|
12
|
-
-----------------------------------------------------------
|
13
|
-
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
14
|
-
-----------------------------------------------------------
|
15
|
-
|
16
|
-
PREAMBLE
|
17
|
-
The goals of the Open Font License (OFL) are to stimulate worldwide
|
18
|
-
development of collaborative font projects, to support the font creation
|
19
|
-
efforts of academic and linguistic communities, and to provide a free and
|
20
|
-
open framework in which fonts may be shared and improved in partnership
|
21
|
-
with others.
|
22
|
-
|
23
|
-
The OFL allows the licensed fonts to be used, studied, modified and
|
24
|
-
redistributed freely as long as they are not sold by themselves. The
|
25
|
-
fonts, including any derivative works, can be bundled, embedded,
|
26
|
-
redistributed and/or sold with any software provided that any reserved
|
27
|
-
names are not used by derivative works. The fonts and derivatives,
|
28
|
-
however, cannot be released under any other type of license. The
|
29
|
-
requirement for fonts to remain under this license does not apply
|
30
|
-
to any document created using the fonts or their derivatives.
|
31
|
-
|
32
|
-
DEFINITIONS
|
33
|
-
"Font Software" refers to the set of files released by the Copyright
|
34
|
-
Holder(s) under this license and clearly marked as such. This may
|
35
|
-
include source files, build scripts and documentation.
|
36
|
-
|
37
|
-
"Reserved Font Name" refers to any names specified as such after the
|
38
|
-
copyright statement(s).
|
39
|
-
|
40
|
-
"Original Version" refers to the collection of Font Software components as
|
41
|
-
distributed by the Copyright Holder(s).
|
42
|
-
|
43
|
-
"Modified Version" refers to any derivative made by adding to, deleting,
|
44
|
-
or substituting -- in part or in whole -- any of the components of the
|
45
|
-
Original Version, by changing formats or by porting the Font Software to a
|
46
|
-
new environment.
|
47
|
-
|
48
|
-
"Author" refers to any designer, engineer, programmer, technical
|
49
|
-
writer or other person who contributed to the Font Software.
|
50
|
-
|
51
|
-
PERMISSION & CONDITIONS
|
52
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
53
|
-
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
54
|
-
redistribute, and sell modified and unmodified copies of the Font
|
55
|
-
Software, subject to the following conditions:
|
56
|
-
|
57
|
-
1) Neither the Font Software nor any of its individual components,
|
58
|
-
in Original or Modified Versions, may be sold by itself.
|
59
|
-
|
60
|
-
2) Original or Modified Versions of the Font Software may be bundled,
|
61
|
-
redistributed and/or sold with any software, provided that each copy
|
62
|
-
contains the above copyright notice and this license. These can be
|
63
|
-
included either as stand-alone text files, human-readable headers or
|
64
|
-
in the appropriate machine-readable metadata fields within text or
|
65
|
-
binary files as long as those fields can be easily viewed by the user.
|
66
|
-
|
67
|
-
3) No Modified Version of the Font Software may use the Reserved Font
|
68
|
-
Name(s) unless explicit written permission is granted by the corresponding
|
69
|
-
Copyright Holder. This restriction only applies to the primary font name as
|
70
|
-
presented to the users.
|
71
|
-
|
72
|
-
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
73
|
-
Software shall not be used to promote, endorse or advertise any
|
74
|
-
Modified Version, except to acknowledge the contribution(s) of the
|
75
|
-
Copyright Holder(s) and the Author(s) or with their explicit written
|
76
|
-
permission.
|
77
|
-
|
78
|
-
5) The Font Software, modified or unmodified, in part or in whole,
|
79
|
-
must be distributed entirely under this license, and must not be
|
80
|
-
distributed under any other license. The requirement for fonts to
|
81
|
-
remain under this license does not apply to any document created
|
82
|
-
using the Font Software.
|
83
|
-
|
84
|
-
TERMINATION
|
85
|
-
This license becomes null and void if any of the above conditions are
|
86
|
-
not met.
|
87
|
-
|
88
|
-
DISCLAIMER
|
89
|
-
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
90
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
91
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
92
|
-
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
93
|
-
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
94
|
-
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
95
|
-
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
96
|
-
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
97
|
-
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,17 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
# -----------------------------------------------------------------------------
|
3
|
-
# ~/assets/themes/j1/modules/lunr/js/jquery.lunr.search.js
|
4
|
-
# jQuery plugin to use with J1LunrSearch
|
5
|
-
#
|
6
|
-
# Product/Info:
|
7
|
-
# https://jekyll.one
|
8
|
-
#
|
9
|
-
# Copyright (C) 2021 Juergen Adams
|
10
|
-
#
|
11
|
-
# J1 Template is licensed under the MIT License.
|
12
|
-
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
-
# -----------------------------------------------------------------------------
|
14
|
-
# TODO:
|
15
|
-
# -----------------------------------------------------------------------------
|
16
|
-
*/
|
17
|
-
"use strict";!function(t){var e=function(t){var e=t.match(/(\d+)/g);return new Date(e[0],e[1]-1,e[2])},n=function(){function n(e,n){this.$elem=e,this.$results=t(n.results),this.indexDataUrl=n.indexUrl,this.template=this.compileTemplate(t(n.template)),this.titleMsg=n.titleMsg,this.emptyMsg=n.emptyMsg,this.onAfterResultShow=n.onAfterResultShow,this.initialize()}return n.prototype.initialize=function(){var e=this;this.loadIndexData(function(n){e.docs=t.map(n.docs,e.createEntry),e.index=lunr.Index.load(n.index),e.populateSearchFromQuery(),e.bindKeypress()})},n.prototype.compileTemplate=function(t){var e=t.text();return Mustache.parse(e),function(t,n){return Mustache.render(e,t,n)}},n.prototype.loadIndexData=function(e){t.getJSON(this.indexDataUrl,e)},n.prototype.createEntry=function(n,r){var s=t.extend({id:r+1},n);return n.date&&t.extend(s,{date:e(n.date),pubdate:function(){return dateFormat(e(n.date),"yyyy-mm-dd")},displaydate:function(){return dateFormat(e(n.date),"mmm dd, yyyy")}}),s},n.prototype.bindKeypress=function(){var t,e,n,r=this,s=this.$elem.val();this.$elem.bind("keyup",(t=function(){var t=r.$elem.val();t!==s&&r.search(t),s=t},n=Array.prototype.slice,function(){var r=n.call(arguments),s=this;clearTimeout(e),e=setTimeout(function(){t.apply(s,r)},100)}))},n.prototype.search=function(e){var n=this.docs;if(e.length<3)this.$results.hide().empty();else{var r=t.map(this.index.search(e),function(e){return t.grep(n,function(t){return t.id===parseInt(e.ref,10)})[0]});this.displayResults(r),this.onAfterResultShow()}},n.prototype.displayResults=function(t){var e=this.$results;e.empty(),0===t.length?e.append(this.emptyMsg):(this.titleMsg&&0!==this.titleMsg.length&&e.append(this.titleMsg),e.append(this.template({docs:t}))),e.show()},n.prototype.populateSearchFromQuery=function(){var t=new URI(window.location.search.toString()).search(!0);t.hasOwnProperty("q")&&(this.$elem.val(t.q),this.search(t.q.toString()))},n}();t.fn.lunrSearch=function(e){return e=t.extend({},t.fn.lunrSearch.defaults,e),new n(this,e),this},t.fn.lunrSearch.defaults={indexUrl:"/assets/data/lunr-index.json",results:"#search-results",template:"#search-results-template",titleMsg:"<h1>Search results<h1>",emptyMsg:"<p>Nothing found.</p>",onAfterResultShow:function(){}}}(jQuery);
|
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2018 Twitter, Inc and other contributors
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
@@ -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) 2021 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,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) 2021 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! '\\','\'
|
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, "San Francisco", "Helvetica Neue", Helvetica, Ubuntu, Roboto, Noto, "Segoe UI", 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&utm_campaign=photographer-credit&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&utm_campaign=photographer-credit&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
|
-
//win10pc/Public /c/Users/Public cifs uid=1000,gid=5555,credentials=/home/jadams/.smbcredentials,iocharset=utf8,rw 0 0
|