j1_template_mde 2018.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +79 -0
- data/_includes/themes/j1/layouts/content_generator_app.html +34 -0
- data/_includes/themes/j1/layouts/content_generator_blog_archive.html +201 -0
- data/_includes/themes/j1/layouts/content_generator_collection.html +116 -0
- data/_includes/themes/j1/layouts/content_generator_page.html +116 -0
- data/_includes/themes/j1/layouts/content_generator_post.html +214 -0
- data/_includes/themes/j1/layouts/content_generator_raw.html +35 -0
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +106 -0
- data/_includes/themes/j1/layouts/layout_module_generator.html +49 -0
- data/_includes/themes/j1/layouts/layout_resource_generator.html +53 -0
- data/_includes/themes/j1/layouts/layout_shim_generator.html +105 -0
- data/_includes/themes/j1/layouts/layout_theme_generator.html +105 -0
- data/_includes/themes/j1/modules/boards/news_pin_board.html +183 -0
- data/_includes/themes/j1/modules/connectors/ad/google-adsense +39 -0
- data/_includes/themes/j1/modules/connectors/ads +34 -0
- data/_includes/themes/j1/modules/connectors/analytic/google +42 -0
- data/_includes/themes/j1/modules/connectors/analytic/googleUA +44 -0
- data/_includes/themes/j1/modules/connectors/analytics +46 -0
- data/_includes/themes/j1/modules/connectors/comment/disqus.html +61 -0
- data/_includes/themes/j1/modules/connectors/comments +44 -0
- data/_includes/themes/j1/modules/connectors/sharing +36 -0
- data/_includes/themes/j1/modules/footers/boxes/about_box.proc +33 -0
- data/_includes/themes/j1/modules/footers/boxes/contacts_box.proc +55 -0
- data/_includes/themes/j1/modules/footers/boxes/legal_statements.proc +61 -0
- data/_includes/themes/j1/modules/footers/boxes/links_box.proc +38 -0
- data/_includes/themes/j1/modules/footers/boxes/news_box.proc +54 -0
- data/_includes/themes/j1/modules/footers/boxes/social_media_icons.proc +38 -0
- data/_includes/themes/j1/modules/footers/footer_light_generator.html +130 -0
- data/_includes/themes/j1/modules/headers/master_header_generator.html +140 -0
- data/_includes/themes/j1/modules/navigator/generator.html +170 -0
- data/_includes/themes/j1/modules/navigator/procedures/_unused/authclient.proc +139 -0
- data/_includes/themes/j1/modules/navigator/procedures/_unused/authclient.proc.org +217 -0
- data/_includes/themes/j1/modules/navigator/procedures/quicklinks.proc +97 -0
- data/_includes/themes/j1/modules/navigator/procedures/sidebar.proc +117 -0
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +115 -0
- data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +68 -0
- data/_includes/themes/j1/procedures/global/_get_page_path.proc.new +80 -0
- data/_includes/themes/j1/procedures/global/_get_page_path.proc.org +68 -0
- data/_includes/themes/j1/procedures/global/collect_frontmatter_options.proc +62 -0
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +126 -0
- data/_includes/themes/j1/procedures/global/create_word_cloud.proc +119 -0
- data/_includes/themes/j1/procedures/global/get_category.proc +60 -0
- data/_includes/themes/j1/procedures/global/get_category_item.proc +80 -0
- data/_includes/themes/j1/procedures/global/get_documents_dir.proc +67 -0
- data/_includes/themes/j1/procedures/global/get_page_path.proc +67 -0
- data/_includes/themes/j1/procedures/global/get_page_url.proc +55 -0
- data/_includes/themes/j1/procedures/global/pager.proc +79 -0
- data/_includes/themes/j1/procedures/global/select_color.proc +69 -0
- data/_includes/themes/j1/procedures/global/select_font_size.proc +86 -0
- data/_includes/themes/j1/procedures/global/select_icon_size.proc +72 -0
- data/_includes/themes/j1/procedures/global/select_location.proc +107 -0
- data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +88 -0
- data/_includes/themes/j1/procedures/global/set_image_block.proc +50 -0
- data/_includes/themes/j1/procedures/global/setup.proc +61 -0
- data/_includes/themes/j1/procedures/layouts/content_writer.proc +107 -0
- data/_includes/themes/j1/procedures/layouts/default_writer.proc +160 -0
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +170 -0
- data/_includes/themes/j1/procedures/layouts/resource_writer.proc +183 -0
- data/_includes/themes/j1/procedures/posts/_collate_timeline.proc +253 -0
- data/_includes/themes/j1/procedures/posts/collate_calendar.proc +224 -0
- data/_includes/themes/j1/procedures/posts/collate_list.proc +102 -0
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +219 -0
- data/_includes/themes/j1/procedures/posts/create_ad_block.proc +56 -0
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +96 -0
- data/_layouts/_unused/default.html +347 -0
- data/_layouts/_unused/default.modal.html +291 -0
- data/_layouts/app.html +68 -0
- data/_layouts/blog_archive.html +60 -0
- data/_layouts/collection.html +68 -0
- data/_layouts/compress.html +52 -0
- data/_layouts/default.html +192 -0
- data/_layouts/home.html +80 -0
- data/_layouts/page.html +68 -0
- data/_layouts/paginator/autopage_category.html +79 -0
- data/_layouts/paginator/autopage_collection.html +159 -0
- data/_layouts/paginator/autopage_collections_tags.html +87 -0
- data/_layouts/paginator/autopage_tags.html +79 -0
- data/_layouts/post.html +68 -0
- data/_layouts/raw.html +71 -0
- data/_sass/README.md +16 -0
- data/assets/README.md +3 -0
- data/exe/j1 +26 -0
- data/lib/j1.rb +130 -0
- data/lib/j1/command.rb +23 -0
- data/lib/j1/commands/generate.rb +154 -0
- data/lib/j1/commands/help.rb +32 -0
- data/lib/j1/commands/module.rb +69 -0
- data/lib/j1/external.rb +59 -0
- data/lib/j1/log_adapter.rb +115 -0
- data/lib/j1/log_helper.rb +61 -0
- data/lib/j1/templates/posts/0000-00-00-welcome-to-j1-template.adoc.erb +60 -0
- data/lib/j1/utils.rb +330 -0
- data/lib/j1/utils/ansi.rb +59 -0
- data/lib/j1/utils/exec.rb +25 -0
- data/lib/j1/utils/platforms.rb +80 -0
- data/lib/j1/utils/win_tz.rb +73 -0
- data/lib/j1/version.rb +3 -0
- data/lib/j1_app.rb +69 -0
- data/lib/j1_app/j1_auth_manager/auth_manager.rb +418 -0
- data/lib/j1_app/j1_auth_manager/commands.rb +18 -0
- data/lib/j1_app/j1_auth_manager/config.rb +76 -0
- data/lib/j1_app/j1_auth_manager/helpers.rb +55 -0
- data/lib/j1_app/j1_auth_manager/helpers_disqus.rb +12 -0
- data/lib/j1_app/j1_auth_manager/helpers_facebook.rb +12 -0
- data/lib/j1_app/j1_auth_manager/helpers_github.rb +95 -0
- data/lib/j1_app/j1_auth_manager/helpers_patreon.rb +12 -0
- data/lib/j1_app/j1_auth_manager/helpers_twitter.rb +12 -0
- data/lib/j1_app/j1_auth_manager/warden_omniauth.rb +133 -0
- data/lib/j1_app/j1_site_manager/static_site.rb +16 -0
- data/lib/j1_app/omniauth/facebook/signed_request.rb +52 -0
- data/lib/j1_app/omniauth/strategies/_unused/doumart_patreon.rb +75 -0
- data/lib/j1_app/omniauth/strategies/_unused/my_patreon.rb +78 -0
- data/lib/j1_app/omniauth/strategies/disqus.rb +56 -0
- data/lib/j1_app/omniauth/strategies/facebook.rb +181 -0
- data/lib/j1_app/omniauth/strategies/github.rb +79 -0
- data/lib/j1_app/omniauth/strategies/patreon.rb +49 -0
- data/lib/j1_app/omniauth/strategies/twitter.rb +104 -0
- data/lib/j1_app/sinatra/extras/cookies.rb +282 -0
- data/lib/j1_app/sinatra/extras/index.rb +33 -0
- data/lib/starter_web/Gemfile +180 -0
- data/lib/starter_web/_config.yml +962 -0
- data/lib/starter_web/_data/apps/_unused/j1_colorbox.yml +100 -0
- data/lib/starter_web/_data/apps/_unused/j1_tocbot.yml +156 -0
- data/lib/starter_web/_data/apps/j1_bootstrap_gallery.yml +167 -0
- data/lib/starter_web/_data/apps/j1_carousel.yml +501 -0
- data/lib/starter_web/_data/apps/j1_justified_gallery.yml +229 -0
- data/lib/starter_web/_data/apps/j1_light_gallery.yml +105 -0
- data/lib/starter_web/_data/apps/j1_lightbox.yml +163 -0
- data/lib/starter_web/_data/apps/j1_link_checker.yml +21 -0
- data/lib/starter_web/_data/asciidoc2pdf/default-theme.yml +391 -0
- data/lib/starter_web/_data/asciidoc2pdf/j1-theme.yml +53 -0
- data/lib/starter_web/_data/builder/blog_navigator.yml +203 -0
- data/lib/starter_web/_data/j1_categories.yml +31 -0
- data/lib/starter_web/_data/j1_colors.yml +607 -0
- data/lib/starter_web/_data/j1_config.yml +203 -0
- data/lib/starter_web/_data/j1_font_sizes.yml +25 -0
- data/lib/starter_web/_data/j1_i18n.yml +18 -0
- data/lib/starter_web/_data/j1_resources.yml +631 -0
- data/lib/starter_web/_data/known_issues/windows/cacert.pem +3314 -0
- data/lib/starter_web/_data/layouts/app.yml +154 -0
- data/lib/starter_web/_data/layouts/blog_archive.yml +155 -0
- data/lib/starter_web/_data/layouts/collection.yml +157 -0
- data/lib/starter_web/_data/layouts/default.yml +230 -0
- data/lib/starter_web/_data/layouts/home.yml +203 -0
- data/lib/starter_web/_data/layouts/page.yml +154 -0
- data/lib/starter_web/_data/layouts/post.yml +164 -0
- data/lib/starter_web/_data/layouts/raw.yml +154 -0
- data/lib/starter_web/_data/modules/_unused/j1_navigator.yml +195 -0
- data/lib/starter_web/_data/modules/_unused/j1_navigator_menu.yml +317 -0
- data/lib/starter_web/_data/modules/j1_back2top.yml +120 -0
- data/lib/starter_web/_data/modules/j1_banner.yml +248 -0
- data/lib/starter_web/_data/modules/j1_cookiebar.yml +65 -0
- data/lib/starter_web/_data/modules/j1_footer.yml +128 -0
- data/lib/starter_web/_data/modules/j1_header.yml +201 -0
- data/lib/starter_web/_data/modules/j1_iframe_resizer.yml +234 -0
- data/lib/starter_web/_data/modules/j1_jekyll_search.yml +112 -0
- data/lib/starter_web/_data/modules/j1_log4javascript.yml +98 -0
- data/lib/starter_web/_data/modules/j1_navigator.yml +218 -0
- data/lib/starter_web/_data/modules/j1_navigator_menu.yml +265 -0
- data/lib/starter_web/_data/modules/j1_panel.yml +688 -0
- data/lib/starter_web/_data/modules/j1_parallax.yml +87 -0
- data/lib/starter_web/_data/modules/j1_sign_in_up.yml +18 -0
- data/lib/starter_web/_data/modules/j1_smooth_scroll.yml +122 -0
- data/lib/starter_web/_data/modules/j1_theme_switcher.yml +139 -0
- data/lib/starter_web/_data/modules/j1_toccer.yml +155 -0
- data/lib/starter_web/_data/pages/builder.yml +82 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-answer.rb +48 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/admonition-block-question.rb +48 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/carousel-block.rb +45 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/gist-block.rb +52 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +85 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/lorem-inline.rb +65 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/shout-block.rb +47 -0
- data/lib/starter_web/_plugins/asciidoctor-extensions/twitter-emoji-inline.rb +69 -0
- data/lib/starter_web/_plugins/debug.rb +64 -0
- data/lib/starter_web/_plugins/filters.rb +307 -0
- data/lib/starter_web/_plugins/prettify.rb +45 -0
- data/lib/starter_web/_plugins/simple_search_filter.rb +33 -0
- data/lib/starter_web/_plugins/symlink_watcher.rb +53 -0
- data/lib/starter_web/_rack/Procfile.nginx +1 -0
- data/lib/starter_web/_rack/Procfile.webrick +1 -0
- data/lib/starter_web/_rack/Rakefile +6 -0
- data/lib/starter_web/_rack/config.ru +7 -0
- data/lib/starter_web/_rack/dot.env +48 -0
- data/lib/starter_web/_rack/dot.gitignore +34 -0
- data/lib/starter_web/_rack/heroku.config_set +12 -0
- data/lib/starter_web/_rack/puma.rb +200 -0
- data/lib/starter_web/_sass/README.md +16 -0
- data/lib/starter_web/apps/calendar/index.adoc +71 -0
- data/lib/starter_web/apps/link_checker/index.html +24 -0
- data/lib/starter_web/assets/apps/link-checker/assets/img/main/img22.jpg +0 -0
- data/lib/starter_web/assets/apps/link-checker/assets/img/main/img22.png +0 -0
- data/lib/starter_web/assets/apps/link-checker/index.html +125 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/css/bootstrap.min.css +1560 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/bootstrap/js/bootstrap.min.js +7 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/LICENSE.md +11 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/README.md +105 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/css/font-awesome.css +2337 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/css/font-awesome.min.css +4 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/FontAwesome.otf +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.eot +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.svg +2671 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.ttf +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.woff +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/font_awesome/fonts/fontawesome-webfont.woff2 +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/How_to_use_webfonts.html +230 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular-demo.html +372 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.eot +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.svg +621 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.ttf +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/Roboto-Regular.woff +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/specimen_files/Roboto-Regular-cleartype.png +0 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/specimen_files/grid_12-825-55-15.css +129 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/specimen_files/specimen_stylesheet.css +396 -0
- data/lib/starter_web/assets/apps/link-checker/src/fonts/roboto/stylesheet.css +12 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/css/link-checker.css +87 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/backbone.1.3.2.js +1920 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/backbone.min.js +37 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/html5shiv.min.js +4 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/iframeResizer.contentWindow.min.js +9 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/jquery.min.js +6 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/jsuri-1.1.1.min.js +2 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/link-checker.js +333 -0
- data/lib/starter_web/assets/apps/link-checker/src/link-checker/js/underscore.min.js +31 -0
- data/lib/starter_web/assets/data/animate.json +120 -0
- data/lib/starter_web/assets/data/ascii_code_table.json +1794 -0
- data/lib/starter_web/assets/data/authclient.html +371 -0
- data/lib/starter_web/assets/data/banner.html +350 -0
- data/lib/starter_web/assets/data/carousel.json +95 -0
- data/lib/starter_web/assets/data/colors.json +42 -0
- data/lib/starter_web/assets/data/font_sizes.json +42 -0
- data/lib/starter_web/assets/data/fontawesome_icons.json +5525 -0
- data/lib/starter_web/assets/data/footer.html +230 -0
- data/lib/starter_web/assets/data/galleries.json +143 -0
- data/lib/starter_web/assets/data/mdi_icons.json +14324 -0
- data/lib/starter_web/assets/data/menu.html +470 -0
- data/lib/starter_web/assets/data/objects.json +458 -0
- data/lib/starter_web/assets/data/panel.html +529 -0
- data/lib/starter_web/assets/data/search.json +114 -0
- data/lib/starter_web/assets/data/themes.json +59 -0
- data/lib/starter_web/assets/data/twa_v1.json +6978 -0
- data/lib/starter_web/assets/data/twa_v2.json +12812 -0
- data/lib/starter_web/assets/images/backgrounds/bg-1.jpg +0 -0
- data/lib/starter_web/assets/images/backgrounds/bg-2.jpg +0 -0
- data/lib/starter_web/assets/images/backgrounds/bg-3.jpg +0 -0
- data/lib/starter_web/assets/images/backgrounds/bg-4.jpg +0 -0
- data/lib/starter_web/assets/images/backgrounds/bg-7.jpg +0 -0
- data/lib/starter_web/assets/images/blog/featured/img3.jpg +0 -0
- data/lib/starter_web/assets/images/blog/featured/jekyll.1200x400.png +0 -0
- data/lib/starter_web/assets/images/blog/featured/jekyll.png +0 -0
- data/lib/starter_web/assets/images/blog/featured/staticgen.jpg +0 -0
- data/lib/starter_web/assets/images/blog/featured/what-is-a-baseurl.jpg +0 -0
- data/lib/starter_web/assets/images/blog/series/j1_using_docker/j1_docker_banner.1280x500.png +0 -0
- data/lib/starter_web/assets/images/blog/series/j1_using_docker/kinematic_alpha.1280x600.png +0 -0
- data/lib/starter_web/assets/images/blog/series/j1_using_docker/kinematic_j1.1280x300.png +0 -0
- data/lib/starter_web/assets/images/blog/series/j1_using_docker/windows_docker_banner.1280x500.png +0 -0
- data/lib/starter_web/assets/images/blog/wikipedia/columbia-river.1200x400.jpg +0 -0
- data/lib/starter_web/assets/images/blog/wikipedia/minneapolis.1200x400.jpg +0 -0
- data/lib/starter_web/assets/images/blog/wikipedia/narcise-snake-pits.1200x400.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-1.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-2.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-3.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-4.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-5.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-6.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-7.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/cats/cat-8.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/katarina/katarina-1.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/katarina/katarina-2.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/katarina/katarina-3.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/katarina/katarina-4.jpg +0 -0
- data/lib/starter_web/assets/images/carousel/katarina/katarina-5.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/000_6791628438_affaa19e10_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/000_6798453217_72dea2d06e_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/000_6806687375_07d2b7a1f9_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/000_6840627709_92ed52fb41_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/000_6876412479_6268c6e2aa_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/000_6880502467_d4b3c4b2a8_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/13824322785_104dc0968c_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/13824674674_ca1e482394_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/16961685188_f130144d60_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/23753792354_bd75d8dabc_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/24014174029_2cfa940264_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/24096687789_c37d45712f_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6791628438_affaa19e10_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6798453217_72dea2d06e_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6806687375_07d2b7a1f9_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6812090617_5fd5bbdda0_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6840627709_92ed52fb41_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6841267340_855273fd7e_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6876412479_6268c6e2aa_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6880502467_d4b3c4b2a8_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/6916180091_9c9559e463_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/7002395006_29fdc85f7a_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/7062575651_b23918b11a_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/7822678460_ee98ff1f69_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/7948632554_01f6ae6b6f_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/8157236803_78aa1698b6_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/8400794773_932654a20e_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/8811828736_88392f614a_b.jpg +0 -0
- data/lib/starter_web/assets/images/gallery/justified_gallery/8842312290_f310d491f4_b.jpg +0 -0
- data/lib/starter_web/assets/images/icons/asciidoc/logo-512x512.png +0 -0
- data/lib/starter_web/assets/images/icons/bootstrap/bootstrap-solid-32x32.png +0 -0
- data/lib/starter_web/assets/images/icons/bootstrap/bs-docs-masthead-pattern.png +0 -0
- data/lib/starter_web/assets/images/icons/bootstrap/scalable/bootstrap-outline.svg +20 -0
- data/lib/starter_web/assets/images/icons/bootstrap/scalable/bootstrap-punchout.svg +18 -0
- data/lib/starter_web/assets/images/icons/bootstrap/scalable/bootstrap-solid.svg +17 -0
- data/lib/starter_web/assets/images/icons/components/angular.ui.png +0 -0
- data/lib/starter_web/assets/images/icons/components/angularjs.png +0 -0
- data/lib/starter_web/assets/images/icons/components/aws.png +0 -0
- data/lib/starter_web/assets/images/icons/components/bootstrap.png +0 -0
- data/lib/starter_web/assets/images/icons/components/c9.png +0 -0
- data/lib/starter_web/assets/images/icons/components/chai.png +0 -0
- data/lib/starter_web/assets/images/icons/components/emmet.png +0 -0
- data/lib/starter_web/assets/images/icons/components/express.png +0 -0
- data/lib/starter_web/assets/images/icons/components/git.png +0 -0
- data/lib/starter_web/assets/images/icons/components/github.png +0 -0
- data/lib/starter_web/assets/images/icons/components/gulp.png +0 -0
- data/lib/starter_web/assets/images/icons/components/heroku.png +0 -0
- data/lib/starter_web/assets/images/icons/components/htmlcss-1.png +0 -0
- data/lib/starter_web/assets/images/icons/components/htmlcss-2.png +0 -0
- data/lib/starter_web/assets/images/icons/components/jasmine.png +0 -0
- data/lib/starter_web/assets/images/icons/components/javascript.png +0 -0
- data/lib/starter_web/assets/images/icons/components/jquery.png +0 -0
- data/lib/starter_web/assets/images/icons/components/kanban.png +0 -0
- data/lib/starter_web/assets/images/icons/components/leanux.png +0 -0
- data/lib/starter_web/assets/images/icons/components/linkedin.png +0 -0
- data/lib/starter_web/assets/images/icons/components/mean.png +0 -0
- data/lib/starter_web/assets/images/icons/components/mongodb.png +0 -0
- data/lib/starter_web/assets/images/icons/components/node.png +0 -0
- data/lib/starter_web/assets/images/icons/components/postgresql.png +0 -0
- data/lib/starter_web/assets/images/icons/components/protractor.png +0 -0
- data/lib/starter_web/assets/images/icons/components/rails.png +0 -0
- data/lib/starter_web/assets/images/icons/components/ruby.png +0 -0
- data/lib/starter_web/assets/images/icons/components/sass.png +0 -0
- data/lib/starter_web/assets/images/icons/components/scrum.png +0 -0
- data/lib/starter_web/assets/images/icons/components/twitter.png +0 -0
- data/lib/starter_web/assets/images/icons/j1/favicon.ico +0 -0
- data/lib/starter_web/assets/images/icons/j1/j1-32x32.ico +0 -0
- data/lib/starter_web/assets/images/icons/j1/j1-512x512.png +0 -0
- data/lib/starter_web/assets/images/icons/j1/j1-64x64.png +0 -0
- data/lib/starter_web/assets/images/icons/j1/j1.ico +0 -0
- data/lib/starter_web/assets/images/icons/j1/scalable/j1.svg +2037 -0
- data/lib/starter_web/assets/images/icons/social/amazon.png +0 -0
- data/lib/starter_web/assets/images/icons/social/behance.png +0 -0
- data/lib/starter_web/assets/images/icons/social/blogger.png +0 -0
- data/lib/starter_web/assets/images/icons/social/deviantart.png +0 -0
- data/lib/starter_web/assets/images/icons/social/dribbble.png +0 -0
- data/lib/starter_web/assets/images/icons/social/dropbox.png +0 -0
- data/lib/starter_web/assets/images/icons/social/evernote.png +0 -0
- data/lib/starter_web/assets/images/icons/social/facebook.png +0 -0
- data/lib/starter_web/assets/images/icons/social/forrst.png +0 -0
- data/lib/starter_web/assets/images/icons/social/github.png +0 -0
- data/lib/starter_web/assets/images/icons/social/googleplus.png +0 -0
- data/lib/starter_web/assets/images/icons/social/instagram.png +0 -0
- data/lib/starter_web/assets/images/icons/social/jolicloud.png +0 -0
- data/lib/starter_web/assets/images/icons/social/last-fm.png +0 -0
- data/lib/starter_web/assets/images/icons/social/linkedin.png +0 -0
- data/lib/starter_web/assets/images/icons/social/picasa.png +0 -0
- data/lib/starter_web/assets/images/icons/social/pintrest.png +0 -0
- data/lib/starter_web/assets/images/icons/social/rss.png +0 -0
- data/lib/starter_web/assets/images/icons/social/skype.png +0 -0
- data/lib/starter_web/assets/images/icons/social/spotify.png +0 -0
- data/lib/starter_web/assets/images/icons/social/stumbleupon.png +0 -0
- data/lib/starter_web/assets/images/icons/social/tumblr.png +0 -0
- data/lib/starter_web/assets/images/icons/social/twitter.png +0 -0
- data/lib/starter_web/assets/images/icons/social/vimeo.png +0 -0
- data/lib/starter_web/assets/images/icons/social/vk.png +0 -0
- data/lib/starter_web/assets/images/icons/social/wordpress.png +0 -0
- data/lib/starter_web/assets/images/icons/social/xing.png +0 -0
- data/lib/starter_web/assets/images/icons/social/yahoo.png +0 -0
- data/lib/starter_web/assets/images/icons/social/youtube.png +0 -0
- data/lib/starter_web/assets/images/lightbox/close.png +0 -0
- data/lib/starter_web/assets/images/lightbox/loading.gif +0 -0
- data/lib/starter_web/assets/images/lightbox/next.png +0 -0
- data/lib/starter_web/assets/images/lightbox/prev.png +0 -0
- data/lib/starter_web/assets/images/master_header/aaron-burden-1200.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/alexey-ruban-slider.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/chuttersnap-1200.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/clark-tibbs-do-something.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/docker_banner_l.1280x500.png +0 -0
- data/lib/starter_web/assets/images/master_header/docker_banner_r.1280x500.png +0 -0
- data/lib/starter_web/assets/images/master_header/homehead-default-1200.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/ideas-start-here.1200x800.png +0 -0
- data/lib/starter_web/assets/images/master_header/ideas-start-here.1920x1200.png +0 -0
- data/lib/starter_web/assets/images/master_header/ideas-start-here.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/maarten-van-den-heuvel-1200.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/pagehead-default-1200.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/stefan-stefancik-1200.jpg +0 -0
- data/lib/starter_web/assets/images/master_header/water-journal-1200.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/avatar.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/bg7.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/blog1.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/blog5.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/blog6.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/card-blog2.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/card-blog3.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/card-profile1.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/card-profile4.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/card-profile5-square.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/kendall.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/kendall.png +0 -0
- data/lib/starter_web/assets/images/md-kit/marc.jpg +0 -0
- data/lib/starter_web/assets/images/md-kit/office1.jpg +0 -0
- data/lib/starter_web/assets/images/old_times/image_01.jpg +0 -0
- data/lib/starter_web/assets/images/old_times/image_02.jpg +0 -0
- data/lib/starter_web/assets/images/old_times/image_03.jpg +0 -0
- data/lib/starter_web/assets/images/old_times/image_04.jpg +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/001_menubar_example.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/005_navbar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/005_navigation_bar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/006_navigation_side_bar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/006_searchbar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/007_sidebar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/008_navbar_blank.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/010_nav_bar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/010_top_search.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/012_top_search.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/015_quicklink_bar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/017_side_bar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/200_navigation/020_menu_bar.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/2-tier-architecture-1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/3-tier-architecture-1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/download_image_create_starter.800x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-icon.1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-signin.1280x700.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-signout.1280x700.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-disqus-comment-dialog.1280x500.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1_development_system-1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/j1_runtime_system-1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/rack_based_web_app-1280x600.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/rack_based_web_app.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/run_container_build_start_web.800x400.png +0 -0
- data/lib/starter_web/assets/images/pages/documentation/100_user_guide/200_modules/240_auth_manager/run_starter_web.800x700.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/130_layout_inheritance.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/content_inheritance.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/content_inheritance_thumb.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/html_layout.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1-quickstart-windows.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1-template-theme.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/j1_layout.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/jekyll-minima-theme.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/lane_inheritance.png +0 -0
- data/lib/starter_web/assets/images/pages/kickstarter/web_in_a_day/layout_inheritance.png +0 -0
- data/lib/starter_web/assets/images/pages/modals/01_frame_modal.jpg +0 -0
- data/lib/starter_web/assets/images/pages/modals/02_site_modal.jpg +0 -0
- data/lib/starter_web/assets/images/pages/modals/03_central_modal.jpg +0 -0
- data/lib/starter_web/assets/images/pages/modals/04_fluid_modal.jpg +0 -0
- data/lib/starter_web/assets/images/pages/previewer/bs-color-palette.png +0 -0
- data/lib/starter_web/assets/images/pages/previewer/material-design-color-palette.jpg +0 -0
- data/lib/starter_web/assets/images/pages/previewer/material-design-color-palette.png +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-1.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-2.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-3.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-4.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/image-5.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/tables-1920.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-1.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-2.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-3.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-4.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/100_present_images/thumb-5.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/cards-1920.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/icon-fonts-1920.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/meeting.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/theme-1920.jpg +0 -0
- data/lib/starter_web/assets/images/pages/roundtrip/typography-1920.jpg +0 -0
- data/lib/starter_web/assets/images/patterns/1x1.png +0 -0
- data/lib/starter_web/assets/images/patterns/gridtile.png +0 -0
- data/lib/starter_web/assets/images/quotes/default.png +0 -0
- data/lib/starter_web/assets/images/quotes/people.png +0 -0
- data/lib/starter_web/assets/images/spinner/loader1.gif +0 -0
- data/lib/starter_web/assets/images/spinner/loader2.gif +0 -0
- data/lib/starter_web/assets/images/widescreen/featured-1920x800.jpg +0 -0
- data/lib/starter_web/assets/images/widescreen/people.jpg +0 -0
- data/lib/starter_web/assets/themes/j1/core/css/bootstrap.css +6328 -0
- data/lib/starter_web/assets/themes/j1/core/css/bootstrap.min.css +6 -0
- data/lib/starter_web/assets/themes/j1/core/css/custom.scss +28 -0
- data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.css +3333 -0
- data/lib/starter_web/assets/themes/j1/core/css/theme_extensions.min.css +1 -0
- data/lib/starter_web/assets/themes/j1/core/css/uno.css +11580 -0
- data/lib/starter_web/assets/themes/j1/core/css/uno.min.css +1 -0
- data/lib/starter_web/assets/themes/j1/core/css/uno.scss +28 -0
- data/lib/starter_web/assets/themes/j1/core/css/vendor.css +34598 -0
- data/lib/starter_web/assets/themes/j1/core/css/vendor.min.css +8 -0
- data/lib/starter_web/assets/themes/j1/core/css/vendor.scss +28 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.eot +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.svg +990 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-brands-400.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.eot +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.svg +363 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-regular-400.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.eot +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.svg +1413 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/fonts/fa-solid-900.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/icons.json +26790 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/icons.yml +9088 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/shims.json +2302 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/fontawesome_5/metadata/shims.yml +292 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.eot +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.svg +6369 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/fonts/materialdesignicons-webfont.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/license.md +97 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/metadata/icons.json +8186 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/materialdesign_icons/metadata/icons.yml +5857 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/OpenSansEmoji.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Black.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-BlackItalic.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Bold.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-BoldItalic.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Italic.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Light.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-LightItalic.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Medium.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-MediumItalic.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Regular.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-Thin.woff2 +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/Roboto-ThinItalic.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold-ascii.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-italic-ascii.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/mplus1p-regular-fallback.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-bold-subset.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-bold_italic-subset.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-italic-subset.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/fonts/roboto/fonts/notoserif-regular-subset.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/back2top.js +141 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/bs_gallery.js +282 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/cookiebar.js +112 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/custom.js +92 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/iframer.js +99 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/lightbox.js +95 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/logger.js +153 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/master_header.js +488 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/navigator.js +687 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/scroller.js +110 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/searcher.js +111 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/switcher.js +113 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/template.js +608 -0
- data/lib/starter_web/assets/themes/j1/core/js/adapter/toccer.js +295 -0
- data/lib/starter_web/assets/themes/j1/core/js/template.js +79 -0
- data/lib/starter_web/assets/themes/j1/core/js/template.js.map +1 -0
- data/lib/starter_web/assets/themes/j1/core/js/template.min.js +1 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel.css +81 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel.min.css +17 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel_transitions.css +184 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/css/carousel_transitions.min.css +17 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/css/theme/uno.css +190 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/css/theme/uno.min.css +17 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/images/ajax-loader.gif +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/images/grabbing.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/images/owl-logo.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/images/owl.video.play.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/js/carousel.js +1517 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/js/carousel.min.js +57 -0
- data/lib/starter_web/assets/themes/j1/extensions/carousel/js/j1_adapter_carousel.js +228 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_asc.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_asc_disabled.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_both.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_desc.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/DataTables-1.10.16/images/sort_desc_disabled.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/datatables.css +1113 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/datatables.min.css +136 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/css/theme/uno.css +473 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/js/datatables.js +95360 -0
- data/lib/starter_web/assets/themes/j1/extensions/datatables/js/datatables.min.js +533 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.absolute.html +86 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.content.html +58 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.hover.html +51 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.nested.html +68 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.textarea.html +46 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/frame.tolerance.html +79 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/index.html +70 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/examples/two.html +71 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.js +1104 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.map +1 -0
- data/lib/starter_web/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.min.js +10 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/css/justifiedGallery.css +103 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/css/justifiedGallery.min.css +8 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/css/theme/uno.css +23 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/j1_adapter_justified_gallery.js +262 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/justifiedGallery.3.6.3.js +1145 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/justifiedGallery.js +1147 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/js/justifiedGallery.min.js +9 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/less/.csslintrc +19 -0
- data/lib/starter_web/assets/themes/j1/extensions/justified_gallery/less/justifiedGallery.less +113 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-fb-comment-box.css +57 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-fb-comment-box.min.css +1 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-transitions.css +777 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lg-transitions.min.css +1 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lightgallery.css +980 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/lightgallery.min.css +1 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/css/theme/uno.css +330 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.eot +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.svg +47 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/fonts/lg.woff +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/animation-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/customize-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/dynamic-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/facebook-icon.svg +10 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/googleplus-icon.svg +30 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/html5-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/linked-in.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/module-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/play-button.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/responsive-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/thumb-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/touch-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/twitter-icon.svg +15 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/twitter.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/video1-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/zoom-w.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/icons/zoom.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/loading.gif +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/video-play.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/vimeo-play.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/img/youtube-play.png +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-autoplay.js +206 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-autoplay.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-fullscreen.js +116 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-fullscreen.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-hash.js +101 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-hash.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-pager.js +105 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-pager.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-share.js +107 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-share.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-thumbnail.js +478 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-thumbnail.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-video.js +331 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-video.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-zoom.js +527 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lg-zoom.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lightgallery.js +1364 -0
- data/lib/starter_web/assets/themes/j1/extensions/light_gallery/js/lightgallery.min.js +4 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.dark/theme.css +78 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.light/theme.css +77 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.monokai.dark/theme.css +78 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.monokai.light/theme.css +77 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.monokai/theme.css +78 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.solarized.dark/theme.css +78 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.solarized.light/theme.css +77 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16.solarized/theme.css +77 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/base16/theme.css +77 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/colorful/theme.css +170 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/github/theme.css +209 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/gruvbox.dark/theme.css +84 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/gruvbox.light/theme.css +84 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/gruvbox/theme.css +84 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/igorpro/theme.css +32 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/molokai/theme.css +208 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/monokai.sublime/theme.css +187 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/monokai/theme.css +210 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/pastie/theme.css +146 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/thankful_eyes/theme.css +173 -0
- data/lib/starter_web/assets/themes/j1/extensions/rouge/css/tulip/theme.css +164 -0
- data/lib/starter_web/assets/themes/j1/extensions/videojs/css/font/vjs.ttf +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/videojs/css/font/vjs.woff +0 -0
- data/lib/starter_web/assets/themes/j1/extensions/videojs/css/video-js.4.12.15.css +1011 -0
- data/lib/starter_web/assets/themes/j1/extensions/videojs/css/video-js.4.12.15.min.css +5 -0
- data/lib/starter_web/assets/themes/j1/extensions/videojs/js/video.4.12.15.min.js +203 -0
- data/lib/starter_web/assets/themes/j1/extensions/vimeo_player/js/froogaloop2.min.js +4 -0
- data/lib/starter_web/assets/videos/gallery/video1-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video1-thumb.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video2-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video2-thumb.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_adele-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_gaga-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_gwen-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/gallery/video_michelle-poster.jpg +0 -0
- data/lib/starter_web/assets/videos/headers/still/underground-broadway.png +0 -0
- data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.png +0 -0
- data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +76 -0
- data/lib/starter_web/collections/_biography/born-to-run.adoc +73 -0
- data/lib/starter_web/collections/_biography/forty-autumns.adoc +70 -0
- data/lib/starter_web/collections/_biography/not-dead-yet.adoc +64 -0
- data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +67 -0
- data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +68 -0
- data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +59 -0
- data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +59 -0
- data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +57 -0
- data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +58 -0
- data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +57 -0
- data/lib/starter_web/collections/_fantasy/terry-pratchet-diary-2017.adoc +55 -0
- data/lib/starter_web/collections/_featured/static-site-generators.adoc +43 -0
- data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes-a.adoc +62 -0
- data/lib/starter_web/collections/_romance/dressmaker-the.adoc +56 -0
- data/lib/starter_web/collections/_romance/fiery-cross-the.adoc +64 -0
- data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +61 -0
- data/lib/starter_web/collections/_romance/outlander-novel.adoc +73 -0
- data/lib/starter_web/collections/_romance/virgins-outlander-short-story.adoc +57 -0
- data/lib/starter_web/collections/posts/featured/_posts/0000-00-00-welcome-to-j1-template.adoc.erb +60 -0
- data/lib/starter_web/collections/posts/featured/_posts/000_includes/attributes.asciidoc +15 -0
- data/lib/starter_web/collections/posts/featured/_posts/2017-05-01-confusion-about-base-url.adoc +102 -0
- data/lib/starter_web/collections/posts/featured/_posts/2017-06-01-top-open-source-static-site-generators.adoc +79 -0
- data/lib/starter_web/collections/posts/featured/_posts/2017-07-01-what-is-a-static-site.adoc +146 -0
- data/lib/starter_web/collections/posts/series/_posts/000_includes/attributes.asciidoc +66 -0
- data/lib/starter_web/collections/posts/series/_posts/000_includes/documents/100-docker-using-shared-folders.asciidoc +415 -0
- data/lib/starter_web/collections/posts/series/_posts/000_includes/documents/loop.sh +28 -0
- data/lib/starter_web/collections/posts/series/_posts/000_includes/tables/debug_variables.asciidoc +47 -0
- data/lib/starter_web/collections/posts/series/_posts/2018-11-01-docker-using-shared-folders.adoc +94 -0
- data/lib/starter_web/collections/posts/wikipedia/_posts/2016-11-20-minneapolis.adoc +112 -0
- data/lib/starter_web/collections/posts/wikipedia/_posts/2016-11-24-narcisse-snake-pits.adoc +81 -0
- data/lib/starter_web/collections/posts/wikipedia/_posts/2016-11-26-columbia-river.adoc +68 -0
- data/lib/starter_web/favicon.ico +0 -0
- data/lib/starter_web/index.html +57 -0
- data/lib/starter_web/package.json +104 -0
- data/lib/starter_web/pages/about/about_site.adoc +40 -0
- data/lib/starter_web/pages/about/about_you.adoc +103 -0
- data/lib/starter_web/pages/blog/navigator/archive.html +97 -0
- data/lib/starter_web/pages/blog/navigator/archive_by_category.html +135 -0
- data/lib/starter_web/pages/blog/navigator/archive_by_date.html +115 -0
- data/lib/starter_web/pages/blog/navigator/archive_by_tag.html +168 -0
- data/lib/starter_web/pages/blog/navigator/index.html +41 -0
- data/lib/starter_web/pages/bookshelf/100_about_jekyll_collections.adoc +264 -0
- data/lib/starter_web/pages/bookshelf/200_book_shelf_biography.adoc +41 -0
- data/lib/starter_web/pages/bookshelf/300_book_shelf_fantasy.adoc +43 -0
- data/lib/starter_web/pages/bookshelf/400_book_shelf_romance.adoc +43 -0
- data/lib/starter_web/pages/legal/de/100_impress.adoc +80 -0
- data/lib/starter_web/pages/legal/de/200_terms_of_use.adoc +48 -0
- data/lib/starter_web/pages/legal/de/300_privacy.adoc +233 -0
- data/lib/starter_web/pages/legal/de/400_license_agreement.adoc +388 -0
- data/lib/starter_web/pages/legal/de/500_support.adoc +13 -0
- data/lib/starter_web/pages/legal/en/100_impress.adoc +80 -0
- data/lib/starter_web/pages/legal/en/200_terms_of_use.adoc +44 -0
- data/lib/starter_web/pages/legal/en/300_privacy.adoc +269 -0
- data/lib/starter_web/pages/legal/en/400_license_agreement.adoc +430 -0
- data/lib/starter_web/pages/legal/en/500_support.adoc +13 -0
- data/lib/starter_web/pages/panel/100_intro_panel.adoc +151 -0
- data/lib/starter_web/pages/previewer/000_includes/attributes.asciidoc +75 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +39 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +47 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/120_relative_sizes.asciidoc +87 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +71 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/300_flip.asciidoc +30 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +39 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +60 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +54 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/600_md_color_palette.asciidoc +94 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +94 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +94 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +46 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +46 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/200_rotate.asciidoc +70 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/300_flip.asciidoc +29 -0
- data/lib/starter_web/pages/previewer/000_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +30 -0
- data/lib/starter_web/pages/previewer/bootstrap_theme.adoc +1820 -0
- data/lib/starter_web/pages/previewer/justified_gallery.html +353 -0
- data/lib/starter_web/pages/previewer/mdi_icons_preview.adoc +314 -0
- data/lib/starter_web/pages/previewer/twitter_emoji_preview.adoc +181 -0
- data/lib/starter_web/pages/start/000_includes/attributes.asciidoc +30 -0
- data/lib/starter_web/pages/start/change_me_first.adoc +54 -0
- data/lib/starter_web/pages/start/dm920hd.adoc +467 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/attributes.asciidoc +72 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/documents/200_library_features.asciidoc +285 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/001_menu_bar_example.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/005_navbar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/005_navigation_bar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/006_navigation_side_bar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/006_searchbar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/007_sidebar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/008_navbar_blank.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/010_nav_bar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/010_top_search.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/012_top_search.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/015_quicklink_bar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/017_side_bar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/020_menu_bar.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/400_master_header.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/410_text_header.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/411_text_header.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/412_header_anatomy.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/415_image_header_caption.png +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/images/snagit/412_header_anatomy.snag +0 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/000_text_sizes.asciidoc +50 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/410_common_header_parameters.asciidoc +120 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/420_common_image_header_parameters.asciidoc +52 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/421_additional_image_header_parameters.asciidoc +36 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/430_video_header_parameters.asciidoc +26 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/440_image_and_video_transitions.asciidoc +36 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/450_image_and_video_header_defaults.asciidoc +82 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/000_includes/tables/451_additional_image_and_video_header_defaults.asciidoc +23 -0
- data/lib/starter_web/pages/start/documentation/user_guide/100_header/100_header.adoc +452 -0
- data/lib/starter_web/pages/start/documentation/user_guide/240_auth_manager/000_includes/attributes.asciidoc +119 -0
- data/lib/starter_web/pages/start/documentation/user_guide/240_auth_manager/100_auth_manager.adoc +539 -0
- data/lib/starter_web/pages/start/downloads/quickstarter/000_includes/attributes.asciidoc +26 -0
- data/lib/starter_web/pages/start/downloads/quickstarter/000_includes/tables/100_quickstart_installation_packages.asciidoc +20 -0
- data/lib/starter_web/pages/start/downloads/quickstarter/100_linux_starter.adoc +566 -0
- data/lib/starter_web/pages/start/downloads/quickstarter/200_macos_starter.adoc +742 -0
- data/lib/starter_web/pages/start/downloads/quickstarter/300_windows_starter.adoc +742 -0
- data/lib/starter_web/pages/start/downloads/quickstarter/quickstart.adoc +104 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/attributes.asciidoc +24 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/collections.adoc +268 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/configuration.adoc +780 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/directory_structure.adoc +106 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/jekyll_commandline.adoc +94 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/layout_inheritance.adoc +305 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/manage_pages.adoc +365 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/manage_posts.adoc +203 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/pagination.adoc +228 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/plugins.adoc +777 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/templates.adoc +249 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/000_includes/documents/variables.adoc +175 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/100_introduction.adoc +169 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/110_preparations.adoc +177 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/120_getting_started.adoc +180 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/20_j1_anatomy.asciidoc +97 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/30_j1_configure_your_site.asciidoc +48 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/40_j1_create_content.asciidoc +48 -0
- data/lib/starter_web/pages/start/kickstarter/web_in_a_day/_unused/50_j1_customize_your_pages.asciidoc +48 -0
- data/lib/starter_web/pages/start/read_me_first.adoc +102 -0
- data/lib/starter_web/pages/start/roundtrip/000_includes/attributes.asciidoc +49 -0
- data/lib/starter_web/pages/start/roundtrip/000_includes/documents/100_gistblock.asciidoc +27 -0
- data/lib/starter_web/pages/start/roundtrip/100_present_images.adoc +411 -0
- data/lib/starter_web/pages/start/roundtrip/200_cards.adoc +769 -0
- data/lib/starter_web/pages/start/roundtrip/300_typography.adoc +518 -0
- data/lib/starter_web/pages/start/roundtrip/400_icon_fonts.adoc +182 -0
- data/lib/starter_web/pages/start/roundtrip/500_asciidoc_extensions.adoc +462 -0
- data/lib/starter_web/pages/start/roundtrip/600_themes.adoc +75 -0
- data/lib/starter_web/pages/start/roundtrip/700_additional_modals.adoc +1369 -0
- data/lib/starter_web/pages/teaser/100_core.adoc +31 -0
- data/lib/starter_web/pages/teaser/200_components.adoc +30 -0
- data/lib/starter_web/pages/teaser/300_modules.adoc +32 -0
- data/screenshot.png +0 -0
- metadata +925 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// ~/document_base_folder/000_includes
|
|
2
|
+
// Asciidoc attribute includes: attributes.asciidoc
|
|
3
|
+
// -----------------------------------------------------------------------------
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
// URLs - Internal references and/or sources on the Internet
|
|
7
|
+
// -----------------------------------------------------------------------------
|
|
8
|
+
tag::urls[]
|
|
9
|
+
|
|
10
|
+
:jekyll-home-news: https://jekyllrb.com/news/
|
|
11
|
+
|
|
12
|
+
:patreon-home: https://patreon.com/
|
|
13
|
+
|
|
14
|
+
:wikipedia-en-gdpr: https://en.wikipedia.org/wiki/General_Data_Protection_Regulation
|
|
15
|
+
|
|
16
|
+
:j1-gh-jekyllone-template-dev: https://github.com/jekyll-one/j1_template_mde_dev
|
|
17
|
+
:j1-gh-jekyllone-j1-images: https://github.com/jekyll-one/j1_images
|
|
18
|
+
:j1-gh-jekyllone-j1-image-git-repo: https://github.com/jekyll-one/j1_image.git
|
|
19
|
+
:j1-jekyllone-images: https://hub.docker.com/u/jekyllone/
|
|
20
|
+
:j1-jekyllone-images-j1image: https://hub.docker.com/r/jekyllone/j1image/
|
|
21
|
+
:j1-jekyllone-images-j1app: https://hub.docker.com/r/jekyllone/j1app/
|
|
22
|
+
:j1-jekyllone-images-j1base: https://hub.docker.com/r/jekyllone/j1base/
|
|
23
|
+
:j1-jekyllone-images-j1: https://hub.docker.com/r/jekyllone/j1/
|
|
24
|
+
|
|
25
|
+
:j1-kickstarter-docker-in-a-day: /pages/start/kickstarter/docker_in_a_day/getting_started/
|
|
26
|
+
:j1-kickstarter-private-sites: /pages/start/kickstarter/j1_private_sites/100_introduction/
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
:j1-images-in-a-day-intro: /pages/start/kickstarter/j1_images_in_a_day/intro/
|
|
30
|
+
:j1-images-in-a-day-run-and-develop: /pages/start/kickstarter/j1_images_in_a_day/run_and_develop/
|
|
31
|
+
:j1-images-in-a-day-create-images: /pages/start/kickstarter/j1_images_in_a_day/create_docker_images/
|
|
32
|
+
:j1-images-in-a-day-cheatsheet: /pages/start/kickstarter/j1_images_in_a_day/j1_images_cheatsheet/
|
|
33
|
+
:j1-images-in-a-day-j1-images-project: /pages/start/kickstarter/j1_images_in_a_day/j1_images_project/
|
|
34
|
+
|
|
35
|
+
:j1-private-sites-in-a-day-intro: /pages/start/kickstarter/j1_private_sites/100_introduction/
|
|
36
|
+
|
|
37
|
+
:envygeeks-home: https://envygeeks.io/
|
|
38
|
+
:envygeeks-docker-template: https://github.com/envygeeks/docker-template
|
|
39
|
+
:envygeeks-wiki: https://github.com/envygeeks/docker-template/wiki
|
|
40
|
+
|
|
41
|
+
:docker-docs: https://docs.docker.com/
|
|
42
|
+
:docker-docs-squash-image-layers: http://docs.docker.oeynet.com/engine/reference/commandline/build/#squash-an-images-layers-squash-experimental-only
|
|
43
|
+
:docker-hub-jekyll-jekyll-image: https://hub.docker.com/r/jekyll/jekyll/
|
|
44
|
+
|
|
45
|
+
:ruby-core-erb: https://ruby-doc.org/stdlib-2.5.3/libdoc/erb/rdoc/ERB.html
|
|
46
|
+
|
|
47
|
+
end::urls[]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
// Tags - Asciidoc attributes used internally
|
|
51
|
+
// -----------------------------------------------------------------------------
|
|
52
|
+
tag::tags[]
|
|
53
|
+
|
|
54
|
+
:window: window="_blank"
|
|
55
|
+
:figure-caption: Figure
|
|
56
|
+
:images-dir: pages/documentation/100_user_guide/200_modules/240_auth_manager
|
|
57
|
+
:y: icon:check[role="green"]
|
|
58
|
+
:n: icon:times[role="red"]
|
|
59
|
+
:c: icon:file-alt[role="blue"]
|
|
60
|
+
:beginner: icon:battery-quarter[role="md-blue"]
|
|
61
|
+
:inter: icon:battery-half[role="md-blue"]
|
|
62
|
+
:advanced: icon:battery-full[role="md-blue"]
|
|
63
|
+
:emdash: —
|
|
64
|
+
:bullet: •
|
|
65
|
+
:bigbullet: ●
|
|
66
|
+
:bigbigbullet: ⬤
|
|
67
|
+
:dot: .
|
|
68
|
+
:dotdot: ..
|
|
69
|
+
:middot: ·
|
|
70
|
+
|
|
71
|
+
end::tags[]
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
// Data - Data elements for Asciidoctor extensions
|
|
75
|
+
// -----------------------------------------------------------------------------
|
|
76
|
+
tag::data[]
|
|
77
|
+
|
|
78
|
+
:data-download-image-create-starter: "pages/documentation/100_user_guide/200_modules/240_auth_manager/download_image_create_starter.800x600.png, Create a starter web skeleton"
|
|
79
|
+
:data-run-container-build-start-web: "pages/documentation/100_user_guide/200_modules/240_auth_manager/run_container_build_start_web.800x400.png, Build and run the starter web"
|
|
80
|
+
:data-running-starter-web: "pages/documentation/100_user_guide/200_modules/240_auth_manager/run_starter_web.800x700.png, Run the starter web in a browser"
|
|
81
|
+
|
|
82
|
+
:data-j1-runtime-system: "pages/documentation/100_user_guide/200_modules/240_auth_manager/j1_runtime_system-1280x600.png, J1 Runtime System for content development"
|
|
83
|
+
:data-j1-development-system: "pages/documentation/100_user_guide/200_modules/240_auth_manager/j1_development_system-1280x600.png, J1 Development System for full-stack development"
|
|
84
|
+
|
|
85
|
+
:data-2-tier-architecture: "pages/documentation/100_user_guide/200_modules/240_auth_manager/2-tier-architecture-1280x600.png, 2-Tier Architecture"
|
|
86
|
+
:data-3-tier-architecture: "pages/documentation/100_user_guide/200_modules/240_auth_manager/3-tier-architecture-1280x600.png, 3-Tier Architecture"
|
|
87
|
+
:data-web-app-ruby-rack: "pages/documentation/100_user_guide/200_modules/240_auth_manager/rack_based_web_app-1280x600.png, Rack-based J1 Web Application"
|
|
88
|
+
|
|
89
|
+
:data-j1-authclient-icon: "pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-icon.1280x600.png, J1 AuthClient Icon"
|
|
90
|
+
:data-j1-authclient-signin: "pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-signin.1280x700.png, J1 AuthClient SignIn Dialog"
|
|
91
|
+
:data-j1-authclient-signout: "pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-app-authclient-signout.1280x700.png, J1 AuthClient SignOut Dialog"
|
|
92
|
+
:data-j1-disqus-comment-dialog: "pages/documentation/100_user_guide/200_modules/240_auth_manager/j1-disqus-comment-dialog.1280x500.png, J1 Disqus Comment Dialog"
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
:gh-oauth-autorization-page-data: "pages/documentation/100_user_guide/200_modules/240_auth_manager/gh-oauth-autorization-page.png, GH OAuth autorization page used by Jekyll One"
|
|
98
|
+
:gh-oauth-login-page-data: "pages/documentation/100_user_guide/200_modules/240_auth_manager/gh-oauth-login-page.png, GH login page for autorization used by Jekyll One"
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
end::data[]
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
// Product - Document (e.g release) information
|
|
107
|
+
// -----------------------------------------------------------------------------
|
|
108
|
+
tag::product_info[]
|
|
109
|
+
:license: MIT License
|
|
110
|
+
:revdate: 2018
|
|
111
|
+
:revnumber: 1.0.0
|
|
112
|
+
end::product_info[]
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
// Author - Author information
|
|
116
|
+
// -----------------------------------------------------------------------------
|
|
117
|
+
tag::authors[]
|
|
118
|
+
:uri-author-juergen-adams https://jekyll.one
|
|
119
|
+
end::authors[]
|
data/lib/starter_web/pages/start/documentation/user_guide/240_auth_manager/100_auth_manager.adoc
ADDED
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Authentication Module
|
|
3
|
+
tagline: Template User Guide
|
|
4
|
+
description: Authentication Module
|
|
5
|
+
|
|
6
|
+
tags: [
|
|
7
|
+
Authentication, Disqus, Google,
|
|
8
|
+
Facebook, Twitter, Patreon, Template,
|
|
9
|
+
Oauth, Oauth2, Module, Modules
|
|
10
|
+
]
|
|
11
|
+
resources: [ lightbox ]
|
|
12
|
+
permalink: /user_guide/modules/auth_module/
|
|
13
|
+
regenerate: false
|
|
14
|
+
|
|
15
|
+
resource_options:
|
|
16
|
+
|
|
17
|
+
- toccer:
|
|
18
|
+
collapseDepth: 3
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
// Enable the Liquid Preprocessor
|
|
22
|
+
// -----------------------------------------------------------------------------
|
|
23
|
+
:page-liquid:
|
|
24
|
+
|
|
25
|
+
// Set other global page attributes here
|
|
26
|
+
// -----------------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
// Liquid procedures
|
|
29
|
+
// -----------------------------------------------------------------------------
|
|
30
|
+
{% capture set_env_entry_document %}themes/{{site.template.name}}/procedures/global/set_env_entry_document.proc{%endcapture%}
|
|
31
|
+
|
|
32
|
+
// Initialize entry document paths
|
|
33
|
+
// -----------------------------------------------------------------------------
|
|
34
|
+
{% include {{set_env_entry_document}} init_folders=all %}
|
|
35
|
+
|
|
36
|
+
// Load tags and urls
|
|
37
|
+
// -----------------------------------------------------------------------------
|
|
38
|
+
include::{includedir}/attributes.asciidoc[tag=tags]
|
|
39
|
+
include::{includedir}/attributes.asciidoc[tag=urls]
|
|
40
|
+
include::{includedir}/attributes.asciidoc[tag=data]
|
|
41
|
+
|
|
42
|
+
// Additional Asciidoc page attributes goes here
|
|
43
|
+
// -----------------------------------------------------------------------------
|
|
44
|
+
|
|
45
|
+
// Include sub-documents
|
|
46
|
+
// -----------------------------------------------------------------------------
|
|
47
|
+
|
|
48
|
+
link:{jekyll-home}[Jekyll, {window}] and link:{gh-j1-starter-web-example}[J1 Template, {window}]
|
|
49
|
+
are awesome, right? Static site, lightning fast, everything versioned in
|
|
50
|
+
link:{git-home}[Git, {window}]. Simply managed by an good editor.
|
|
51
|
+
|
|
52
|
+
What else could be ask for?
|
|
53
|
+
|
|
54
|
+
link:{github-pages-home}[GitHub Pages, {window}] for example are very helpful
|
|
55
|
+
to setup a project web site for free, to present a J1 Template based project
|
|
56
|
+
on the Internet for free. But what if you want to share that site with only a
|
|
57
|
+
selected number of people?
|
|
58
|
+
|
|
59
|
+
To manage private Webs (or selected private content) for a static Jekyll site,
|
|
60
|
+
you need authorization. As you know, a static site has no database. How to get
|
|
61
|
+
users authenticated, how to give them access to private content without a
|
|
62
|
+
database, without a user management in behind?
|
|
63
|
+
|
|
64
|
+
Seems not possible -- first place. A user management for authentication is
|
|
65
|
+
needed. No way.
|
|
66
|
+
|
|
67
|
+
If you think next corner you may realize that your users, your audience for
|
|
68
|
+
the protected content are already known members at service providers like
|
|
69
|
+
_Disqus_, _Github_, _Facebook_, _Twitter_ etc. Nowadays, people have plenty
|
|
70
|
+
digital identities based on memberships at e.g. social networks or registered
|
|
71
|
+
already for communication services like _Disqus_.
|
|
72
|
+
|
|
73
|
+
Why not using the user management of well known internet service providers
|
|
74
|
+
widely used by billion of people?
|
|
75
|
+
|
|
76
|
+
This could be ask for!
|
|
77
|
+
|
|
78
|
+
== Introduction
|
|
79
|
+
|
|
80
|
+
J1 Template has an authorisation system integrated. The authorisation
|
|
81
|
+
management implemented with J1 is based on *middleware* system written in Ruby.
|
|
82
|
+
The magic to secure a site created by Jekyll is done out of the box. No
|
|
83
|
+
additional software, no programming work is needed.
|
|
84
|
+
|
|
85
|
+
How should that work?
|
|
86
|
+
|
|
87
|
+
To bring in something in a position the the middle, the architecture
|
|
88
|
+
of your static web has to be changed from a two layer (tier) into a three
|
|
89
|
+
layer architecture. Uhh, sounds not easy to change the architecture of a
|
|
90
|
+
simple static site!
|
|
91
|
+
|
|
92
|
+
=== Web Applications
|
|
93
|
+
|
|
94
|
+
It couldn't be called easy to add a authentication system to a static web; but
|
|
95
|
+
it is manageable using the web development capabilities of the programming
|
|
96
|
+
language *Ruby*. Ruby has a domain in creating applications for the Web.
|
|
97
|
+
Powerful Ruby Gems (libraries) like *Rack*, *Sinatra* and others like *Rails*
|
|
98
|
+
can be used for that. In short: the programming language *Ruby* is widely
|
|
99
|
+
used to create Web Applications.
|
|
100
|
+
|
|
101
|
+
ifdef::backend-html5[]
|
|
102
|
+
.2-Tier Architecture of a static web
|
|
103
|
+
lightbox::2-tier-architecture[ 800, {data-2-tier-architecture} ]
|
|
104
|
+
endif::[]
|
|
105
|
+
|
|
106
|
+
But what are Web Applications?
|
|
107
|
+
|
|
108
|
+
First of all, a *multi layered* and *dynamic* web page (or web site). A
|
|
109
|
+
simplified image of the architecture used for Jekyll webs transformed into
|
|
110
|
+
an web application is shown below.
|
|
111
|
+
|
|
112
|
+
ifdef::backend-html5[]
|
|
113
|
+
.Rack-based Jekyll Web Application
|
|
114
|
+
lightbox::web-app-ruby-rack[ 800, {data-web-app-ruby-rack} ]
|
|
115
|
+
endif::[]
|
|
116
|
+
|
|
117
|
+
For a Jekyll web that is *transformed* into an web application, the web
|
|
118
|
+
server can be seen as an interface to access the application; to the
|
|
119
|
+
processing chain at the core of an application. The transformer software, the
|
|
120
|
+
Ruby library *Rack* is sitting *in between* and adds additional functionality
|
|
121
|
+
for managing a requested page.
|
|
122
|
+
|
|
123
|
+
To *activate* this new 3-layered web site, an application manager is used:
|
|
124
|
+
*rackup*. The application manager *rackup* is controlled by an configuration
|
|
125
|
+
file, the so-called rackup-file *config.ru*.
|
|
126
|
+
|
|
127
|
+
Don't mind the details for now. What your web browser, the client, connects
|
|
128
|
+
is not longer only the web server. Each request for the pages of a web goes
|
|
129
|
+
over the a middleware *system*, managed by *Rack*.
|
|
130
|
+
|
|
131
|
+
A middleware system based on Rack is not a *monolithic* block. It is a *stack*
|
|
132
|
+
of *multiple* middleware components. What the name *Rack* implies. What is
|
|
133
|
+
called *Rack Middlewares* are the next great Ruby libraries (Gem) managing
|
|
134
|
+
a specific job, a *service* in such a chain.
|
|
135
|
+
|
|
136
|
+
For now folks, keep in mind a *Jekyll Site* can be run as an App, transformed
|
|
137
|
+
into an *web application* using *Rack*. Rack provides the *magic* in the middle
|
|
138
|
+
to add additional dynamic processes -- the services -- e.g. for authentication.
|
|
139
|
+
|
|
140
|
+
=== The Vision
|
|
141
|
+
|
|
142
|
+
What's the vision: whenever someone tries to access a secured web site for
|
|
143
|
+
protected, for private pages the user will be *authorized* using the
|
|
144
|
+
*authorisation* system implemented by J1, for example against _Disqus_ or
|
|
145
|
+
_GitHub_ to make sure they're a member of your organization at Github. Or
|
|
146
|
+
simply known as a registered user at _Disqus_ for example.
|
|
147
|
+
|
|
148
|
+
Service providers like _Disqus_, _Facebook_ or _Github_ and many others support
|
|
149
|
+
autorization request by third parties using SSO (Single Sign On) technologies.
|
|
150
|
+
That way: your web site is supported by those providers for authentication!
|
|
151
|
+
|
|
152
|
+
=== Make it real
|
|
153
|
+
|
|
154
|
+
The middlewares used by J1 based on *Rack* for autorisation is using the
|
|
155
|
+
Ruby Gem *OmniAuth*. OmniAuth supports a huge number of *strategies* for
|
|
156
|
+
authorisation. See a list of providers supported link:{omniauth-strategies}[from here, {window}].
|
|
157
|
+
|
|
158
|
+
J1, for now, is focussing providers using *OAuth*, a authorization protocol
|
|
159
|
+
widely used for *SSO* on the Internet by many important providers. Currently,
|
|
160
|
+
the providers:
|
|
161
|
+
|
|
162
|
+
* Disqus
|
|
163
|
+
* Github
|
|
164
|
+
* Facebook
|
|
165
|
+
* Twitter
|
|
166
|
+
* Patreon
|
|
167
|
+
|
|
168
|
+
are supported for authentication using OAuth.
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
== Overview
|
|
172
|
+
|
|
173
|
+
As discussed in section <<Overview>>, the authorisation system of _J1 Template_
|
|
174
|
+
is based on middlewares. From a outer perspective this system can be seen as a
|
|
175
|
+
component providing *services* to a web site. In contrast to dynamic functions
|
|
176
|
+
provided by CSS or Javascript functionality, services are controlling the
|
|
177
|
+
whole web, not single pages.
|
|
178
|
+
|
|
179
|
+
_J1 Template_ implements 2 authorisation methods:
|
|
180
|
+
|
|
181
|
+
* explicit autorisation using the _J1 AuthClient_
|
|
182
|
+
* implicit autorisation based on *Page Access*
|
|
183
|
+
|
|
184
|
+
=== Explicit autorisation
|
|
185
|
+
|
|
186
|
+
For all people using websites, explicit autorisation is well known: a login
|
|
187
|
+
button, typically in the menu bar, allows to sign in or out. Quite the same
|
|
188
|
+
for _J1_.
|
|
189
|
+
|
|
190
|
+
NOTE: The AuthClient is only activated, if a web site is detected as an *App*.
|
|
191
|
+
If a site is started as a simple static web, *no* middlewares are available
|
|
192
|
+
and no authentication services are provided.
|
|
193
|
+
|
|
194
|
+
If a running web site is detected as an Web Application, the J1 AuthClient
|
|
195
|
+
places an *SignIn* icon into the menu bar on the right. If a user is detected
|
|
196
|
+
as signed out, a *SignIn* icon is displayed.
|
|
197
|
+
|
|
198
|
+
ifdef::backend-html5[]
|
|
199
|
+
.J1 AuthClient Icon
|
|
200
|
+
lightbox::j1-authclient-icon[ 800, {data-j1-authclient-icon} ]
|
|
201
|
+
endif::[]
|
|
202
|
+
|
|
203
|
+
On a click on the signin icon, a dialog starts (as an overlay) presenting the
|
|
204
|
+
providers available to be authenticated with.
|
|
205
|
+
|
|
206
|
+
ifdef::backend-html5[]
|
|
207
|
+
.J1 AuthClient SignIn Dialog
|
|
208
|
+
lightbox::j1-authclient-signin[ 800, {data-j1-authclient-signin} ]
|
|
209
|
+
endif::[]
|
|
210
|
+
|
|
211
|
+
No surprise, if a user is detected as authenticated for one of the providers
|
|
212
|
+
available, the AuthClient changes the icon to *SignOut* and a dialog to stop
|
|
213
|
+
the authorisation is displayed.
|
|
214
|
+
|
|
215
|
+
ifdef::backend-html5[]
|
|
216
|
+
.J1 AuthClient SignOut Dialog
|
|
217
|
+
lightbox::j1-authclient-signout[ 800, {data-j1-authclient-signout} ]
|
|
218
|
+
endif::[]
|
|
219
|
+
|
|
220
|
+
All these sounds very common, seen hundred times each and every day on the
|
|
221
|
+
internet. But it is *not* the same because you aren't logged in the web, you
|
|
222
|
+
are authenticated with a provider and logged in with the provider!
|
|
223
|
+
|
|
224
|
+
What does that mean? J1 supports so-called *OAuth2 Authentication* for the
|
|
225
|
+
supported service providers. And more than this. If a visitor signs in for a
|
|
226
|
+
provider, a set of user specific data is retrived and stored locally with a
|
|
227
|
+
web session cookie. This *user profile* is used to control the access for
|
|
228
|
+
the pages of this private web. More details on that in section
|
|
229
|
+
<<Implicit autorisation>>.
|
|
230
|
+
|
|
231
|
+
And more than this again. A successful authorisation results in an
|
|
232
|
+
provider-specific *Access Token*, valid for weeks to access the web without
|
|
233
|
+
any login dialog anymore.
|
|
234
|
+
|
|
235
|
+
J1 support *multi-provider* authentication can use all active *Access Token*
|
|
236
|
+
from all providers in parallell as long this token is valid. This is quite
|
|
237
|
+
usefull to use provider-based features of a _J1 Web_ using *multi-provider*
|
|
238
|
+
authentication capabilities.
|
|
239
|
+
|
|
240
|
+
If a user signs in for _Disqus_ first but changes the provider for _Github_,
|
|
241
|
+
e.g. to get access to pages limited to _Github_ users, the authorisation is
|
|
242
|
+
now valid for _Disqus_ *and* _GitHub_.
|
|
243
|
+
|
|
244
|
+
ifdef::backend-html5[]
|
|
245
|
+
.J1 Disqus Comment Dialog
|
|
246
|
+
lightbox::j1-disqus-comment-dialog[ 800, {data-j1-disqus-comment-dialog} ]
|
|
247
|
+
endif::[]
|
|
248
|
+
|
|
249
|
+
=== Implicit autorisation
|
|
250
|
+
|
|
251
|
+
J1 use a underlying access-control for all pages. Web pages belong to three
|
|
252
|
+
categories:
|
|
253
|
+
|
|
254
|
+
* public
|
|
255
|
+
* private
|
|
256
|
+
* premium
|
|
257
|
+
|
|
258
|
+
*Public pages* are accessible for all vistors of a web, *no* authorisation is
|
|
259
|
+
need to get access to. For secured pages, *Private* and *Public* access can be
|
|
260
|
+
defined on a provider level. *Private pages* can be used to limit the access
|
|
261
|
+
for a specific provider. Or to specific users authenticated with a provider.
|
|
262
|
+
This may helpfull for a developer team at _Github_ to limit the access for
|
|
263
|
+
a Project Web for all documents that are in state *Work-In-Progress* (WIP) or
|
|
264
|
+
to internal documentation that shouldn't available for the public.
|
|
265
|
+
|
|
266
|
+
It is very common that web sites offering *payed services* to the public as
|
|
267
|
+
well. If content is *not* for free, *Premium pages* are an option. Currently
|
|
268
|
+
the provider link:{patreon-home}[Patreon] is supported for premium services
|
|
269
|
+
to limit the access to vistors only, that have paid e.g a monthly fee.
|
|
270
|
+
|
|
271
|
+
*Implicit autorisation* autorisation is based on *regular expressions* like
|
|
272
|
+
so:
|
|
273
|
+
|
|
274
|
+
[source, yaml]
|
|
275
|
+
----
|
|
276
|
+
content:
|
|
277
|
+
public:
|
|
278
|
+
- ^(\/assets)
|
|
279
|
+
- ^(\/pages\/about)
|
|
280
|
+
- ^(\/pages\/start)
|
|
281
|
+
private:
|
|
282
|
+
- ^(\/private)
|
|
283
|
+
premium:
|
|
284
|
+
- ^(\/premium)
|
|
285
|
+
user:
|
|
286
|
+
patreon: [ all ]
|
|
287
|
+
permission:
|
|
288
|
+
patreon: [ private, premium ]
|
|
289
|
+
condition:
|
|
290
|
+
patreon:
|
|
291
|
+
private: false
|
|
292
|
+
premium:
|
|
293
|
+
pledges: true
|
|
294
|
+
----
|
|
295
|
+
|
|
296
|
+
All pages, having a *perma-link* that starts with */premium* needs to be
|
|
297
|
+
authenticated via the provider _Patreon_. But access is given only, if
|
|
298
|
+
the monthly fee (pleges) were paid for the detected user (profile).
|
|
299
|
+
|
|
300
|
+
Provider-based authentication is a simple and powerful method to implement
|
|
301
|
+
restrictesd access to protected pages of a web. But it has limitations, no
|
|
302
|
+
question. For many standard web sites, static or dynamic, a simple
|
|
303
|
+
authorisation scheme fits many, many use cases.
|
|
304
|
+
|
|
305
|
+
On other hand, since the link:{wikipedia-en-gdpr}[General Data Protection Regulation]
|
|
306
|
+
applies to *all* web sites collecting and/or procession personal data of their
|
|
307
|
+
visitors in the European Union, a lot of *legal* constrains are to be taken
|
|
308
|
+
into account. *GDPR* is an regulation *framework*, not a clear law-wise
|
|
309
|
+
definition.
|
|
310
|
+
|
|
311
|
+
A lot is unclear in this area but one thing is for sure: the penalties
|
|
312
|
+
are high if a site does *not* apply this rules. If a vistor is using
|
|
313
|
+
*provider-based authentication* to get access for the content of a web, it
|
|
314
|
+
is very certain that a global service provider is compliant with *GDPR*. As
|
|
315
|
+
all users has to agree the conditions, the term of use, implicisely such a web
|
|
316
|
+
is *GDPR* compliant -- if additional information is given that personal data
|
|
317
|
+
is *used*.
|
|
318
|
+
|
|
319
|
+
== Auth Service configuration
|
|
320
|
+
|
|
321
|
+
lorem:sentences[5]
|
|
322
|
+
|
|
323
|
+
=== Service properties
|
|
324
|
+
|
|
325
|
+
[source, yaml]
|
|
326
|
+
----
|
|
327
|
+
# ---------------------------------------------------------------
|
|
328
|
+
# J1 Auth Manager (j1_auth)
|
|
329
|
+
#
|
|
330
|
+
# If a site is started as an app, this transforms the web into an
|
|
331
|
+
# Web Application based on Rack and Sinatra using the Omniauth
|
|
332
|
+
# software stack for authentication to enable User Management
|
|
333
|
+
# and Authentication services for secured private web sites.
|
|
334
|
+
j1_auth:
|
|
335
|
+
enabled: true
|
|
336
|
+
ssl: false
|
|
337
|
+
|
|
338
|
+
content:
|
|
339
|
+
public:
|
|
340
|
+
- ^(\/assets)
|
|
341
|
+
- ^(\/pages\/about)
|
|
342
|
+
- ^(\/pages\/start)
|
|
343
|
+
private:
|
|
344
|
+
- ^(\/private)
|
|
345
|
+
premium:
|
|
346
|
+
- ^(\/premium)
|
|
347
|
+
|
|
348
|
+
provider:
|
|
349
|
+
activated: [ disqus, github, patreon ]
|
|
350
|
+
home_url:
|
|
351
|
+
disqus: https://disqus.com
|
|
352
|
+
facebook: https://facebook.com
|
|
353
|
+
github: https://github.com
|
|
354
|
+
patreon: https://patreon.com
|
|
355
|
+
twitter: https://twitter.com
|
|
356
|
+
scope:
|
|
357
|
+
disqus: [ read, write ]
|
|
358
|
+
facebook: [ email ]
|
|
359
|
+
github: [ user ]
|
|
360
|
+
patreon: [ users ]
|
|
361
|
+
twitter: [ user ]
|
|
362
|
+
user:
|
|
363
|
+
disqus: [ all ]
|
|
364
|
+
facebook: [ all ]
|
|
365
|
+
github: [ all ]
|
|
366
|
+
patreon: [ all ]
|
|
367
|
+
twitter: [ all ]
|
|
368
|
+
permission:
|
|
369
|
+
disqus: [ private ]
|
|
370
|
+
facebook: [ private ]
|
|
371
|
+
github: [ private ]
|
|
372
|
+
patreon: [ private, premium ]
|
|
373
|
+
twitter: [ private ]
|
|
374
|
+
condition:
|
|
375
|
+
disqus: false
|
|
376
|
+
facebook: false
|
|
377
|
+
github: false
|
|
378
|
+
twitter: false
|
|
379
|
+
patreon:
|
|
380
|
+
private: false
|
|
381
|
+
premium:
|
|
382
|
+
pledges: true
|
|
383
|
+
----
|
|
384
|
+
|
|
385
|
+
==== enabled
|
|
386
|
+
|
|
387
|
+
Enables or disables the Auth Manager services for the web.
|
|
388
|
+
If disabled, all pages are accessible without authentication.
|
|
389
|
+
|
|
390
|
+
values: true|false
|
|
391
|
+
default: false
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
==== ssl
|
|
395
|
+
|
|
396
|
+
Enforce SSL communication for the app. If you've got SSL
|
|
397
|
+
set up, ensure SSL is enforced.
|
|
398
|
+
|
|
399
|
+
values: true|false
|
|
400
|
+
default: false
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
==== content
|
|
404
|
+
|
|
405
|
+
lorem:sentences[5]
|
|
406
|
+
|
|
407
|
+
==== provider
|
|
408
|
+
|
|
409
|
+
List of enabled OAuth providers to be used for the auth
|
|
410
|
+
service for authentication. The first provider in a list
|
|
411
|
+
is used for default.
|
|
412
|
+
|
|
413
|
+
===== activated
|
|
414
|
+
|
|
415
|
+
values: [disqus|github|facebook|patreon|twitter]
|
|
416
|
+
default:
|
|
417
|
+
|
|
418
|
+
===== home_url
|
|
419
|
+
|
|
420
|
+
lorem:sentences[5]
|
|
421
|
+
|
|
422
|
+
===== scope
|
|
423
|
+
|
|
424
|
+
lorem:sentences[5]
|
|
425
|
+
|
|
426
|
+
===== user
|
|
427
|
+
|
|
428
|
+
lorem:sentences[5]
|
|
429
|
+
|
|
430
|
+
===== permission
|
|
431
|
+
|
|
432
|
+
lorem:sentences[5]
|
|
433
|
+
|
|
434
|
+
===== condition
|
|
435
|
+
|
|
436
|
+
lorem:sentences[5]
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
== Auth Client configuration
|
|
448
|
+
|
|
449
|
+
lorem:sentences[5]
|
|
450
|
+
|
|
451
|
+
=== Client properties
|
|
452
|
+
|
|
453
|
+
[source, yaml]
|
|
454
|
+
----
|
|
455
|
+
# ------------------------------------------------------------------------------
|
|
456
|
+
# 1. Default settings
|
|
457
|
+
#
|
|
458
|
+
defaults:
|
|
459
|
+
nav_authclient:
|
|
460
|
+
enabled: false
|
|
461
|
+
icon_family: Material Design Icons
|
|
462
|
+
icon_color: rgba_lighten
|
|
463
|
+
icon_color_hover: rgba_lighten_900
|
|
464
|
+
signin_icon: login
|
|
465
|
+
signout_icon: logout
|
|
466
|
+
...
|
|
467
|
+
# ------------------------------------------------------------------------------
|
|
468
|
+
# 5. Auth client settings
|
|
469
|
+
#
|
|
470
|
+
nav_authclient:
|
|
471
|
+
enabled: true
|
|
472
|
+
|
|
473
|
+
auth_signin_modal:
|
|
474
|
+
title: SignIn
|
|
475
|
+
body_text: >
|
|
476
|
+
In order to get <b>signed in</b>, check one of the options below
|
|
477
|
+
and mark a provider for authentication.
|
|
478
|
+
You'll be <b>redirected</b> to authenticate with the provider
|
|
479
|
+
<b>selected</b>. If signed in <b>successfully</b>, you get back
|
|
480
|
+
to this site for the page requested.
|
|
481
|
+
</br></br>
|
|
482
|
+
<b>NOTE:</b> To access protected pages of this site,
|
|
483
|
+
authentication is needed only once.
|
|
484
|
+
</br></br>
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
auth_signout_modal:
|
|
488
|
+
title: SignOut
|
|
489
|
+
body_text: >
|
|
490
|
+
In order to <b>signing out completely</b>, check the switch
|
|
491
|
+
below <b>to on</b>.
|
|
492
|
+
After signing out from this site, you'll be <b>redirected</b>
|
|
493
|
+
to the provider you're currently authenticated. From your
|
|
494
|
+
home page at the provider, you can sign out completely.
|
|
495
|
+
auth_disqus:
|
|
496
|
+
id: 1
|
|
497
|
+
title: Disqus
|
|
498
|
+
text: >
|
|
499
|
+
SignIn to Disqus. Get access to all <b>PRIVATE</b> content pages.
|
|
500
|
+
auth_facebook:
|
|
501
|
+
id: 2
|
|
502
|
+
title: Facebook
|
|
503
|
+
text: >
|
|
504
|
+
SignIn to Facebook. Get access to all <b>PRIVATE</b> content pages.
|
|
505
|
+
auth_github:
|
|
506
|
+
id: 3
|
|
507
|
+
title: Github
|
|
508
|
+
text: >
|
|
509
|
+
SignIn to Github. Get access to all <b>PRIVATE</b> content pages.
|
|
510
|
+
auth_patreon:
|
|
511
|
+
id: 4
|
|
512
|
+
title: Patreon
|
|
513
|
+
text: >
|
|
514
|
+
SignIn to Patreon. Get access to all <b>PREMIUM</b> and <b>PRIVATE</b> content pages.
|
|
515
|
+
auth_twitter:
|
|
516
|
+
id: 5
|
|
517
|
+
home_url: "https://twitter.com"
|
|
518
|
+
title: Twitter
|
|
519
|
+
text: >
|
|
520
|
+
SignIn to Twitter. Get access to all <b>PRIVATE</b> content pages.
|
|
521
|
+
----
|
|
522
|
+
|
|
523
|
+
lorem:sentences[3]
|
|
524
|
+
|
|
525
|
+
== Web App configuration
|
|
526
|
+
|
|
527
|
+
lorem:sentences[5]
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
== Configuration Cheat Sheet
|
|
532
|
+
|
|
533
|
+
lorem:sentences[5]
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
|