j1-template 2020.0.8 → 2020.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/blocks/ads/ad.html +64 -0
- data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +1 -1
- data/_includes/themes/j1/layouts/content_generator_blog_archive.html +3 -2
- data/_includes/themes/j1/layouts/content_generator_collection.html +3 -2
- data/_includes/themes/j1/layouts/content_generator_page.html +3 -2
- data/_includes/themes/j1/layouts/content_generator_post.html +12 -12
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +134 -4
- data/_includes/themes/j1/modules/connectors/ad/custom-provider.html +6 -9
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +9 -6
- data/_includes/themes/j1/modules/connectors/ads +3 -6
- data/_includes/themes/j1/modules/navigator/generator.html +6 -7
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +10 -5
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +7 -7
- data/_layouts/default.html +18 -13
- data/assets/data/authclient.html +18 -8
- data/assets/data/banner.html +23 -23
- data/assets/data/carousel.json +30 -21
- data/assets/data/cookie_consent.html +79 -51
- data/assets/data/footer.html +14 -5
- data/assets/data/galleries.json +90 -81
- data/assets/data/gallery_customizer.html +19 -10
- data/assets/data/mdi_icons.json +55 -1
- data/assets/data/menu.html +14 -7
- data/assets/data/mmenu.html +47 -94
- data/assets/data/mmenu_sidebar.html +40 -44
- data/assets/data/mmenu_toc.html +19 -3
- data/assets/data/panel.html +30 -23
- data/assets/data/quicklinks.html +13 -3
- data/assets/data/{search.yml → search.json} +44 -14
- data/assets/data/ssm.html +20 -9
- data/assets/data/themes.json +17 -6
- data/assets/data/twa_v1.json +7034 -6978
- data/assets/themes/j1/adapter/js/algolia.js +34 -17
- data/assets/themes/j1/adapter/js/attic.js +66 -46
- data/assets/themes/j1/adapter/js/carousel.js +43 -22
- data/assets/themes/j1/adapter/js/clipboard.js +230 -0
- data/assets/themes/j1/adapter/js/cookie_consent.js +21 -4
- data/assets/themes/j1/adapter/js/framer.js +18 -3
- data/assets/themes/j1/adapter/js/gallery_customizer.js +27 -10
- data/assets/themes/j1/adapter/js/j1.js +342 -757
- data/assets/themes/j1/adapter/js/{justified_gallery.js → jf_gallery.js} +64 -38
- data/assets/themes/j1/adapter/js/lightbox.js +20 -3
- data/assets/themes/j1/adapter/js/logger.js +23 -6
- data/assets/themes/j1/adapter/js/mdb.js +167 -0
- data/assets/themes/j1/adapter/js/mmenu.js +33 -30
- data/assets/themes/j1/adapter/js/navigator.js +126 -140
- data/assets/themes/j1/adapter/js/searcher.js +22 -4
- data/assets/themes/j1/adapter/js/ssm.js +84 -63
- data/assets/themes/j1/adapter/js/themer.js +35 -53
- data/assets/themes/j1/adapter/js/toccer.js +29 -14
- data/assets/themes/j1/core/css/theme_extensions.css +120 -1230
- data/assets/themes/j1/core/css/theme_extensions.min.css +1 -1
- data/assets/themes/j1/core/css/uno.css +256 -1288
- data/assets/themes/j1/core/css/uno.min.css +1 -1
- data/assets/themes/j1/core/css/vendor.css +7 -57
- data/assets/themes/j1/core/css/vendor.min.css +2 -2
- data/assets/themes/j1/core/js/template.js +16 -86
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/extensions/bsDatepicker/css/datepicker.css +203 -0
- data/assets/themes/j1/extensions/bsDatepicker/css/theme/uno.css +235 -0
- data/assets/themes/j1/extensions/bsDatepicker/js/datepicker.js +509 -0
- data/assets/themes/j1/extensions/bsDatepicker/less/datepicker.less +122 -0
- data/assets/themes/j1/extensions/bsThemeSwitcher/js/switcher.js +425 -0
- data/assets/themes/j1/extensions/bsThemeSwitcher/js/switcher.min.js +20 -0
- data/assets/themes/j1/extensions/clipboard/LICENSE +20 -0
- data/assets/themes/j1/extensions/clipboard/css/theme/uno.css +52 -0
- data/assets/themes/j1/extensions/clipboard/css/theme/uno.min.css +52 -0
- data/assets/themes/j1/extensions/clipboard/js/clipboard.js +975 -0
- data/assets/themes/j1/extensions/clipboard/js/clipboard.min.js +7 -0
- data/assets/themes/j1/extensions/{iconify → iconifyAPI}/js/iconify.min.js +0 -0
- data/assets/themes/j1/extensions/iframeResizer/LICENSE +21 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/frame.absolute.html +127 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/frame.content.html +157 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/frame.hover.html +68 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/frame.nested.html +100 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/frame.textarea.html +45 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/frame.tolerance.html +113 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/index.html +83 -0
- data/assets/themes/j1/extensions/iframeResizer/examples/two.html +88 -0
- data/assets/themes/j1/extensions/iframeResizer/js/client/iframeResizer.contentWindow.js +1288 -0
- data/assets/themes/j1/extensions/iframeResizer/js/client/iframeResizer.contentWindow.map +1 -0
- data/assets/themes/j1/extensions/iframeResizer/js/client/iframeResizer.contentWindow.min.js +10 -0
- data/assets/themes/j1/extensions/iframeResizer/js/iframeResizer.js +1390 -0
- data/assets/themes/j1/extensions/iframeResizer/js/iframeResizer.map +1 -0
- data/assets/themes/j1/extensions/iframeResizer/js/iframeResizer.min.js +9 -0
- data/assets/themes/j1/extensions/jqMouseWheel/README.md +76 -0
- data/assets/themes/j1/extensions/jqMouseWheel/js/jquery.mousewheel.js +221 -0
- data/assets/themes/j1/extensions/jqMouseWheel/js/jquery.mousewheel.min.js +9 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/LICENSE +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/README.md +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/css/justifiedGallery.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/css/justifiedGallery.min.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/css/theme/uno.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/js/justifiedGallery.3.7.0.js +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/js/justifiedGallery.js +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/js/justifiedGallery.min.js +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/less/.csslintrc +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v3.7.0/less/justifiedGallery.less +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/css/justifiedGallery.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/css/justifiedGallery.min.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/css/theme/uno.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/js/jquery.justifiedGallery.js +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/_versions/v4.0.0/js/jquery.justifiedGallery.min.js +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/justifiedGallery.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/justifiedGallery.min.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/theme/uno.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/css/theme/uno.min.css +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/js/justifiedGallery.js +0 -0
- data/assets/themes/j1/extensions/{justified_gallery → justifiedGallery}/js/justifiedGallery.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-fb-comment-box.css +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-fb-comment-box.min.css +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-transitions.css +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lg-transitions.min.css +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lightgallery.css +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/core/lightgallery.min.css +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.eot +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.svg +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.ttf +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/fonts/lg.woff +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/loading.gif +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/video-play.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/vimeo-play.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/img/youtube-play.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/animation-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/customize-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/dynamic-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/facebook-icon.svg +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/googleplus-icon.svg +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/html5-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/linked-in.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/module-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/play-button.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/responsive-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/thumb-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/touch-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/twitter-icon.svg +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/twitter.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/video1-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/zoom-w.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/icons/zoom.png +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/uno.css +1 -1
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/css/themes/uno.min.css +1 -1
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/core/lightgallery.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/core/lightgallery.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/j1/j1-video.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/j1/j1-video.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-autoplay.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-autoplay.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-fullscreen.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-fullscreen.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-hash.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-hash.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-pager.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-pager.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-share.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-share.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-thumbnail.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-thumbnail.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-video.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-video.min.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-zoom.js +0 -0
- data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-zoom.min.js +0 -0
- data/assets/themes/j1/extensions/lightbox/LICENSE +22 -0
- data/assets/themes/j1/extensions/lightbox/css/lightbox.css +224 -0
- data/assets/themes/j1/extensions/lightbox/css/lightbox.min.css +21 -0
- data/assets/themes/j1/extensions/lightbox/css/theme/uno.css +25 -0
- data/assets/themes/j1/extensions/lightbox/css/theme/uno.min.css +26 -0
- data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/close.png +0 -0
- data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/loading.gif +0 -0
- data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/next.png +0 -0
- data/{lib/starter_web/assets/images/modules/lightbox → assets/themes/j1/extensions/lightbox/images}/prev.png +0 -0
- data/assets/themes/j1/extensions/lightbox/js/lightbox.js +583 -0
- data/assets/themes/j1/extensions/lightbox/js/lightbox.min.js +35 -0
- data/assets/themes/j1/extensions/mmenuLight/css/mmenu.css +392 -0
- data/assets/themes/j1/extensions/mmenuLight/css/mmenu.min.css +393 -0
- data/assets/themes/j1/extensions/mmenuLight/css/theme/uno.css +170 -0
- data/assets/themes/j1/extensions/mmenuLight/css/theme/uno.min.css +169 -0
- data/assets/themes/j1/extensions/mmenuLight/js/mmenu.js +30 -0
- data/assets/themes/j1/extensions/noUISlider/LICENSE +13 -0
- data/assets/themes/j1/extensions/noUISlider/css/nouislider.css +260 -0
- data/assets/themes/j1/extensions/noUISlider/css/nouislider.min.css +1 -0
- data/assets/themes/j1/extensions/noUISlider/js/nouislider.js +2312 -0
- data/assets/themes/j1/extensions/noUISlider/js/nouislider.min.js +3 -0
- data/assets/themes/j1/extensions/twemoji/js/LICENSE +21 -0
- data/assets/themes/j1/extensions/twemoji/js/picker/LICENSE +21 -0
- data/assets/themes/j1/extensions/twemoji/js/picker/twemoji-picker.js +21 -0
- data/assets/themes/j1/extensions/twemoji/js/picker/twemoji-picker.min.js +21 -0
- data/assets/themes/j1/extensions/twemoji/js/twemoji.js +590 -0
- data/assets/themes/j1/extensions/twemoji/js/twemoji.min.js +25 -0
- data/lib/j1/version.rb +3 -3
- data/lib/starter_web/Gemfile +7 -1
- data/lib/starter_web/_config.yml +9 -8
- data/lib/starter_web/_data/_defaults/resources.yml +13 -13
- data/lib/starter_web/_data/blocks/banner.yml +21 -29
- data/lib/starter_web/_data/blocks/footer.yml +10 -3
- data/lib/starter_web/_data/blocks/panel.yml +13 -13
- data/lib/starter_web/_data/layouts/default.yml +10 -0
- data/lib/starter_web/_data/layouts/home.yml +7 -7
- data/lib/starter_web/_data/layouts/page.yml +15 -16
- data/lib/starter_web/_data/modules/advertising.yml +48 -0
- data/lib/starter_web/_data/modules/attics.yml +2 -38
- data/lib/starter_web/_data/modules/cookie_consent.yml +3 -95
- data/lib/starter_web/_data/modules/defaults/attics.yml +16 -15
- data/lib/starter_web/_data/modules/defaults/cookie_consent.yml +75 -12
- data/lib/starter_web/_data/modules/defaults/jekyll_search.yml +9 -9
- data/lib/starter_web/_data/modules/defaults/navigator.yml +56 -21
- data/lib/starter_web/_data/modules/defaults/ssm.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -8
- data/lib/starter_web/_data/modules/jekyll_search.yml +3 -21
- data/lib/starter_web/_data/modules/navigator.yml +1 -1
- data/lib/starter_web/_data/modules/navigator_menu.yml +4 -0
- data/lib/starter_web/_data/modules/ssm.yml +9 -0
- data/lib/starter_web/_data/modules/themer.yml +2 -3
- data/lib/starter_web/_data/modules/toccer.yml +6 -11
- data/lib/starter_web/_data/resources.yml +240 -112
- data/lib/starter_web/_data/template_settings.yml +117 -6
- data/lib/starter_web/_plugins/asciidoctor-extensions/fab-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor-extensions/fas-icon-inline.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor-extensions/iconify-icon-inline.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor-extensions/mdi-icon-inline.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor-extensions/twitter-emoji-inline.rb +2 -2
- data/lib/starter_web/_plugins/minifyJS.rb +54 -0
- data/lib/starter_web/_plugins/{uglify.rb → minifyJSON.rb} +15 -9
- data/lib/starter_web/assets/images/modules/attics/admin-dashboard-bootstrap-1280x600.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/alex-holyoake-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/anaya-katlego-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/antonella-lombardi-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/antonino-visalli-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/banner/library-1920x800-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/banner/signpost-1920x800-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/banner/water-journal-1280x600.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/banner/write-1280x600-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/brandon-mowinkel-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/building-blocks-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/cookies-1920x1200-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/daniel-jensen-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/giammarco-boscaro-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/go-up-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/ian-schneider-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/ideas-start-here-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/jason-rosewell-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/jessica-ruscello-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/library-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/matthaeus-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/nousnou-iwasaki-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/premium-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/robert-v-ruggiero-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/romain-vignes-1920x1280.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/runner-1920x1200-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/spider-web-1920x1200-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/the-place-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/welcome-1920x1280-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/carousel/cats/cat-1.jpg +0 -0
- data/lib/starter_web/assets/images/modules/carousel/mega_cities/andreas-brucker_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/carousel/mega_cities/denys-nevozhai-1_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/carousel/mega_cities/denys-nevozhai-2_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/carousel/mega_cities/luca-bravo_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/carousel/mega_cities/thomas-tucker_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/banter-snaps_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-2-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/denys-nevozhai-2_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/emmad-mazhari_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/ethan-brooke_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/gints-gailis_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/johan-mouchet_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/luca-bravo_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/oskars-sylwan_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/steven-diaz_b.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/thomas-tucker-bw.jpg +0 -0
- data/lib/starter_web/assets/images/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
- data/lib/starter_web/index.html +9 -8
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/clear_button.adoc +121 -0
- data/lib/starter_web/pages/public/learn/examples/floating_ad.adoc +221 -0
- data/lib/starter_web/pages/public/learn/{floating_sidebar.adoc → examples/floating_div.adoc} +60 -50
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/000_includes/parts.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +9 -4
- data/lib/starter_web/pages/public/learn/roundtrip/000_bs_tour_api.adoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/410_table_3_column.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/000_includes/documents/419_advanced_modals_html.asciidoc +5 -5
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +2 -2
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +4 -3
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +35 -44
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +39 -39
- data/lib/starter_web/pages/public/learn/vtutorials/000_includes/documents/410_table_3_column.asciidoc +1 -1
- data/lib/starter_web/pages/public/learn/whats_up.adoc +1 -0
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +54 -48
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/100_absolute_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/110_bs_grid_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/120_relative_sizes.asciidoc +1 -41
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/300_flip.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/400_spin_pulsed.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/500_bw_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/510_bs_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/600_md_color_palette.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/601_md_color_palette_indigo.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/mdi_icons/602_md_color_palette_pink.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/twitter_emoji/100_bs_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/twitter_emoji/100_relative_sizes.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/twitter_emoji/200_rotate.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/twitter_emoji/300_flip.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/000_includes/tables/twitter_emoji/400_spin_pulsed.asciidoc +1 -1
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +672 -863
- data/lib/starter_web/pages/public/previewer/iframer.adoc +15 -14
- data/lib/starter_web/pages/public/previewer/justified_gallery.html +1 -1
- data/lib/starter_web/pages/public/previewer/mdb_preview/000_includes/attributes.asciidoc +69 -0
- data/lib/starter_web/pages/public/previewer/mdb_preview/000_includes/documents/100_buttons.asciidoc +170 -0
- data/lib/starter_web/pages/public/previewer/mdb_preview/mdb_previewer.adoc +52 -0
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +1 -1
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +2 -2
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +148 -105
- data/assets/data/colors.json +0 -42
- data/assets/data/font_sizes.json +0 -42
- data/assets/data/messages.yml +0 -131
- data/assets/themes/j1/extensions/iframe_resizer/examples/frame.absolute.html +0 -86
- data/assets/themes/j1/extensions/iframe_resizer/examples/frame.content.html +0 -58
- data/assets/themes/j1/extensions/iframe_resizer/examples/frame.hover.html +0 -51
- data/assets/themes/j1/extensions/iframe_resizer/examples/frame.nested.html +0 -68
- data/assets/themes/j1/extensions/iframe_resizer/examples/frame.textarea.html +0 -46
- data/assets/themes/j1/extensions/iframe_resizer/examples/frame.tolerance.html +0 -79
- data/assets/themes/j1/extensions/iframe_resizer/examples/index.html +0 -70
- data/assets/themes/j1/extensions/iframe_resizer/examples/two.html +0 -71
- data/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.js +0 -1104
- data/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.map +0 -1
- data/assets/themes/j1/extensions/iframe_resizer/js/client/iframeResizer.contentWindow.min.js +0 -10
- data/assets/themes/j1/extensions/log4javascript/log4javascript.js +0 -5826
- data/assets/themes/j1/extensions/log4javascript/log4javascript.min.js +0 -266
- data/lib/starter_web/assets/images/modules/attics/admin-dashboard-bootstrap-1280x600.png +0 -0
- data/lib/starter_web/assets/images/modules/attics/mae-mu-Vf9gbsLZyf0-unsplash.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280-v.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/mae-mue-1920x1280.jpg +0 -0
File without changes
|
File without changes
|
File without changes
|
data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/j1/j1-video.min.js
RENAMED
File without changes
|
File without changes
|
data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-autoplay.min.js
RENAMED
File without changes
|
File without changes
|
data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-fullscreen.min.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/assets/themes/j1/extensions/{light_gallery → lightGallery}/js/modules/lg-thumbnail.min.js
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
The MIT License (MIT)
|
3
|
+
|
4
|
+
Copyright (c) 2015 Lokesh Dhakar
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
8
|
+
in the Software without restriction, including without limitation the rights
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
11
|
+
furnished to do so, subject to the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
14
|
+
copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22
|
+
SOFTWARE.
|
@@ -0,0 +1,224 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/extensions/clipboard/css/lightbox.css
|
4
|
+
# Lightbox v.2.11.2 implementation for J1 Template.
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
# http://lokeshdhakar.com/projects/lightbox2/
|
9
|
+
#
|
10
|
+
# Copyright (C) 2020 Juergen Adams
|
11
|
+
# Copyright (C) 2015-2019 Lokesh Dhakar
|
12
|
+
#
|
13
|
+
# J1 Template is licensed under the MIT License.
|
14
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
15
|
+
# Lightbox is licensed under the MIT License.
|
16
|
+
# See: https://github.com/lokesh/lightbox2/blob/master/LICENSE
|
17
|
+
#
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
*/
|
20
|
+
|
21
|
+
body.lb-disable-scrolling {
|
22
|
+
overflow: hidden;
|
23
|
+
}
|
24
|
+
|
25
|
+
.lightboxOverlay {
|
26
|
+
position: absolute;
|
27
|
+
top: 0;
|
28
|
+
left: 0;
|
29
|
+
z-index: 9999;
|
30
|
+
background-color: black;
|
31
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
32
|
+
opacity: 0.8;
|
33
|
+
display: none;
|
34
|
+
}
|
35
|
+
|
36
|
+
.lightbox {
|
37
|
+
position: absolute;
|
38
|
+
left: 0;
|
39
|
+
width: 100%;
|
40
|
+
z-index: 10000;
|
41
|
+
text-align: center;
|
42
|
+
line-height: 0;
|
43
|
+
font-weight: normal;
|
44
|
+
outline: none;
|
45
|
+
}
|
46
|
+
|
47
|
+
.lightbox .lb-image {
|
48
|
+
display: block;
|
49
|
+
height: auto;
|
50
|
+
max-width: inherit;
|
51
|
+
max-height: none;
|
52
|
+
border-radius: 3px;
|
53
|
+
|
54
|
+
/* Image border */
|
55
|
+
border: 4px solid white;
|
56
|
+
}
|
57
|
+
|
58
|
+
.lightbox a img {
|
59
|
+
border: none;
|
60
|
+
}
|
61
|
+
|
62
|
+
.lb-outerContainer {
|
63
|
+
position: relative;
|
64
|
+
*zoom: 1;
|
65
|
+
width: 250px;
|
66
|
+
height: 250px;
|
67
|
+
margin: 0 auto;
|
68
|
+
border-radius: 4px;
|
69
|
+
|
70
|
+
/* Background color behind image.
|
71
|
+
This is visible during transitions. */
|
72
|
+
background-color: white;
|
73
|
+
}
|
74
|
+
|
75
|
+
.lb-outerContainer:after {
|
76
|
+
content: "";
|
77
|
+
display: table;
|
78
|
+
clear: both;
|
79
|
+
}
|
80
|
+
|
81
|
+
.lb-loader {
|
82
|
+
position: absolute;
|
83
|
+
top: 43%;
|
84
|
+
left: 0;
|
85
|
+
height: 25%;
|
86
|
+
width: 100%;
|
87
|
+
text-align: center;
|
88
|
+
line-height: 0;
|
89
|
+
}
|
90
|
+
|
91
|
+
.lb-cancel {
|
92
|
+
display: block;
|
93
|
+
width: 32px;
|
94
|
+
height: 32px;
|
95
|
+
margin: 0 auto;
|
96
|
+
background: url(../images/loading.gif) no-repeat;
|
97
|
+
}
|
98
|
+
|
99
|
+
.lb-nav {
|
100
|
+
position: absolute;
|
101
|
+
top: 0;
|
102
|
+
left: 0;
|
103
|
+
height: 100%;
|
104
|
+
width: 100%;
|
105
|
+
z-index: 10;
|
106
|
+
}
|
107
|
+
|
108
|
+
.lb-container > .nav {
|
109
|
+
left: 0;
|
110
|
+
}
|
111
|
+
|
112
|
+
.lb-nav a {
|
113
|
+
outline: none;
|
114
|
+
background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
|
115
|
+
}
|
116
|
+
|
117
|
+
.lb-prev, .lb-next {
|
118
|
+
height: 100%;
|
119
|
+
cursor: pointer;
|
120
|
+
display: block;
|
121
|
+
}
|
122
|
+
|
123
|
+
.lb-nav a.lb-prev {
|
124
|
+
width: 34%;
|
125
|
+
left: 0;
|
126
|
+
float: left;
|
127
|
+
background: url(../images/prev.png) left 48% no-repeat;
|
128
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
129
|
+
opacity: 0;
|
130
|
+
-webkit-transition: opacity 0.6s;
|
131
|
+
-moz-transition: opacity 0.6s;
|
132
|
+
-o-transition: opacity 0.6s;
|
133
|
+
transition: opacity 0.6s;
|
134
|
+
}
|
135
|
+
|
136
|
+
.lb-nav a.lb-prev:hover {
|
137
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
138
|
+
opacity: 1;
|
139
|
+
}
|
140
|
+
|
141
|
+
.lb-nav a.lb-next {
|
142
|
+
width: 64%;
|
143
|
+
right: 0;
|
144
|
+
float: right;
|
145
|
+
background: url(../images/next.png) right 48% no-repeat;
|
146
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
147
|
+
opacity: 0;
|
148
|
+
-webkit-transition: opacity 0.6s;
|
149
|
+
-moz-transition: opacity 0.6s;
|
150
|
+
-o-transition: opacity 0.6s;
|
151
|
+
transition: opacity 0.6s;
|
152
|
+
}
|
153
|
+
|
154
|
+
.lb-nav a.lb-next:hover {
|
155
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
156
|
+
opacity: 1;
|
157
|
+
}
|
158
|
+
|
159
|
+
.lb-dataContainer {
|
160
|
+
margin: 0 auto;
|
161
|
+
padding-top: 5px;
|
162
|
+
*zoom: 1;
|
163
|
+
width: 100%;
|
164
|
+
border-bottom-left-radius: 4px;
|
165
|
+
border-bottom-right-radius: 4px;
|
166
|
+
}
|
167
|
+
|
168
|
+
.lb-dataContainer:after {
|
169
|
+
content: "";
|
170
|
+
display: table;
|
171
|
+
clear: both;
|
172
|
+
}
|
173
|
+
|
174
|
+
.lb-data {
|
175
|
+
padding: 0 4px;
|
176
|
+
color: #ccc;
|
177
|
+
}
|
178
|
+
|
179
|
+
.lb-data .lb-details {
|
180
|
+
width: 85%;
|
181
|
+
float: left;
|
182
|
+
text-align: left;
|
183
|
+
line-height: 1.1em;
|
184
|
+
}
|
185
|
+
|
186
|
+
.lb-data .lb-caption {
|
187
|
+
font-size: 13px;
|
188
|
+
font-weight: bold;
|
189
|
+
line-height: 1em;
|
190
|
+
}
|
191
|
+
|
192
|
+
.lb-data .lb-caption a {
|
193
|
+
color: #4ae;
|
194
|
+
}
|
195
|
+
|
196
|
+
.lb-data .lb-number {
|
197
|
+
display: block;
|
198
|
+
clear: left;
|
199
|
+
padding-bottom: 1em;
|
200
|
+
font-size: 12px;
|
201
|
+
color: #999999;
|
202
|
+
}
|
203
|
+
|
204
|
+
.lb-data .lb-close {
|
205
|
+
display: block;
|
206
|
+
float: right;
|
207
|
+
width: 30px;
|
208
|
+
height: 30px;
|
209
|
+
background: url(../images/close.png) top right no-repeat;
|
210
|
+
text-align: right;
|
211
|
+
outline: none;
|
212
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
|
213
|
+
opacity: 0.7;
|
214
|
+
-webkit-transition: opacity 0.2s;
|
215
|
+
-moz-transition: opacity 0.2s;
|
216
|
+
-o-transition: opacity 0.2s;
|
217
|
+
transition: opacity 0.2s;
|
218
|
+
}
|
219
|
+
|
220
|
+
.lb-data .lb-close:hover {
|
221
|
+
cursor: pointer;
|
222
|
+
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
223
|
+
opacity: 1;
|
224
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/extensions/clipboard/css/lightbox.min.css
|
4
|
+
# Lightbox v.2.11.2 implementation for J1 Template.
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
# http://lokeshdhakar.com/projects/lightbox2/
|
9
|
+
#
|
10
|
+
# Copyright (C) 2020 Juergen Adams
|
11
|
+
# Copyright (C) 2015-2019 Lokesh Dhakar
|
12
|
+
#
|
13
|
+
# J1 Template is licensed under the MIT License.
|
14
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
15
|
+
# Lightbox is licensed under the MIT License.
|
16
|
+
# See: https://github.com/lokesh/lightbox2/blob/master/LICENSE
|
17
|
+
#
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
*/
|
20
|
+
|
21
|
+
.lb-loader,.lightbox{text-align:center;line-height:0;position:absolute;left:0}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{width:100%;z-index:10000;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/extensions/lightbox/css/theme/uno.css
|
4
|
+
# Provides Lightbox styles for J1 Theme Uno (v2.11.2)
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2020 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
*/
|
15
|
+
|
16
|
+
/* Reduced image border|color changed */
|
17
|
+
.lightbox .lb-image {
|
18
|
+
border-radius: 1px;
|
19
|
+
border: 1px solid lightgrey;
|
20
|
+
}
|
21
|
+
|
22
|
+
/* Removed invalid|unneeded attributes */
|
23
|
+
.lb-outerContainer {
|
24
|
+
zoom: unset;
|
25
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/extensions/lightbox/css/theme/uno.min.css
|
4
|
+
# Provides Lightbox styles for J1 Theme Uno
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2020 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
#
|
14
|
+
# -----------------------------------------------------------------------------
|
15
|
+
*/
|
16
|
+
|
17
|
+
/* Reduced image border|color changed */
|
18
|
+
.lightbox .lb-image {
|
19
|
+
border-radius: 1px;
|
20
|
+
border: 1px solid lightgrey;
|
21
|
+
}
|
22
|
+
|
23
|
+
/* Removed invalid|unneeded attributes */
|
24
|
+
.lb-outerContainer {
|
25
|
+
zoom: unset;
|
26
|
+
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,583 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/js/lightbox/lightbox.js
|
4
|
+
# Lightbox v.2.11.2 implementation for J1 Template.
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
# http://lokeshdhakar.com/projects/lightbox2/
|
9
|
+
#
|
10
|
+
# Copyright (C) 2020 Juergen Adams
|
11
|
+
# Copyright (C) 2015-2019 Lokesh Dhakar
|
12
|
+
#
|
13
|
+
# J1 Template is licensed under the MIT License.
|
14
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
15
|
+
# Lightbox is licensed under the MIT License.
|
16
|
+
# See: https://github.com/lokesh/lightbox2/blob/master/LICENSE
|
17
|
+
#
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
*/
|
20
|
+
|
21
|
+
// -----------------------------------------------------------------------------
|
22
|
+
// ESLint shimming
|
23
|
+
// -----------------------------------------------------------------------------
|
24
|
+
/* eslint indent: "off" */
|
25
|
+
/* eslint no-unused-vars: "off" */
|
26
|
+
/* eslint no-undef: "off" */
|
27
|
+
/* eslint no-console: "off" */
|
28
|
+
// -----------------------------------------------------------------------------
|
29
|
+
|
30
|
+
/*!
|
31
|
+
* Lightbox v2.11.2
|
32
|
+
* by Lokesh Dhakar
|
33
|
+
*
|
34
|
+
* More info:
|
35
|
+
* http://lokeshdhakar.com/projects/lightbox2/
|
36
|
+
*
|
37
|
+
* Copyright Lokesh Dhakar
|
38
|
+
* Released under the MIT license
|
39
|
+
* https://github.com/lokesh/lightbox2/blob/master/LICENSE
|
40
|
+
*
|
41
|
+
* @preserve
|
42
|
+
*/
|
43
|
+
|
44
|
+
// Uses Node, AMD or browser globals to create a module.
|
45
|
+
(function (root, factory) {
|
46
|
+
if (typeof define === 'function' && define.amd) {
|
47
|
+
// AMD. Register as an anonymous module.
|
48
|
+
define(['jquery'], factory);
|
49
|
+
} else if (typeof exports === 'object') {
|
50
|
+
// Node. Does not work with strict CommonJS, but
|
51
|
+
// only CommonJS-like environments that support module.exports,
|
52
|
+
// like Node.
|
53
|
+
module.exports = factory(require('jquery'));
|
54
|
+
} else {
|
55
|
+
// Browser globals (root is window)
|
56
|
+
root.lightbox = factory(root.jQuery);
|
57
|
+
}
|
58
|
+
}(this, function ($) {
|
59
|
+
|
60
|
+
function Lightbox(options) {
|
61
|
+
this.album = [];
|
62
|
+
this.currentImageIndex = void 0;
|
63
|
+
this.init();
|
64
|
+
|
65
|
+
// options
|
66
|
+
this.options = $.extend({}, this.constructor.defaults);
|
67
|
+
this.option(options);
|
68
|
+
}
|
69
|
+
|
70
|
+
// Descriptions of all options available on the demo site:
|
71
|
+
// http://lokeshdhakar.com/projects/lightbox2/index.html#options
|
72
|
+
Lightbox.defaults = {
|
73
|
+
albumLabel: 'Image %1 of %2',
|
74
|
+
alwaysShowNavOnTouchDevices: false,
|
75
|
+
fadeDuration: 600,
|
76
|
+
fitImagesInViewport: true,
|
77
|
+
imageFadeDuration: 600,
|
78
|
+
// maxWidth: 800,
|
79
|
+
// maxHeight: 600,
|
80
|
+
positionFromTop: 50,
|
81
|
+
resizeDuration: 700,
|
82
|
+
showImageNumberLabel: true,
|
83
|
+
wrapAround: false,
|
84
|
+
disableScrolling: false,
|
85
|
+
/*
|
86
|
+
Sanitize Title
|
87
|
+
If the caption data is trusted, for example you are hardcoding it in, then leave this to false.
|
88
|
+
This will free you to add html tags, such as links, in the caption.
|
89
|
+
|
90
|
+
If the caption data is user submitted or from some other untrusted source, then set this to true
|
91
|
+
to prevent xss and other injection attacks.
|
92
|
+
*/
|
93
|
+
sanitizeTitle: false
|
94
|
+
};
|
95
|
+
|
96
|
+
Lightbox.prototype.option = function(options) {
|
97
|
+
$.extend(this.options, options);
|
98
|
+
};
|
99
|
+
|
100
|
+
Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) {
|
101
|
+
return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages);
|
102
|
+
};
|
103
|
+
|
104
|
+
Lightbox.prototype.init = function() {
|
105
|
+
var self = this;
|
106
|
+
// Both enable and build methods require the body tag to be in the DOM.
|
107
|
+
$(document).ready(function() {
|
108
|
+
self.enable();
|
109
|
+
self.build();
|
110
|
+
});
|
111
|
+
};
|
112
|
+
|
113
|
+
// Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
|
114
|
+
// that contain 'lightbox'. When these are clicked, start lightbox.
|
115
|
+
Lightbox.prototype.enable = function() {
|
116
|
+
var self = this;
|
117
|
+
$('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) {
|
118
|
+
self.start($(event.currentTarget));
|
119
|
+
return false;
|
120
|
+
});
|
121
|
+
};
|
122
|
+
|
123
|
+
// Build html for the lightbox and the overlay.
|
124
|
+
// Attach event handlers to the new DOM elements. click click click
|
125
|
+
Lightbox.prototype.build = function() {
|
126
|
+
if ($('#lightbox').length > 0) {
|
127
|
+
return;
|
128
|
+
}
|
129
|
+
|
130
|
+
var self = this;
|
131
|
+
|
132
|
+
// The two root notes generated, #lightboxOverlay and #lightbox are given
|
133
|
+
// tabindex attrs so they are focusable. We attach our keyboard event
|
134
|
+
// listeners to these two elements, and not the document. Clicking anywhere
|
135
|
+
// while Lightbox is opened will keep the focus on or inside one of these
|
136
|
+
// two elements.
|
137
|
+
//
|
138
|
+
// We do this so we can prevent propogation of the Esc keypress when
|
139
|
+
// Lightbox is open. This prevents it from intefering with other components
|
140
|
+
// on the page below.
|
141
|
+
//
|
142
|
+
// Github issue: https://github.com/lokesh/lightbox2/issues/663
|
143
|
+
$('<div id="lightboxOverlay" tabindex="-1" class="lightboxOverlay"></div><div id="lightbox" tabindex="-1" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" alt=""/><div class="lb-nav"><a class="lb-prev" aria-label="Previous image" href="" ></a><a class="lb-next" aria-label="Next image" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo($('body'));
|
144
|
+
|
145
|
+
// Cache jQuery objects
|
146
|
+
this.$lightbox = $('#lightbox');
|
147
|
+
this.$overlay = $('#lightboxOverlay');
|
148
|
+
this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
|
149
|
+
this.$container = this.$lightbox.find('.lb-container');
|
150
|
+
this.$image = this.$lightbox.find('.lb-image');
|
151
|
+
this.$nav = this.$lightbox.find('.lb-nav');
|
152
|
+
|
153
|
+
// Store css values for future lookup
|
154
|
+
this.containerPadding = {
|
155
|
+
top: parseInt(this.$container.css('padding-top'), 10),
|
156
|
+
right: parseInt(this.$container.css('padding-right'), 10),
|
157
|
+
bottom: parseInt(this.$container.css('padding-bottom'), 10),
|
158
|
+
left: parseInt(this.$container.css('padding-left'), 10)
|
159
|
+
};
|
160
|
+
|
161
|
+
this.imageBorderWidth = {
|
162
|
+
top: parseInt(this.$image.css('border-top-width'), 10),
|
163
|
+
right: parseInt(this.$image.css('border-right-width'), 10),
|
164
|
+
bottom: parseInt(this.$image.css('border-bottom-width'), 10),
|
165
|
+
left: parseInt(this.$image.css('border-left-width'), 10)
|
166
|
+
};
|
167
|
+
|
168
|
+
// Attach event handlers to the newly minted DOM elements
|
169
|
+
this.$overlay.hide().on('click', function() {
|
170
|
+
self.end();
|
171
|
+
return false;
|
172
|
+
});
|
173
|
+
|
174
|
+
this.$lightbox.hide().on('click', function(event) {
|
175
|
+
if ($(event.target).attr('id') === 'lightbox') {
|
176
|
+
self.end();
|
177
|
+
}
|
178
|
+
});
|
179
|
+
|
180
|
+
this.$outerContainer.on('click', function(event) {
|
181
|
+
if ($(event.target).attr('id') === 'lightbox') {
|
182
|
+
self.end();
|
183
|
+
}
|
184
|
+
return false;
|
185
|
+
});
|
186
|
+
|
187
|
+
this.$lightbox.find('.lb-prev').on('click', function() {
|
188
|
+
if (self.currentImageIndex === 0) {
|
189
|
+
self.changeImage(self.album.length - 1);
|
190
|
+
} else {
|
191
|
+
self.changeImage(self.currentImageIndex - 1);
|
192
|
+
}
|
193
|
+
return false;
|
194
|
+
});
|
195
|
+
|
196
|
+
this.$lightbox.find('.lb-next').on('click', function() {
|
197
|
+
if (self.currentImageIndex === self.album.length - 1) {
|
198
|
+
self.changeImage(0);
|
199
|
+
} else {
|
200
|
+
self.changeImage(self.currentImageIndex + 1);
|
201
|
+
}
|
202
|
+
return false;
|
203
|
+
});
|
204
|
+
|
205
|
+
/*
|
206
|
+
Show context menu for image on right-click
|
207
|
+
|
208
|
+
There is a div containing the navigation that spans the entire image and lives above of it. If
|
209
|
+
you right-click, you are right clicking this div and not the image. This prevents users from
|
210
|
+
saving the image or using other context menu actions with the image.
|
211
|
+
|
212
|
+
To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we
|
213
|
+
set pointer-events to none on the nav div. This is so that the upcoming right-click event on
|
214
|
+
the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs
|
215
|
+
we set the pointer events back to auto for the nav div so it can capture hover and left-click
|
216
|
+
events as usual.
|
217
|
+
*/
|
218
|
+
this.$nav.on('mousedown', function(event) {
|
219
|
+
if (event.which === 3) {
|
220
|
+
self.$nav.css('pointer-events', 'none');
|
221
|
+
|
222
|
+
self.$lightbox.one('contextmenu', function() {
|
223
|
+
setTimeout(function() {
|
224
|
+
this.$nav.css('pointer-events', 'auto');
|
225
|
+
}.bind(self), 0);
|
226
|
+
});
|
227
|
+
}
|
228
|
+
});
|
229
|
+
|
230
|
+
|
231
|
+
this.$lightbox.find('.lb-loader, .lb-close').on('click', function() {
|
232
|
+
self.end();
|
233
|
+
return false;
|
234
|
+
});
|
235
|
+
};
|
236
|
+
|
237
|
+
// Show overlay and lightbox. If the image is part of a set, add siblings to album array.
|
238
|
+
Lightbox.prototype.start = function($link) {
|
239
|
+
var self = this;
|
240
|
+
var $window = $(window);
|
241
|
+
|
242
|
+
$window.on('resize', $.proxy(this.sizeOverlay, this));
|
243
|
+
|
244
|
+
this.sizeOverlay();
|
245
|
+
|
246
|
+
this.album = [];
|
247
|
+
var imageNumber = 0;
|
248
|
+
|
249
|
+
function addToAlbum($link) {
|
250
|
+
self.album.push({
|
251
|
+
alt: $link.attr('data-alt'),
|
252
|
+
link: $link.attr('href'),
|
253
|
+
title: $link.attr('data-title') || $link.attr('title')
|
254
|
+
});
|
255
|
+
}
|
256
|
+
|
257
|
+
// Support both data-lightbox attribute and rel attribute implementations
|
258
|
+
var dataLightboxValue = $link.attr('data-lightbox');
|
259
|
+
var $links;
|
260
|
+
|
261
|
+
if (dataLightboxValue) {
|
262
|
+
$links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
|
263
|
+
for (var i = 0; i < $links.length; i = ++i) {
|
264
|
+
addToAlbum($($links[i]));
|
265
|
+
if ($links[i] === $link[0]) {
|
266
|
+
imageNumber = i;
|
267
|
+
}
|
268
|
+
}
|
269
|
+
} else {
|
270
|
+
if ($link.attr('rel') === 'lightbox') {
|
271
|
+
// If image is not part of a set
|
272
|
+
addToAlbum($link);
|
273
|
+
} else {
|
274
|
+
// If image is part of a set
|
275
|
+
$links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
|
276
|
+
for (var j = 0; j < $links.length; j = ++j) {
|
277
|
+
addToAlbum($($links[j]));
|
278
|
+
if ($links[j] === $link[0]) {
|
279
|
+
imageNumber = j;
|
280
|
+
}
|
281
|
+
}
|
282
|
+
}
|
283
|
+
}
|
284
|
+
|
285
|
+
// Position Lightbox
|
286
|
+
var top = $window.scrollTop() + this.options.positionFromTop;
|
287
|
+
var left = $window.scrollLeft();
|
288
|
+
this.$lightbox.css({
|
289
|
+
top: top + 'px',
|
290
|
+
left: left + 'px'
|
291
|
+
}).fadeIn(this.options.fadeDuration);
|
292
|
+
|
293
|
+
// Disable scrolling of the page while open
|
294
|
+
if (this.options.disableScrolling) {
|
295
|
+
$('body').addClass('lb-disable-scrolling');
|
296
|
+
}
|
297
|
+
|
298
|
+
this.changeImage(imageNumber);
|
299
|
+
};
|
300
|
+
|
301
|
+
// Hide most UI elements in preparation for the animated resizing of the lightbox.
|
302
|
+
Lightbox.prototype.changeImage = function(imageNumber) {
|
303
|
+
var self = this;
|
304
|
+
var filename = this.album[imageNumber].link;
|
305
|
+
var filetype = filename.split('.').slice(-1)[0];
|
306
|
+
var $image = this.$lightbox.find('.lb-image');
|
307
|
+
|
308
|
+
// Disable keyboard nav during transitions
|
309
|
+
this.disableKeyboardNav();
|
310
|
+
|
311
|
+
// Show loading state
|
312
|
+
this.$overlay.fadeIn(this.options.fadeDuration);
|
313
|
+
$('.lb-loader').fadeIn('slow');
|
314
|
+
this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
|
315
|
+
this.$outerContainer.addClass('animating');
|
316
|
+
|
317
|
+
// When image to show is preloaded, we send the width and height to sizeContainer()
|
318
|
+
var preloader = new Image();
|
319
|
+
preloader.onload = function() {
|
320
|
+
var $preloader;
|
321
|
+
var imageHeight;
|
322
|
+
var imageWidth;
|
323
|
+
var maxImageHeight;
|
324
|
+
var maxImageWidth;
|
325
|
+
var windowHeight;
|
326
|
+
var windowWidth;
|
327
|
+
|
328
|
+
$image.attr({
|
329
|
+
'alt': self.album[imageNumber].alt,
|
330
|
+
'src': filename
|
331
|
+
});
|
332
|
+
|
333
|
+
$preloader = $(preloader);
|
334
|
+
|
335
|
+
$image.width(preloader.width);
|
336
|
+
$image.height(preloader.height);
|
337
|
+
windowWidth = $(window).width();
|
338
|
+
windowHeight = $(window).height();
|
339
|
+
|
340
|
+
// Calculate the max image dimensions for the current viewport.
|
341
|
+
// Take into account the border around the image and an additional 10px gutter on each side.
|
342
|
+
maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20;
|
343
|
+
maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - self.options.positionFromTop - 70;
|
344
|
+
|
345
|
+
/*
|
346
|
+
Since many SVGs have small intrinsic dimensions, but they support scaling
|
347
|
+
up without quality loss because of their vector format, max out their
|
348
|
+
size.
|
349
|
+
*/
|
350
|
+
if (filetype === 'svg') {
|
351
|
+
$image.width(maxImageWidth);
|
352
|
+
$image.height(maxImageHeight);
|
353
|
+
}
|
354
|
+
|
355
|
+
// Fit image inside the viewport.
|
356
|
+
if (self.options.fitImagesInViewport) {
|
357
|
+
|
358
|
+
// Check if image size is larger then maxWidth|maxHeight in settings
|
359
|
+
if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) {
|
360
|
+
maxImageWidth = self.options.maxWidth;
|
361
|
+
}
|
362
|
+
if (self.options.maxHeight && self.options.maxHeight < maxImageHeight) {
|
363
|
+
maxImageHeight = self.options.maxHeight;
|
364
|
+
}
|
365
|
+
|
366
|
+
} else {
|
367
|
+
maxImageWidth = self.options.maxWidth || preloader.width || maxImageWidth;
|
368
|
+
maxImageHeight = self.options.maxHeight || preloader.height || maxImageHeight;
|
369
|
+
}
|
370
|
+
|
371
|
+
// Is the current image's width or height is greater than the maxImageWidth or maxImageHeight
|
372
|
+
// option than we need to size down while maintaining the aspect ratio.
|
373
|
+
if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
|
374
|
+
if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
|
375
|
+
imageWidth = maxImageWidth;
|
376
|
+
imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
|
377
|
+
$image.width(imageWidth);
|
378
|
+
$image.height(imageHeight);
|
379
|
+
} else {
|
380
|
+
imageHeight = maxImageHeight;
|
381
|
+
imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
|
382
|
+
$image.width(imageWidth);
|
383
|
+
$image.height(imageHeight);
|
384
|
+
}
|
385
|
+
}
|
386
|
+
self.sizeContainer($image.width(), $image.height());
|
387
|
+
};
|
388
|
+
|
389
|
+
// Preload image before showing
|
390
|
+
preloader.src = this.album[imageNumber].link;
|
391
|
+
this.currentImageIndex = imageNumber;
|
392
|
+
};
|
393
|
+
|
394
|
+
// Stretch overlay to fit the viewport
|
395
|
+
Lightbox.prototype.sizeOverlay = function() {
|
396
|
+
var self = this;
|
397
|
+
/*
|
398
|
+
We use a setTimeout 0 to pause JS execution and let the rendering catch-up.
|
399
|
+
Why do this? If the `disableScrolling` option is set to true, a class is added to the body
|
400
|
+
tag that disables scrolling and hides the scrollbar. We want to make sure the scrollbar is
|
401
|
+
hidden before we measure the document width, as the presence of the scrollbar will affect the
|
402
|
+
number.
|
403
|
+
*/
|
404
|
+
setTimeout(function() {
|
405
|
+
self.$overlay
|
406
|
+
.width($(document).width())
|
407
|
+
.height($(document).height());
|
408
|
+
|
409
|
+
}, 0);
|
410
|
+
};
|
411
|
+
|
412
|
+
// Animate the size of the lightbox to fit the image we are showing
|
413
|
+
// This method also shows the the image.
|
414
|
+
Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) {
|
415
|
+
var self = this;
|
416
|
+
|
417
|
+
var oldWidth = this.$outerContainer.outerWidth();
|
418
|
+
var oldHeight = this.$outerContainer.outerHeight();
|
419
|
+
var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right;
|
420
|
+
var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom;
|
421
|
+
|
422
|
+
function postResize() {
|
423
|
+
self.$lightbox.find('.lb-dataContainer').width(newWidth);
|
424
|
+
self.$lightbox.find('.lb-prevLink').height(newHeight);
|
425
|
+
self.$lightbox.find('.lb-nextLink').height(newHeight);
|
426
|
+
|
427
|
+
// Set focus on one of the two root nodes so keyboard events are captured.
|
428
|
+
self.$overlay.focus();
|
429
|
+
|
430
|
+
self.showImage();
|
431
|
+
}
|
432
|
+
|
433
|
+
if (oldWidth !== newWidth || oldHeight !== newHeight) {
|
434
|
+
this.$outerContainer.animate({
|
435
|
+
width: newWidth,
|
436
|
+
height: newHeight
|
437
|
+
}, this.options.resizeDuration, 'swing', function() {
|
438
|
+
postResize();
|
439
|
+
});
|
440
|
+
} else {
|
441
|
+
postResize();
|
442
|
+
}
|
443
|
+
};
|
444
|
+
|
445
|
+
// Display the image and its details and begin preload neighboring images.
|
446
|
+
Lightbox.prototype.showImage = function() {
|
447
|
+
this.$lightbox.find('.lb-loader').stop(true).hide();
|
448
|
+
this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration);
|
449
|
+
|
450
|
+
this.updateNav();
|
451
|
+
this.updateDetails();
|
452
|
+
this.preloadNeighboringImages();
|
453
|
+
this.enableKeyboardNav();
|
454
|
+
};
|
455
|
+
|
456
|
+
// Display previous and next navigation if appropriate.
|
457
|
+
Lightbox.prototype.updateNav = function() {
|
458
|
+
// Check to see if the browser supports touch events. If so, we take the conservative approach
|
459
|
+
// and assume that mouse hover events are not supported and always show prev/next navigation
|
460
|
+
// arrows in image sets.
|
461
|
+
var alwaysShowNav = false;
|
462
|
+
try {
|
463
|
+
document.createEvent('TouchEvent');
|
464
|
+
alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;
|
465
|
+
} catch (e) {}
|
466
|
+
|
467
|
+
this.$lightbox.find('.lb-nav').show();
|
468
|
+
|
469
|
+
if (this.album.length > 1) {
|
470
|
+
if (this.options.wrapAround) {
|
471
|
+
if (alwaysShowNav) {
|
472
|
+
this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
|
473
|
+
}
|
474
|
+
this.$lightbox.find('.lb-prev, .lb-next').show();
|
475
|
+
} else {
|
476
|
+
if (this.currentImageIndex > 0) {
|
477
|
+
this.$lightbox.find('.lb-prev').show();
|
478
|
+
if (alwaysShowNav) {
|
479
|
+
this.$lightbox.find('.lb-prev').css('opacity', '1');
|
480
|
+
}
|
481
|
+
}
|
482
|
+
if (this.currentImageIndex < this.album.length - 1) {
|
483
|
+
this.$lightbox.find('.lb-next').show();
|
484
|
+
if (alwaysShowNav) {
|
485
|
+
this.$lightbox.find('.lb-next').css('opacity', '1');
|
486
|
+
}
|
487
|
+
}
|
488
|
+
}
|
489
|
+
}
|
490
|
+
};
|
491
|
+
|
492
|
+
// Display caption, image number, and closing button.
|
493
|
+
Lightbox.prototype.updateDetails = function() {
|
494
|
+
var self = this;
|
495
|
+
|
496
|
+
// Enable anchor clicks in the injected caption html.
|
497
|
+
// Thanks Nate Wright for the fix. @https://github.com/NateWr
|
498
|
+
if (typeof this.album[this.currentImageIndex].title !== 'undefined' &&
|
499
|
+
this.album[this.currentImageIndex].title !== '') {
|
500
|
+
var $caption = this.$lightbox.find('.lb-caption');
|
501
|
+
if (this.options.sanitizeTitle) {
|
502
|
+
$caption.text(this.album[this.currentImageIndex].title);
|
503
|
+
} else {
|
504
|
+
$caption.html(this.album[this.currentImageIndex].title);
|
505
|
+
}
|
506
|
+
$caption.fadeIn('fast');
|
507
|
+
}
|
508
|
+
|
509
|
+
if (this.album.length > 1 && this.options.showImageNumberLabel) {
|
510
|
+
var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
|
511
|
+
this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
|
512
|
+
} else {
|
513
|
+
this.$lightbox.find('.lb-number').hide();
|
514
|
+
}
|
515
|
+
|
516
|
+
this.$outerContainer.removeClass('animating');
|
517
|
+
|
518
|
+
this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() {
|
519
|
+
return self.sizeOverlay();
|
520
|
+
});
|
521
|
+
};
|
522
|
+
|
523
|
+
// Preload previous and next images in set.
|
524
|
+
Lightbox.prototype.preloadNeighboringImages = function() {
|
525
|
+
if (this.album.length > this.currentImageIndex + 1) {
|
526
|
+
var preloadNext = new Image();
|
527
|
+
preloadNext.src = this.album[this.currentImageIndex + 1].link;
|
528
|
+
}
|
529
|
+
if (this.currentImageIndex > 0) {
|
530
|
+
var preloadPrev = new Image();
|
531
|
+
preloadPrev.src = this.album[this.currentImageIndex - 1].link;
|
532
|
+
}
|
533
|
+
};
|
534
|
+
|
535
|
+
Lightbox.prototype.enableKeyboardNav = function() {
|
536
|
+
this.$lightbox.on('keyup.keyboard', $.proxy(this.keyboardAction, this));
|
537
|
+
this.$overlay.on('keyup.keyboard', $.proxy(this.keyboardAction, this));
|
538
|
+
};
|
539
|
+
|
540
|
+
Lightbox.prototype.disableKeyboardNav = function() {
|
541
|
+
this.$lightbox.off('.keyboard');
|
542
|
+
this.$overlay.off('.keyboard');
|
543
|
+
};
|
544
|
+
|
545
|
+
Lightbox.prototype.keyboardAction = function(event) {
|
546
|
+
var KEYCODE_ESC = 27;
|
547
|
+
var KEYCODE_LEFTARROW = 37;
|
548
|
+
var KEYCODE_RIGHTARROW = 39;
|
549
|
+
|
550
|
+
var keycode = event.keyCode;
|
551
|
+
if (keycode === KEYCODE_ESC) {
|
552
|
+
// Prevent bubbling so as to not affect other components on the page.
|
553
|
+
event.stopPropagation();
|
554
|
+
this.end();
|
555
|
+
} else if (keycode === KEYCODE_LEFTARROW) {
|
556
|
+
if (this.currentImageIndex !== 0) {
|
557
|
+
this.changeImage(this.currentImageIndex - 1);
|
558
|
+
} else if (this.options.wrapAround && this.album.length > 1) {
|
559
|
+
this.changeImage(this.album.length - 1);
|
560
|
+
}
|
561
|
+
} else if (keycode === KEYCODE_RIGHTARROW) {
|
562
|
+
if (this.currentImageIndex !== this.album.length - 1) {
|
563
|
+
this.changeImage(this.currentImageIndex + 1);
|
564
|
+
} else if (this.options.wrapAround && this.album.length > 1) {
|
565
|
+
this.changeImage(0);
|
566
|
+
}
|
567
|
+
}
|
568
|
+
};
|
569
|
+
|
570
|
+
// Closing time. :-(
|
571
|
+
Lightbox.prototype.end = function() {
|
572
|
+
this.disableKeyboardNav();
|
573
|
+
$(window).off('resize', this.sizeOverlay);
|
574
|
+
this.$lightbox.fadeOut(this.options.fadeDuration);
|
575
|
+
this.$overlay.fadeOut(this.options.fadeDuration);
|
576
|
+
|
577
|
+
if (this.options.disableScrolling) {
|
578
|
+
$('body').removeClass('lb-disable-scrolling');
|
579
|
+
}
|
580
|
+
};
|
581
|
+
|
582
|
+
return new Lightbox();
|
583
|
+
}));
|