j1-template 2024.3.16 → 2024.3.18
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/layouts/content_generator_collection.html +1 -1
- data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
- data/_includes/themes/j1/layouts/content_generator_page.html +1 -1
- data/_includes/themes/j1/layouts/content_generator_post.html +1 -1
- data/_includes/themes/j1/layouts/content_generator_raw.html +1 -1
- data/_includes/themes/j1/layouts/layout_metadata_generator.html +1 -1
- data/_includes/themes/j1/layouts/layout_module_generator.html +1 -1
- data/_includes/themes/j1/layouts/layout_resource_generator.html +1 -1
- data/_includes/themes/j1/modules/attics/generator.html +1 -1
- data/_includes/themes/j1/modules/navigator/generator.html +1 -1
- data/_includes/themes/j1/modules/searcher/generator.html +1 -1
- data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/about_box.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/contacts_box.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/issue.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/legal_statements.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/links_box.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/news_box.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/footer/boxes/social_media_icons.proc +1 -1
- data/_includes/themes/j1/procedures/blocks/get_wave.proc +1 -1
- data/_includes/themes/j1/procedures/collections/create_collection_article_preview.proc +1 -1
- data/_includes/themes/j1/procedures/collections/pager.proc +1 -1
- data/_includes/themes/j1/procedures/global/attributes_loader.proc +1 -1
- data/_includes/themes/j1/procedures/global/collect_frontmatter_options.proc +1 -1
- data/_includes/themes/j1/procedures/global/collect_page_options.proc +1 -1
- data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
- data/_includes/themes/j1/procedures/global/create_word_cloud.proc +1 -1
- data/_includes/themes/j1/procedures/global/date-german.proc +1 -1
- data/_includes/themes/j1/procedures/global/get_category.proc +1 -1
- data/_includes/themes/j1/procedures/global/get_category_item.proc +1 -1
- data/_includes/themes/j1/procedures/global/get_documents_dir.proc +1 -1
- data/_includes/themes/j1/procedures/global/get_page_path.proc +1 -1
- data/_includes/themes/j1/procedures/global/get_page_url.proc +1 -1
- data/_includes/themes/j1/procedures/global/select_color.proc +1 -1
- data/_includes/themes/j1/procedures/global/select_font_size.proc +1 -1
- data/_includes/themes/j1/procedures/global/select_icon_size.proc +1 -1
- data/_includes/themes/j1/procedures/global/select_location.proc +1 -1
- data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +1 -1
- data/_includes/themes/j1/procedures/global/set_env_entry_document.proc +1 -1
- data/_includes/themes/j1/procedures/global/set_image_block.proc +1 -1
- data/_includes/themes/j1/procedures/global/setup.proc +1 -1
- data/_includes/themes/j1/procedures/layouts/content_writer.proc +1 -1
- data/_includes/themes/j1/procedures/layouts/default_writer.proc +1 -1
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
- data/_includes/themes/j1/procedures/layouts/resource_writer.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_calendar.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_list.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +1 -1
- data/_includes/themes/j1/procedures/posts/create_ad_block.proc +1 -1
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +1 -1
- data/_includes/themes/j1/procedures/posts/pager.proc +1 -1
- data/_layouts/autopage_category.html +1 -1
- data/_layouts/autopage_collection.html +1 -1
- data/_layouts/autopage_collections_tags.html +1 -1
- data/_layouts/autopage_tags.html +1 -1
- data/_layouts/collection.html +1 -1
- data/_layouts/compress.html +1 -1
- data/_layouts/default.html +1 -1
- data/_layouts/home.html +1 -1
- data/_layouts/news_panel_posts.html +1 -1
- data/_layouts/page.html +1 -1
- data/_layouts/post.html +1 -1
- data/_layouts/raw.html +1 -1
- data/apps/public/cc/cc.yml +1 -1
- data/assets/data/amplitude.html +137 -66
- data/assets/data/authclient.html +1 -1
- data/assets/data/banner.html +2 -2
- data/assets/data/carousel.json +1 -1
- data/assets/data/cookieconsent.html +2 -2
- data/assets/data/docsearch.html +2 -2
- data/assets/data/fab.html +2 -2
- data/assets/data/footer.html +2 -2
- data/assets/data/galeries.html +2 -2
- data/assets/data/gallery_customizer.html +2 -2
- data/assets/data/gemini-ui.html +2 -2
- data/assets/data/iframes.html +2 -2
- data/assets/data/iso-3166-country-codes.json +1 -1
- data/assets/data/iso-639-language-codes.json +1 -1
- data/assets/data/j1_config.json +1 -1
- data/assets/data/masonry.html +2 -2
- data/assets/data/masterslider.html +2 -2
- data/assets/data/mdi_icons.json +1 -1
- data/assets/data/mdil_icons.json +1 -1
- data/assets/data/menu.html +2 -2
- data/assets/data/mmenu.html +2 -2
- data/assets/data/mmenu_sidebar.html +2 -2
- data/assets/data/mmenu_toc.html +2 -2
- data/assets/data/panel.html +2 -2
- data/assets/data/particles.yml +1 -1
- data/assets/data/private.json +1 -1
- data/assets/data/quicklinks.html +2 -2
- data/assets/data/rtext_resizer.html +2 -2
- data/assets/data/slick.html +2 -2
- data/assets/data/speak2me.html +2 -2
- data/assets/data/swiper.html +244 -0
- data/assets/data/swiper.json +84 -0
- data/assets/data/themes.bootswatch.json +1 -1
- data/assets/data/themes.json +1 -1
- data/assets/data/translator.html +1 -1
- data/assets/error_pages/HTTP204.html +1 -1
- data/assets/error_pages/HTTP400.html +1 -1
- data/assets/error_pages/HTTP401.html +1 -1
- data/assets/error_pages/HTTP403.html +1 -1
- data/assets/error_pages/HTTP404.html +1 -1
- data/assets/error_pages/HTTP444.html +1 -1
- data/assets/error_pages/HTTP445.html +1 -1
- data/assets/error_pages/HTTP446.html +1 -1
- data/assets/error_pages/HTTP447.html +1 -1
- data/assets/error_pages/HTTP448.html +1 -1
- data/assets/error_pages/HTTP500.html +1 -1
- data/assets/error_pages/HTTP501.html +1 -1
- data/assets/error_pages/HTTP502.html +1 -1
- data/assets/error_pages/HTTP503.html +1 -1
- data/assets/theme/j1/adapter/js/advertising.js +2 -2
- data/assets/theme/j1/adapter/js/algolia.js +2 -2
- data/assets/theme/j1/adapter/js/amplitude.30.js +1177 -0
- data/assets/theme/j1/adapter/js/amplitude.js +165 -132
- data/assets/theme/j1/adapter/js/analytics.js +2 -2
- data/assets/theme/j1/adapter/js/asciidoctor.js +2 -2
- data/assets/theme/j1/adapter/js/attic.js +2 -2
- data/assets/theme/j1/adapter/js/bmd.js +2 -2
- data/assets/theme/j1/adapter/js/carousel.js +2 -2
- data/assets/theme/j1/adapter/js/chatbot.js +2 -2
- data/assets/theme/j1/adapter/js/clipboard.js +2 -2
- data/assets/theme/j1/adapter/js/comments.js +2 -2
- data/assets/theme/j1/adapter/js/cookieConsent.js +2 -2
- data/assets/theme/j1/adapter/js/customFunctions.js +2 -2
- data/assets/theme/j1/adapter/js/customModule.js +2 -2
- data/assets/theme/j1/adapter/js/docsearch.js +2 -2
- data/assets/theme/j1/adapter/js/dropdowns.js +2 -2
- data/assets/theme/j1/adapter/js/fab.js +2 -2
- data/assets/theme/j1/adapter/js/gallery.js +2 -2
- data/assets/theme/j1/adapter/js/gemini.js +2 -2
- data/assets/theme/j1/adapter/js/iconPicker.js +2 -2
- data/assets/theme/j1/adapter/js/iconPickerPage.js +2 -2
- data/assets/theme/j1/adapter/js/iframer.js +2 -2
- data/assets/theme/j1/adapter/js/j1.js +5 -5
- data/assets/theme/j1/adapter/js/lazyLoader.js +2 -2
- data/assets/theme/j1/adapter/js/lightbox.js +2 -2
- data/assets/theme/j1/adapter/js/logger.js +2 -2
- data/assets/theme/j1/adapter/js/lunr.js +2 -2
- data/assets/theme/j1/adapter/js/masonry.js +2 -2
- data/assets/theme/j1/adapter/js/masterslider.js +4 -3
- data/assets/theme/j1/adapter/js/mmenu.js +2 -2
- data/assets/theme/j1/adapter/js/navigator.js +2 -2
- data/assets/theme/j1/adapter/js/particles.js +2 -2
- data/assets/theme/j1/adapter/js/rangeSlider.js +2 -2
- data/assets/theme/j1/adapter/js/rouge.js +2 -2
- data/assets/theme/j1/adapter/js/rtable.js +2 -2
- data/assets/theme/j1/adapter/js/rtextResizer.js +2 -2
- data/assets/theme/j1/adapter/js/scroller.js +2 -2
- data/assets/theme/j1/adapter/js/slick.js +2 -2
- data/assets/theme/j1/adapter/js/slimSelect.js +2 -2
- data/assets/theme/j1/adapter/js/speak2me.js +2 -2
- data/assets/theme/j1/adapter/js/swiper.js +503 -0
- data/assets/theme/j1/adapter/js/themeToggler.js +2 -2
- data/assets/theme/j1/adapter/js/themes.js +2 -2
- data/assets/theme/j1/adapter/js/toccer.js +2 -2
- data/assets/theme/j1/adapter/js/translator.js +2 -2
- data/assets/theme/j1/adapter/js/videojs.js +2 -2
- data/assets/theme/j1/adapter/js/waves.js +2 -2
- data/assets/theme/j1/core/country-flags/css/theme/uno.css +1 -1
- data/assets/theme/j1/core/country-flags/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.css +14 -4
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/amplitude.min.css +2 -2
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/compact.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.css +54 -7
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/large.min.css +3 -2
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/css/theme/uno/dark/player/mini.min.css +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/amplitude.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/amplitude.map +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/amplitude.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.js +1621 -90
- data/assets/theme/j1/modules/amplitudejs/js/tech/ytp.min.js +14 -0
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/bar.js +2 -2
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/bar.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/circular-equalizer.js +32 -2
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/circular-equalizer.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/frequency-analyzer.js +2 -2
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/frequency-analyzer.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/michael-bromley.js +2 -2
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/michael-bromley.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/template.js +2 -2
- data/assets/theme/j1/modules/amplitudejs/js/visualizations/template.min.js +1 -1
- data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/amplitude.scss +1 -1
- data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/compact.scss +1 -1
- data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/large.scss +1 -1
- data/assets/theme/j1/modules/amplitudejs/scss/theme/uno/dark/player/mini.scss +1 -1
- data/assets/theme/j1/modules/backstretch/js/backstretch.js +1 -1
- data/assets/theme/j1/modules/backstretch/js/backstretch.min.js +1 -1
- data/assets/theme/j1/modules/bmd/js/bmd.js +1 -1
- data/assets/theme/j1/modules/bmd/js/bmd.min.js +1 -1
- data/assets/theme/j1/modules/carousel/css/carousel.css +1 -1
- data/assets/theme/j1/modules/carousel/css/carousel.min.css +1 -1
- data/assets/theme/j1/modules/carousel/css/carousel_transitions.css +1 -1
- data/assets/theme/j1/modules/carousel/css/carousel_transitions.min.css +1 -1
- data/assets/theme/j1/modules/carousel/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/carousel/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/chatbot/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/chatbot/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/clipboard/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/clipboard/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.js +1 -1
- data/assets/theme/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
- data/assets/theme/j1/modules/dropdowns/css/theme/uno/dropdowns.css +1 -1
- data/assets/theme/j1/modules/dropdowns/css/theme/uno/dropdowns.min.css +1 -1
- data/assets/theme/j1/modules/dropdowns/js/cash.js +1 -1
- data/assets/theme/j1/modules/dropdowns/js/cash.min.js +1 -1
- data/assets/theme/j1/modules/dropdowns/js/dropdowns.js +1 -1
- data/assets/theme/j1/modules/dropdowns/js/dropdowns.min.js +1 -1
- data/assets/theme/j1/modules/fab/js/cash.js +1 -1
- data/assets/theme/j1/modules/fab/js/cash.min.js +1 -1
- data/assets/theme/j1/modules/fab/js/fab.js +1 -1
- data/assets/theme/j1/modules/fab/js/fab.min.js +1 -1
- data/assets/theme/j1/modules/gemini/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/gemini/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/gemini/js/gemini.js +1 -1
- data/assets/theme/j1/modules/gemini/js/gemini.min.js +1 -1
- data/assets/theme/j1/modules/iconPicker/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/iconPicker/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/iconPicker/css/universal-icon-picker.css +1 -1
- data/assets/theme/j1/modules/iconPicker/css/universal-icon-picker.min.css +1 -1
- data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.js +1 -1
- data/assets/theme/j1/modules/iconPicker/js/universal-icon-picker.min.js +1 -1
- data/assets/theme/j1/modules/j1LazyLoader/LICENSE +1 -1
- data/assets/theme/j1/modules/jquery/js/extensions/hasClass.js +1 -1
- data/assets/theme/j1/modules/jquery/js/extensions/hasClass.min.js +1 -1
- data/assets/theme/j1/modules/jquery/js/extensions/removeClass.js +1 -1
- data/assets/theme/j1/modules/jquery/js/extensions/removeClass.min.js +1 -1
- data/assets/theme/j1/modules/justifiedGallery/css/justifiedGallery.css +1 -1
- data/assets/theme/j1/modules/justifiedGallery/css/justifiedGallery.min.css +1 -1
- data/assets/theme/j1/modules/justifiedGallery/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/justifiedGallery/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/lazyCssLoader/js/main.0.js +1 -1
- data/assets/theme/j1/modules/lazyCssLoader/js/main.1.js +1 -1
- data/assets/theme/j1/modules/lazyCssLoader/js/main.js +1 -1
- data/assets/theme/j1/modules/lightGallery/css/lg-transitions.css +1 -1
- data/assets/theme/j1/modules/lightGallery/css/lg-transitions.min.css +1 -1
- data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.css +1 -1
- data/assets/theme/j1/modules/lightGallery/css/lightgallery-bundle.min.css +1 -1
- data/assets/theme/j1/modules/lightGallery/css/themes/uno/uno.css +1 -1
- data/assets/theme/j1/modules/lightGallery/css/themes/uno/uno.min.css +1 -1
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/lightgallery.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/j1-video.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/j1-video.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/j1/lg-video.1.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-autoplay.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-comment.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-fullscreen.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-hash.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-medium-zoom.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-pager.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-rotate.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-share.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-thumbnail.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-video.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-vimeo-thumbnail.min.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.js +1 -1
- data/assets/theme/j1/modules/lightGallery/js/plugins/lg-zoom.min.js +1 -1
- data/assets/theme/j1/modules/lightbox/css/lightbox.css +1 -1
- data/assets/theme/j1/modules/lightbox/css/lightbox.min.css +1 -1
- data/assets/theme/j1/modules/lightbox/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/lightbox/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/lightbox/js/lightbox.js +1 -1
- data/assets/theme/j1/modules/lightbox/js/lightbox.min.js +1 -1
- data/assets/theme/j1/modules/lunr/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/lunr/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/lunr/js/j1.js +1 -1
- data/assets/theme/j1/modules/lunr/js/j1.min.js +1 -1
- data/assets/theme/j1/modules/masterslider/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/masterslider/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/mmenuLight/css/mmenu-light.css +1 -1
- data/assets/theme/j1/modules/mmenuLight/css/mmenu-light.min.css +1 -1
- data/assets/theme/j1/modules/mmenuLight/css/theme/uno/mmenu.css +1 -1
- data/assets/theme/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
- data/assets/theme/j1/modules/mmenuLight/js/mmenu.js +1 -1
- data/assets/theme/j1/modules/mmenuLight/js/mmenu.min.js +1 -1
- data/assets/theme/j1/modules/msDropdown/css/flags.css +1 -1
- data/assets/theme/j1/modules/msDropdown/css/flags.min.css +1 -1
- data/assets/theme/j1/modules/msDropdown/css/msDropdown.css +1 -1
- data/assets/theme/j1/modules/msDropdown/css/msDropdown.min.css +1 -1
- data/assets/theme/j1/modules/msDropdown/css/themes/uno/msDropdown.css +1 -1
- data/assets/theme/j1/modules/msDropdown/css/themes/uno/msDropdown.min.css +1 -1
- data/assets/theme/j1/modules/msDropdown/js/msDropdown.js +1 -1
- data/assets/theme/j1/modules/msDropdown/js/msDropdown.min.js +1 -1
- data/assets/theme/j1/modules/photoswipe/LICENSE +21 -0
- data/assets/theme/j1/modules/photoswipe/README.md +32 -0
- data/assets/theme/j1/modules/photoswipe/_info/.version_5.4.4 +6 -0
- data/assets/theme/j1/modules/photoswipe/_info/example/photoswipe-caption-plugin.html +237 -0
- data/assets/theme/j1/modules/photoswipe/_info/example/test-gallery.html +36 -0
- data/assets/theme/j1/modules/photoswipe/css/photoswipe-caption-plugin.css +69 -0
- data/assets/theme/j1/modules/photoswipe/css/photoswipe-caption-plugin.min.css +16 -0
- data/assets/theme/j1/modules/photoswipe/css/photoswipe.css +376 -0
- data/assets/theme/j1/modules/photoswipe/css/photoswipe.min.css +17 -0
- data/assets/theme/j1/modules/photoswipe/js/_info/README.md +43 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-caption-plugin.js +428 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-caption-plugin.min.js +18 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-core.js +7102 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-core.min.js +18 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.1.js +1990 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.js +1981 -0
- data/assets/theme/j1/modules/photoswipe/js/photoswipe-lightbox.min.js +18 -0
- data/assets/theme/j1/modules/rangeSlider/css/theme/uno/nouislider.css +1 -1
- data/assets/theme/j1/modules/rangeSlider/css/theme/uno/nouislider.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.dark/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.dark/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.light/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.light/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.monokai/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.monokai/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.monokai.dark/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.monokai.dark/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.monokai.light/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.monokai.light/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.solarized/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.solarized/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.solarized.dark/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.solarized.dark/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.solarized.light/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/base16.solarized.light/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/colorful/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/colorful/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/github/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/github/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/gruvbox/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/gruvbox/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/gruvbox.dark/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/gruvbox.dark/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/gruvbox.light/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/gruvbox.light/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/igorpro/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/igorpro/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/molokai/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/molokai/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/monokai/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/monokai/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/monokai.sublime/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/monokai.sublime/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/pastie/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/pastie/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/thankful_eyes/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/thankful_eyes/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/themes.txt +1 -1
- data/assets/theme/j1/modules/rouge/css/tulip/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/tulip/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/uno.dark/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/uno.dark/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/css/uno.light/theme.css +1 -1
- data/assets/theme/j1/modules/rouge/css/uno.light/theme.min.css +1 -1
- data/assets/theme/j1/modules/rouge/js/select.js +1 -1
- data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.css +1 -1
- data/assets/theme/j1/modules/rtable/css/theme/uno/rtable.min.css +1 -1
- data/assets/theme/j1/modules/rtable/js/rtable.js +1 -1
- data/assets/theme/j1/modules/rtable/js/rtable.min.js +1 -1
- data/assets/theme/j1/modules/scroller/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/scroller/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/scroller/js/scroller.min.js +1 -1
- data/assets/theme/j1/modules/slick/lightbox/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/slick/lightbox/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/slick/slider/css/theme/uno.css +1 -1
- data/assets/theme/j1/modules/slick/slider/css/theme/uno.min.css +1 -1
- data/assets/theme/j1/modules/spinner/css/spin.css +1 -1
- data/assets/theme/j1/modules/spinner/css/spin.min.css +1 -1
- data/assets/theme/j1/modules/spinner/js/spin.js +1 -1
- data/assets/theme/j1/modules/spinner/js/spin.min.js +1 -1
- data/assets/theme/j1/modules/swiper/LICENSE +20 -0
- data/assets/theme/j1/modules/swiper/README.md +95 -0
- data/assets/theme/j1/modules/swiper/_info/.version_1.2.0 +15 -0
- data/assets/theme/j1/modules/swiper/_info/swiperjs.com-demos.url +2 -0
- data/assets/theme/j1/modules/swiper/css/modules/effectNeighbor.css +53 -0
- data/assets/theme/j1/modules/swiper/css/modules/effectNeighbor.min.css +17 -0
- data/assets/theme/j1/modules/swiper/css/modules/effectPanorama.css +26 -0
- data/assets/theme/j1/modules/swiper/css/modules/effectPanorama.min.css +17 -0
- data/assets/theme/j1/modules/swiper/css/modules/effectThumbs.css +44 -0
- data/assets/theme/j1/modules/swiper/css/modules/effectThumbs.min.css +44 -0
- data/assets/theme/j1/modules/swiper/css/swiper-bundle.css +746 -0
- data/assets/theme/j1/modules/swiper/css/swiper-bundle.min..css +23 -0
- data/assets/theme/j1/modules/swiper/css/theme/uno.css +229 -0
- data/assets/theme/j1/modules/swiper/css/theme/uno.min.css +144 -0
- data/assets/theme/j1/modules/swiper/js/modules/!readme +3 -0
- data/assets/theme/j1/modules/swiper/js/modules/effectNeighbor.js +33 -0
- data/assets/theme/j1/modules/swiper/js/modules/effectNeighbor.min.js +33 -0
- data/assets/theme/j1/modules/swiper/js/modules/effectPanorama.js +93 -0
- data/assets/theme/j1/modules/swiper/js/modules/effectPanorama.min.js +17 -0
- data/assets/theme/j1/modules/swiper/js/modules/effectThumbs.js +113 -0
- data/assets/theme/j1/modules/swiper/js/modules/effectThumbs.min.js +33 -0
- data/assets/theme/j1/modules/swiper/js/swiper-bundle.js +9791 -0
- data/assets/theme/j1/modules/swiper/js/swiper-bundle.min.js +23 -0
- data/assets/theme/j1/modules/themeSwitcher/js/switcher.js +1 -1
- data/assets/theme/j1/modules/themeSwitcher/js/switcher.min.js +1 -1
- data/assets/theme/j1/modules/translator/css/translator.css +1 -1
- data/assets/theme/j1/modules/translator/css/translator.min.css +1 -1
- data/assets/theme/j1/modules/translator/js/translator.js +1 -1
- data/assets/theme/j1/modules/translator/js/translator.min.js +1 -1
- data/assets/theme/j1/modules/videoPlayer/vimeo/js/player.min.js +1 -1
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.0.css +1 -1
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.1.css +1 -1
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.css +1 -1
- data/assets/theme/j1/modules/videojs/css/plugins/controls/skipbuttons.min.css +1 -1
- data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.css +1 -1
- data/assets/theme/j1/modules/videojs/css/plugins/controls/zoom.min.css +1 -1
- data/assets/theme/j1/modules/videojs/css/themes/uno.css +1 -1
- data/assets/theme/j1/modules/videojs/css/themes/uno.min.css +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/autocaption/autocaption.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/autocaption/autocaption.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/hotkeys/hotkeys.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/hotkeys/hotkeys.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/skipbuttons/skipbuttons.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/skipbuttons/skipbuttons.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/controls/zoom/zoom.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/api/dailymotion.sdk.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/api/dailymotion.sdk.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/dm/dailymotion.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/vm/api/vimeo.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/vm/api/vimeo.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/vm/vimeo.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/wt/wistia.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/api/youtube.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/v3.0.0/youtube.min.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.js +1 -1
- data/assets/theme/j1/modules/videojs/js/plugins/players/yt/youtube.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +2 -2
- data/lib/starter_web/_data/j1_config.yml +1 -1
- data/lib/starter_web/_data/modules/amplitude_players.yml +352 -0
- data/lib/starter_web/_data/modules/{amplitude.yml → amplitude_playlists.yml} +257 -239
- data/lib/starter_web/_data/modules/authentication.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/amplitude.yml +60 -35
- data/lib/starter_web/_data/modules/defaults/slick.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/swiper.yml +175 -0
- data/lib/starter_web/_data/modules/log4javascript.yml +1 -1
- data/lib/starter_web/_data/modules/navigator.yml +1 -1
- data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
- data/lib/starter_web/_data/modules/swiper.yml +655 -0
- data/lib/starter_web/_data/modules/swiper_playlists.yml +480 -0
- data/lib/starter_web/_data/private.yml +1 -1
- data/lib/starter_web/_data/resources.yml +272 -158
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/custom/static/bs5_accordion.html +1 -1
- data/lib/starter_web/_includes/custom/templates/bs5_accordion.html +1 -1
- data/lib/starter_web/_includes/custom/templates/collection_panel.html +1 -1
- data/lib/starter_web/_includes/custom/templates/custom_header.html +1 -1
- data/lib/starter_web/_includes/custom/templates/people_panel.html +1 -1
- data/lib/starter_web/_includes/google/static/google_ad__your-slot-id.html +1 -1
- data/lib/starter_web/_includes/google/templates/google_ads.html +1 -1
- data/lib/starter_web/_plugins/asciidoctor/admonition-block-answer.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/admonition-block-question.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/amplitude-block.rb +2 -1
- data/lib/starter_web/_plugins/asciidoctor/banner.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/callout.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/conum.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/dailymotion-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/fab-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/fas-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/flag-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/gemini-ui-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/iconify-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/iframe-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/lorem_inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/mdi-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/mdib-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/panel.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/placeholder-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/range-slider-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/shout-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/slim-select-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/swiper-block.rb +55 -0
- data/lib/starter_web/_plugins/asciidoctor/textbook-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/twitter-emoji-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/videojs-block.rb +1 -5
- data/lib/starter_web/_plugins/asciidoctor/vimeo-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/wistia-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/youtube-block.rb +1 -1
- data/lib/starter_web/_plugins/filter/debug.rb +1 -1
- data/lib/starter_web/_plugins/filter/encodeBase64.rb +1 -1
- data/lib/starter_web/_plugins/filter/encryptAES.rb +1 -1
- data/lib/starter_web/_plugins/filter/filters.rb +32 -1
- data/lib/starter_web/_plugins/filter/liquify.rb +1 -1
- data/lib/starter_web/_plugins/filter/minifyJS.rb +1 -1
- data/lib/starter_web/_plugins/filter/minifyJSON.rb +1 -1
- data/lib/starter_web/_plugins/filter/prettify.rb +1 -1
- data/lib/starter_web/_plugins/filter/xml_prettify.rb +1 -1
- data/lib/starter_web/_plugins/helper/symlink_watcher.rb +1 -1
- data/lib/starter_web/_plugins/i18n/date.rb +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +2 -2
- data/lib/starter_web/_plugins/seo/j1-feed.rb +1 -1
- data/lib/starter_web/_plugins/seo/j1-seo-tags.rb +1 -1
- data/lib/starter_web/_plugins/seo/j1-sitemap.rb +1 -1
- data/lib/starter_web/assets/image/icons/tv/Index of -tv-logos-.url +2 -0
- data/lib/starter_web/assets/image/icons/tv/TV from Germany - LyngSat Logo.url +2 -0
- data/lib/starter_web/assets/image/icons/tv/Zeichnung.svg +47 -0
- data/lib/starter_web/assets/image/icons/tv/ard-icon-16x16.ico +0 -0
- data/lib/starter_web/assets/image/icons/tv/ard-icon-24x24.png +0 -0
- data/lib/starter_web/assets/image/icons/tv/ard-icon-512x512.png +0 -0
- data/lib/starter_web/assets/image/icons/tv/ard-icon.jpg +0 -0
- data/lib/starter_web/assets/image/icons/tv/ard-icon.jpg (353/303/227353).url" +2 -0
- data/lib/starter_web/assets/image/icons/tv/ard-icon.png +0 -0
- data/lib/starter_web/assets/image/icons/tv/ard-logo-png_seeklogo-428343.png +0 -0
- data/lib/starter_web/assets/image/icons/tv/cytec-tvlogos- collection of mostly german tv channel logos.url +2 -0
- data/lib/starter_web/assets/image/icons/tv/output_image.jpg +0 -0
- data/lib/starter_web/assets/image/icons/tv/pang.ping +0 -0
- data/lib/starter_web/assets/image/icons/tv/tv-logos-countries-germany-0_all_logos_mosaic.md at main /302/267 tv-logo-tv-logos.url" +2 -0
- data/lib/starter_web/assets/image/modules/attics/1920x1280/tiny_desk.jpg +0 -0
- data/lib/starter_web/assets/image/modules/attics/alice-donovan-rouse-2.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-1.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-2.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-3.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-4.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-5.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/free_animals/free-animals-6.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/295683517.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/chicago-us.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_b.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-1_c.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/denys-nevozhai-3_b.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/emmad-mazhari_c.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_b.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/federico-rizzarelli_c.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/jakarta_indonesia.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/jakarta_indonesia_2.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/melbourne_australia.webp +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/queen_bees_at_eureka_tower.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/shanghai_china.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/thomas-tucker_b.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/tokyo_japan.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/guardians-of-the-galaxy.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/justice-league.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/spider-man.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/suicide-squad.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/neighbor_slider/thor-ragnarok.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/1.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/10.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/11.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/12.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/2.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/3.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/4.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/5.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/6.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/7.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/8.jpg +0 -0
- data/lib/starter_web/assets/image/modules/gallery/panorama/9.jpg +0 -0
- data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/der_unverzichtbare_feind.jpg +0 -0
- data/lib/starter_web/assets/video/poster/youtube/faelle_des_bnd/ein_diener_vieler_herren.jpg +0 -0
- data/lib/starter_web/assets/video/poster/youtube/the_piano/the-piano.jpg +0 -0
- data/lib/starter_web/config.ru +1 -1
- data/lib/starter_web/dot.gitattributes +1 -1
- data/lib/starter_web/dot.nojekyll +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/{manuals/integrations/google/gemini/_includes → _includes}/attributes.asciidoc +5 -7
- data/lib/starter_web/pages/public/_includes/documents/photoswipe/200_photoswipe_parameters.asciidoc +529 -0
- data/lib/starter_web/pages/public/_includes/documents/photoswipe/210_photoswipe_lightbox_parameters.asciidoc +105 -0
- data/lib/starter_web/pages/public/_includes/documents/photoswipe/300_caption_plugin_for_photoSwipe.asciidoc +324 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/100_swiper_features.asciidoc +50 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/100_swiper_html_layout.asciidoc +122 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/100_swiper_initialization.asciidoc +53 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/110_swiper_common_options.asciidoc +118 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_a_k.asciidoc +1094 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_l_o.asciidoc +537 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_p_s.asciidoc +757 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/200_swiper_parameters_t_z.asciidoc +451 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/300_swiper_instance_properties.asciidoc +873 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/400_swiper_modules.asciidoc +3445 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/500_swiper_methods.asciidoc +989 -0
- data/lib/starter_web/pages/public/_includes/documents/swiper/600_swiper_events.asciidoc +1534 -0
- data/lib/starter_web/pages/public/{amplitude_yt_tester.adoc → tools/tester/amplitude_yt_tester.adoc} +81 -67
- data/lib/starter_web/pages/public/tools/tester/swiper_tester.adoc +796 -0
- data/lib/starter_web/pages/public/tour/modal_extentions.adoc +12 -5
- data/lib/starter_web/pages/public/tour/play_audio.adoc +60 -5
- data/lib/starter_web/pages/public/tour/play_video.adoc +30 -0
- data/lib/starter_web/pages/public/tour/present_images.adoc +24 -22
- metadata +128 -20
- data/assets/theme/j1/modules/amplitudejs/js/tech/youtube_example.js +0 -211
- data/lib/starter_web/assets/image/modules/gallery/mega_cities/thomas-tucker-bw.jpg +0 -0
- data/lib/starter_web/pages/public/lazy_loader_tester.adoc +0 -402
- data/lib/starter_web/pages/public/manuals/integrations/amplitudejs/_includes/attributes.asciidoc +0 -69
- data/lib/starter_web/pages/public/manuals/integrations/amplitudejs/_includes/documents/readme +0 -0
- data/lib/starter_web/pages/public/manuals/integrations/amplitudejs/amplitudejs-api.adoc +0 -2260
- data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/documents/preview_google_adsense.asciidoc +0 -448
- data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/documents/readme +0 -0
- data/lib/starter_web/pages/public/manuals/integrations/google/gemini/_includes/tables/readme +0 -0
- data/lib/starter_web/pages/public/manuals/integrations/google/gemini/gemini.adoc +0 -525
- data/lib/starter_web/pages/public/manuals/integrations/google/gemini/security.asccidoc +0 -274
- data/lib/starter_web/pages/public/manuals/integrations/google/gemini/security.hrml +0 -560
- data/lib/starter_web/pages/public/manuals/integrations/videojs/youtube-api.adoc +0 -1638
- data/lib/starter_web/pages/public/manuals/ytdl/man.adoc +0 -3020
- data/lib/starter_web/pages/public/manuals/ytdl/man.md +0 -2378
@@ -1,525 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Google Gemini API
|
3
|
-
title_extention: Integration for J1 Template
|
4
|
-
tagline: User Guide
|
5
|
-
|
6
|
-
date: 2022-08-14
|
7
|
-
|
8
|
-
description: >
|
9
|
-
Google Gemini refers to a family of large language models (LLMs)
|
10
|
-
developed by Google DeepMind. It was announced on December 6, 2023,
|
11
|
-
and is seen as the successor to "LaMDA" and "PaLM 2".
|
12
|
-
keywords: >
|
13
|
-
Jekyll, Theme, JekyllOne, Info, Google,
|
14
|
-
Gemini, Manual
|
15
|
-
|
16
|
-
categories: [ Manual, Module ]
|
17
|
-
tags: [ Google, Gemini ]
|
18
|
-
|
19
|
-
image:
|
20
|
-
path: /assets/image/modules/attics/1920x1280/build-with-gemini.jpg
|
21
|
-
width: 1920
|
22
|
-
height: 1280
|
23
|
-
|
24
|
-
tts: true
|
25
|
-
comments: false
|
26
|
-
exclude_from_search: false
|
27
|
-
regenerate: false
|
28
|
-
permalink: /pages/public/manuals/integrations/google/gemini/
|
29
|
-
|
30
|
-
resources: [
|
31
|
-
animate,
|
32
|
-
clipboard, rouge
|
33
|
-
]
|
34
|
-
resource_options:
|
35
|
-
- attic:
|
36
|
-
slides:
|
37
|
-
- url: /assets/image/modules/attics/1920x1280/build-with-gemini.jpg
|
38
|
-
alt: Build with Gemini
|
39
|
-
# badge:
|
40
|
-
# type: unsplash
|
41
|
-
# author: Eleni Afiontzi
|
42
|
-
# href: //unsplash.com/de/@eleniafiontzi
|
43
|
-
---
|
44
|
-
|
45
|
-
// Page Initializer
|
46
|
-
// =============================================================================
|
47
|
-
// Enable the Liquid Preprocessor
|
48
|
-
:page-liquid:
|
49
|
-
|
50
|
-
// Set (local) page attributes here
|
51
|
-
// -----------------------------------------------------------------------------
|
52
|
-
// :page--attr: <attr-value>
|
53
|
-
:images-dir: {imagesdir}/pages/roundtrip/100_present_images
|
54
|
-
|
55
|
-
// Load Liquid procedures
|
56
|
-
// -----------------------------------------------------------------------------
|
57
|
-
{% capture load_attributes %}themes/{{site.template.name}}/procedures/global/attributes_loader.proc{%endcapture%}
|
58
|
-
|
59
|
-
// Load page attributes
|
60
|
-
// -----------------------------------------------------------------------------
|
61
|
-
{% include {{load_attributes}} scope="all" %}
|
62
|
-
|
63
|
-
|
64
|
-
// Page content
|
65
|
-
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
66
|
-
|
67
|
-
// Include sub-documents (if any)
|
68
|
-
// -----------------------------------------------------------------------------
|
69
|
-
[role="dropcap"]
|
70
|
-
Google Gemini refers to a family of large language models (LLMs) developed by
|
71
|
-
Google DeepMind. It was announced on December 6, 2023, and is seen as the
|
72
|
-
successor to LaMDA and PaLM 2.
|
73
|
-
|
74
|
-
The Gemini family consists of three models:
|
75
|
-
|
76
|
-
Gemini Ultra::
|
77
|
-
The largest and most capable model. It excels at multimodal tasks, which
|
78
|
-
involve understanding and generating text, code, and other forms of data.
|
79
|
-
|
80
|
-
Gemini Pro::
|
81
|
-
A smaller model, designed for a balance of performance and efficiency. It
|
82
|
-
is well-suited for tasks such as question answering, summarization, and
|
83
|
-
translation.
|
84
|
-
|
85
|
-
Gemini Nano::
|
86
|
-
The smallest model, optimized for mobile and edge devices. It can still
|
87
|
-
perform basic language tasks such as text generation and translation.
|
88
|
-
|
89
|
-
|
90
|
-
Gemini is still under development, but it has already achieved impressive
|
91
|
-
results on a range of benchmarks. For example, Gemini Ultra achieved a
|
92
|
-
state-of-the-art score of 59.4% on the new MMMU benchmark, which consists
|
93
|
-
of multimodal tasks spanning different domains requiring deliberate reasoning.
|
94
|
-
|
95
|
-
Google is making Gemini models available through Google AI Studio and
|
96
|
-
Google Cloud Vertex AI, so developers can integrate them into their own
|
97
|
-
applications. The company is also releasing a limited number of Gemini 1.5
|
98
|
-
Pro models for early testing.
|
99
|
-
|
100
|
-
[role="mt-5"]
|
101
|
-
== Gemini Pro
|
102
|
-
|
103
|
-
The first version of Gemini Pro is now accessible via the Gemini API and
|
104
|
-
here’s more about it:
|
105
|
-
|
106
|
-
* Gemini Pro outperforms other similarly-sized models on research
|
107
|
-
benchmarks.
|
108
|
-
* Today’s version comes with a 32K context window for text, and future
|
109
|
-
versions will have a larger context window.
|
110
|
-
* It’s free to use right now, within limits, and it will be competitively
|
111
|
-
priced.
|
112
|
-
* It comes with a range of features: function calling, embeddings, semantic
|
113
|
-
retrieval and custom knowledge grounding, and chat functionality.
|
114
|
-
* It supports 38 languages across 180+ countries and territories worldwide.
|
115
|
-
|
116
|
-
In today’s release, Gemini Pro accepts text as input and generates text as##
|
117
|
-
output. It is also made a dedicated Gemini Pro Vision multimodal endpoint
|
118
|
-
available today that accepts text and imagery as input, with text output.
|
119
|
-
|
120
|
-
SDKs are available for Gemini Pro to help you build apps that run anywhere.
|
121
|
-
Python, Android (Kotlin), Node.js, Swift and JavaScript are all supported.
|
122
|
-
|
123
|
-
|
124
|
-
[role="mt-5"]
|
125
|
-
== Google AI Studio
|
126
|
-
// https://ai.google.dev/docs
|
127
|
-
|
128
|
-
link://ai.google.dev/[Google AI Studio, {browser-window--new}] is a free,
|
129
|
-
web-based developer tool that enables you to quickly develop prompts and
|
130
|
-
then get an API key to use in your app development.
|
131
|
-
|
132
|
-
You can sign into Google AI Studio with your Google account and take
|
133
|
-
advantage of the free quota, which allows 60 requests per minute; 20x
|
134
|
-
more than other free offerings. When you’re ready, you can simply click
|
135
|
-
on “Get code” to transfer your work to your IDE of choice, or use one of
|
136
|
-
the quickstart templates available in Android Studio, Colab or Project IDX.
|
137
|
-
|
138
|
-
To help us improve product quality, when you use the free quota, your API
|
139
|
-
and Google AI Studio input and output may be accessible to trained reviewers.
|
140
|
-
This data is de-identified from your Google account and API key.
|
141
|
-
|
142
|
-
|
143
|
-
[role="mt-5"]
|
144
|
-
== Safety settings
|
145
|
-
|
146
|
-
This guide describes the adjustable safety settings available for the
|
147
|
-
Gemini API. During the prototyping stage, you can adjust safety settings
|
148
|
-
on 4 dimensions to quickly assess if your application requires more or
|
149
|
-
less restrictive configuration.
|
150
|
-
|
151
|
-
By default, safety settings block
|
152
|
-
content (including prompts) with medium or higher probability of being
|
153
|
-
unsafe across any dimension. This baseline safety is designed to work
|
154
|
-
for most use cases, so you should only adjust your safety settings if
|
155
|
-
it's consistently required for your application.
|
156
|
-
|
157
|
-
[NOTE]
|
158
|
-
====
|
159
|
-
Adjusting to lower safety settings will trigger a more indepth
|
160
|
-
review process of your application.
|
161
|
-
====
|
162
|
-
|
163
|
-
[role="mt-4"]
|
164
|
-
=== Safety filters
|
165
|
-
|
166
|
-
In addition to the adjustable safety filters, the Gemini API has
|
167
|
-
built-in protections against core harms, such as content that endangers
|
168
|
-
child safety. These types of harm are always blocked and cannot be
|
169
|
-
adjusted.
|
170
|
-
|
171
|
-
The adjustable safety filters cover the following categories:
|
172
|
-
|
173
|
-
* Harassment
|
174
|
-
* Hate speech
|
175
|
-
* Sexually explicit
|
176
|
-
* Dangerous
|
177
|
-
|
178
|
-
These settings allow the developer to determine what is appropriate for
|
179
|
-
your use case. For example, if you're building a video game dialogue,
|
180
|
-
you may deem it acceptable to allow more content rated as dangerous due
|
181
|
-
to the nature of the game. Here are a few other example use cases that
|
182
|
-
may need some flexibility in these safety settings:
|
183
|
-
|
184
|
-
[cols="4a, 8a", options="header", width="100%", role="rtable mt-3 mb-5"]
|
185
|
-
|===
|
186
|
-
|Use Case |Category
|
187
|
-
|
188
|
-
|Anti-Harassment Training App
|
189
|
-
|Hate speech, Sexually explicit
|
190
|
-
|
191
|
-
|Screenplay Writer
|
192
|
-
|Sexually explicit, Dangerous
|
193
|
-
|
194
|
-
|Toxicity classifier
|
195
|
-
|Harassment, Dangerous
|
196
|
-
|
197
|
-
|===
|
198
|
-
|
199
|
-
[role="mt-4"]
|
200
|
-
==== Probability versus severity
|
201
|
-
|
202
|
-
The Gemini API blocks content based on the *probability* of content
|
203
|
-
being unsafe and *not* the severity. This is important to consider
|
204
|
-
because some content can have low probability of being unsafe even
|
205
|
-
though the severity of harm could still be high. For example, comparing
|
206
|
-
the sentences:
|
207
|
-
|
208
|
-
. The robot punched me.
|
209
|
-
. The robot slashed me up.
|
210
|
-
|
211
|
-
Sentence 1 might result in a higher probability of being unsafe but you
|
212
|
-
might consider sentence 2 to be a higher severity in terms of violence.
|
213
|
-
|
214
|
-
Given this, it is important for each developer to carefully test and
|
215
|
-
consider what the appropriate level of blocking is needed to support
|
216
|
-
their key use cases while minimizing harm to end users.
|
217
|
-
|
218
|
-
[role="mt-4"]
|
219
|
-
==== Safety Settings
|
220
|
-
|
221
|
-
Safety settings are part of the request you send to the text service. It
|
222
|
-
can be adjusted for each request you make to the API. The following
|
223
|
-
table lists the categories that you can set and describes the type of
|
224
|
-
harm that each category encompasses.
|
225
|
-
|
226
|
-
[cols="4a, 8a", options="header", width="100%", role="rtable mt-3 mb-5"]
|
227
|
-
|===
|
228
|
-
|Categories |Descriptions
|
229
|
-
|
230
|
-
|Harassment
|
231
|
-
|Negative or harmful comments targeting identity and/or
|
232
|
-
protected attributes.
|
233
|
-
|
234
|
-
|Hate speech
|
235
|
-
|Content that is rude, disrespectful, or profane.
|
236
|
-
|
237
|
-
|Sexually explicit
|
238
|
-
|Contains references to sexual acts or other lewd
|
239
|
-
content.
|
240
|
-
|
241
|
-
|Dangerous
|
242
|
-
|Promotes, facilitates, or encourages harmful acts.
|
243
|
-
|
244
|
-
|===
|
245
|
-
|
246
|
-
These definitions are in the
|
247
|
-
link://ai.google.dev/api/rest/v1/HarmCategory[API reference, {browser-window--new}]
|
248
|
-
as well. The Gemini models only support `HARM_CATEGORY_HARASSMENT`,
|
249
|
-
`HARM_CATEGORY_HATE_SPEECH`, `HARM_CATEGORY_SEXUALLY_EXPLICIT`, and
|
250
|
-
`HARM_CATEGORY_DANGEROUS_CONTENT`.
|
251
|
-
|
252
|
-
The following table describes the block settings you can adjust for each
|
253
|
-
category. For example, if you set the block setting to *Block few* for
|
254
|
-
the *Hate speech* category, everything that has a high probability of
|
255
|
-
being hate speech content is blocked. But anything with a lower
|
256
|
-
probability is allowed.
|
257
|
-
|
258
|
-
If not set, the default block setting is *Block some* for all
|
259
|
-
categories.
|
260
|
-
|
261
|
-
[cols="4a, 8a", options="header", width="100%", role="rtable mt-3 mb-5"]
|
262
|
-
|===
|
263
|
-
|Threshold (API) |Description
|
264
|
-
|
265
|
-
|BLOCK_NONE
|
266
|
-
|Always show regardless of probability of unsafe content
|
267
|
-
|
268
|
-
|BLOCK_ONLY_HIGH
|
269
|
-
|Block when high probability of unsafe content
|
270
|
-
|
271
|
-
|BLOCK_MEDIUM_AND_ABOVE
|
272
|
-
|Block when medium or high probability of unsafe content
|
273
|
-
|
274
|
-
|BLOCK_LOW_AND_ABOVE
|
275
|
-
|Block when low, medium or high
|
276
|
-
probability of unsafe content
|
277
|
-
|
278
|
-
|HARM_BLOCK_THRESHOLD_UNSPECIFIED
|
279
|
-
|Threshold is unspecified, block using default threshold
|
280
|
-
|
281
|
-
|===
|
282
|
-
|
283
|
-
You can set these settings for each request you make to the text
|
284
|
-
service. See the
|
285
|
-
link://ai.google.dev/api/rest/v1/SafetySetting#harmblockthreshold[HarmBlockThreshold, {browser-window--new}]
|
286
|
-
API reference for details.
|
287
|
-
|
288
|
-
[role="mt-4"]
|
289
|
-
==== Safety feedback
|
290
|
-
|
291
|
-
link://ai.google.dev/api/rest/v1/models/generateContent[generateContent, {browser-window--new}]
|
292
|
-
returns a
|
293
|
-
link //ai.google.dev/api/rest/v1/GenerateContentResponse[GenerateContentResponse, {browser-window--new}]
|
294
|
-
which includes safety feedback.
|
295
|
-
|
296
|
-
Prompt feedback is included in
|
297
|
-
link://ai.google.dev/api/rest/v1/GenerateContentResponse#PromptFeedback[promptFeedback, {browser-window--new}].
|
298
|
-
If
|
299
|
-
link://ai.google.dev/api/rest/v1/GenerateContentResponse#blockreason[promptFeedback.blockReason, {browser-window--new}]
|
300
|
-
is set, then the content of the prompt was blocked.
|
301
|
-
|
302
|
-
Response candidate feedback is included in
|
303
|
-
link://ai.google.dev/api/rest/v1/GenerateContentResponse#FinishReason[finishReason, {browser-window--new}]
|
304
|
-
and
|
305
|
-
link://ai.google.dev/api/rest/v1/GenerateContentResponse#safetyrating[safetyRatings, {browser-window--new}].
|
306
|
-
|
307
|
-
If response content was blocked and the `finishReason` was `SAFETY`, you
|
308
|
-
can inspect `safetyRatings` for more details. The safety rating includes
|
309
|
-
the category and the probability of the harm classification. The content
|
310
|
-
that was blocked is not returned.
|
311
|
-
|
312
|
-
The probability returned correspond to the block confidence levels as
|
313
|
-
shown in the following table:
|
314
|
-
|
315
|
-
[cols="4a, 8a", options="header", width="100%", role="rtable mt-3 mb-5"]
|
316
|
-
|===
|
317
|
-
|Probability |Description
|
318
|
-
|
319
|
-
|NEGLIGIBLE
|
320
|
-
|Content has a negligible probability of being unsafe
|
321
|
-
|
322
|
-
|LOW
|
323
|
-
|Content has a low probability of being unsafe
|
324
|
-
|
325
|
-
|MEDIUM
|
326
|
-
|Content has a medium probability of being unsafe
|
327
|
-
|
328
|
-
|HIGH
|
329
|
-
|Content has a high probability of being unsafe
|
330
|
-
|
331
|
-
|===
|
332
|
-
|
333
|
-
For example, if the content was blocked due to the harassment category
|
334
|
-
having a high probability, the safety rating returned would have
|
335
|
-
category equal to `HARASSMENT` and harm probability set to `HIGH`.
|
336
|
-
|
337
|
-
[role="mt-4"]
|
338
|
-
=== Safety settings in Google AI Studio
|
339
|
-
|
340
|
-
You can also adjust safety settings in Google AI Studio, but you cannot
|
341
|
-
turn them off. To do so, in the *Run settings*, click *Edit safety
|
342
|
-
settings*:
|
343
|
-
|
344
|
-
And use the knobs to adjust each setting:
|
345
|
-
|
346
|
-
|
347
|
-
A [.material-icons]#warning# *No Content* message appears if the content
|
348
|
-
is blocked. To see more details, hold the pointer over *No Content* and
|
349
|
-
click [.material-icons]#warning# *Safety*.
|
350
|
-
|
351
|
-
[role="mt-4"]
|
352
|
-
=== Code examples
|
353
|
-
|
354
|
-
This section shows how to use the safety settings in code using the
|
355
|
-
python client library.
|
356
|
-
|
357
|
-
[role="mt-4"]
|
358
|
-
==== Request example
|
359
|
-
|
360
|
-
The following is a python code snippet showing how to set safety
|
361
|
-
settings in your `GenerateContent` call. This sets the harm categories
|
362
|
-
`Harassment` and `Hate speech` to `BLOCK_LOW_AND_ABOVE` which blocks any
|
363
|
-
content that has a low or higher probability of being harassment or hate
|
364
|
-
speech.
|
365
|
-
|
366
|
-
[source, js]
|
367
|
-
----
|
368
|
-
import { GoogleGenerativeAI } from "//esm.run/@google/generative-ai";
|
369
|
-
|
370
|
-
import { HarmCategory, HarmBlockThreshold } from "//esm.run/@google/generative-ai";
|
371
|
-
const safetySettings = [
|
372
|
-
{
|
373
|
-
category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
|
374
|
-
threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE
|
375
|
-
},
|
376
|
-
{
|
377
|
-
category: HarmCategory.HARM_CATEGORY_HARASSMENT,
|
378
|
-
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
379
|
-
},
|
380
|
-
{
|
381
|
-
category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
|
382
|
-
threshold: HarmBlockThreshold.BLOCK_ONLY_HIGH
|
383
|
-
},
|
384
|
-
{
|
385
|
-
category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
|
386
|
-
threshold: HarmBlockThreshold.BLOCK_NONE
|
387
|
-
}
|
388
|
-
];
|
389
|
-
|
390
|
-
const model = genAI.getGenerativeModel({
|
391
|
-
model: "gemini-pro",
|
392
|
-
safetySettings
|
393
|
-
});
|
394
|
-
|
395
|
-
----
|
396
|
-
|
397
|
-
[role="mt-4"]
|
398
|
-
==== Response example
|
399
|
-
|
400
|
-
The following shows a code snippet for parsing the safety feedback from
|
401
|
-
the response.
|
402
|
-
|
403
|
-
[source, python]
|
404
|
-
----
|
405
|
-
try:
|
406
|
-
print(response.text)
|
407
|
-
except ValueError:
|
408
|
-
# If the response doesn't contain text, check if the prompt was blocked.
|
409
|
-
print(response.prompt_feedback)
|
410
|
-
# Also check the finish reason to see if the response was blocked.
|
411
|
-
print(response.candidates[0].finish_reason)
|
412
|
-
# If the finish reason was SAFETY, the safety ratings have more details.
|
413
|
-
print(response.candidates[0].safety_ratings)
|
414
|
-
----
|
415
|
-
|
416
|
-
[role="mt-4"]
|
417
|
-
=== Next steps
|
418
|
-
|
419
|
-
* See the link://ai.google.dev/api/[API reference, {browser-window--new}]
|
420
|
-
to learn more about the full API.
|
421
|
-
* Review the link://ai.google.dev/docs/safety_setting_gemini[safety guidance, {browser-window--new}]
|
422
|
-
for a general look at safety considerations when developing with LLMs.
|
423
|
-
* Learn more about assessing probability versus severity from the
|
424
|
-
link://developers.perspectiveapi.com/s/about-the-api-score[Jigsaw team, {browser-window--new}]
|
425
|
-
* Learn more about the products that contribute to safety solutions
|
426
|
-
like the
|
427
|
-
link://medium.com/jigsaw/reducing-toxicity-in-large-language-models-with-perspective-api-c31c39b7a4d7[Perspective API, {browser-window--new}].
|
428
|
-
* You can use these safety settings to create a toxicity classifier.
|
429
|
-
See the
|
430
|
-
link://ai.google.dev/examples/train_text_classifier_embeddings[classification example, {browser-window--new}]
|
431
|
-
to get started.
|
432
|
-
|
433
|
-
[role="mt-5"]
|
434
|
-
== Train a Google Gemini bot using the API interface
|
435
|
-
|
436
|
-
. Set Up a Google Cloud Project
|
437
|
-
|
438
|
-
* Create a Google Cloud project if you don't already have one.
|
439
|
-
* Enable the Dialogflow API and the Gemini API.
|
440
|
-
* Create a service account with the "Dialogflow API Admin" and "Gemini API Admin" roles.
|
441
|
-
* Generate a private key for the service account.
|
442
|
-
|
443
|
-
[start=2]
|
444
|
-
. Create a Gemini Agent
|
445
|
-
|
446
|
-
* Go to the Gemini console and click "Create Agent".
|
447
|
-
* Enter a name and description for your agent.
|
448
|
-
* Select the language for your agent.
|
449
|
-
* Click "Create".
|
450
|
-
* Link Your Dialogflow Agent to Your Gemini Agent
|
451
|
-
|
452
|
-
[start=3]
|
453
|
-
. Go to the Dialogflow console and open your agent.
|
454
|
-
|
455
|
-
* Click the "Integrations" tab.
|
456
|
-
* Click "Add Integration".
|
457
|
-
* Select "Gemini" from the list of integrations.
|
458
|
-
* Enter the Gemini API endpoint and your service account's private key.
|
459
|
-
* Click "Link".
|
460
|
-
|
461
|
-
[start=4]
|
462
|
-
. Train Your Gemini Bot
|
463
|
-
|
464
|
-
* Open the Gemini console and go to the "Training" tab.
|
465
|
-
* Click "Create Training Run".
|
466
|
-
* Select your agent from the dropdown list.
|
467
|
-
* Enter a name for the training run.
|
468
|
-
* Select the training data to use.
|
469
|
-
* Click "Start Training".
|
470
|
-
|
471
|
-
[start=5]
|
472
|
-
. Test the Agent
|
473
|
-
|
474
|
-
* Click "Test" in the top right corner of the Dialogflow Console.
|
475
|
-
* Type in a message and press "Enter."
|
476
|
-
* The agent will generate a response based on the training data.
|
477
|
-
|
478
|
-
[start=6]
|
479
|
-
. Deploy the Agent to Gemini
|
480
|
-
|
481
|
-
* Click the "Deploy" button in the top right corner of the Dialogflow Console.
|
482
|
-
* Select "Gemini" as the deployment target.
|
483
|
-
* Click "Deploy."
|
484
|
-
|
485
|
-
[role="mt-4"]
|
486
|
-
=== Monitor the Training Process
|
487
|
-
|
488
|
-
The training process will take some time. You can monitor the progress in the Gemini console.
|
489
|
-
Once the training is complete, you will receive an email notification.
|
490
|
-
Deploy Your Gemini Bot
|
491
|
-
|
492
|
-
Once the training is complete, you can deploy your bot to your website or mobile app.
|
493
|
-
To do this, you will need to generate a deployment token from the Gemini console.
|
494
|
-
Follow the instructions in the Gemini documentation to deploy your bot.
|
495
|
-
Test Your Bot
|
496
|
-
|
497
|
-
[role="mt-4"]
|
498
|
-
=== Test the bot
|
499
|
-
|
500
|
-
Once your bot is deployed, you can test it by sending it messages.
|
501
|
-
You can use the Gemini console or the Gemini API to send messages to your bot.
|
502
|
-
Evaluate the bot's responses to ensure that it is functioning as expected.
|
503
|
-
Maintain and Update Your Bot
|
504
|
-
|
505
|
-
Over time, you may need to maintain and update your bot.
|
506
|
-
This may involve retraining the bot with new data or fixing bugs.
|
507
|
-
You can use the Gemini console or the Gemini API to manage your bot.
|
508
|
-
By following these steps, you can train, deploy, and maintain a Google Gemini bot using the API interface.
|
509
|
-
|
510
|
-
[role="mt-5"]
|
511
|
-
== What's next
|
512
|
-
|
513
|
-
Prompt design is the process of creating prompts that elicit the desired
|
514
|
-
response from language models. Writing well structured prompts is an essential
|
515
|
-
part of ensuring accurate, high quality responses from a language model.
|
516
|
-
Learn about link://ai.google.dev/docs/prompt_best_practices[best practices for prompt writing, {browser-window--new}].
|
517
|
-
|
518
|
-
Gemini offers several model variations to meet the needs of different use
|
519
|
-
cases, such as input types and complexity, implementations for chat or other
|
520
|
-
dialog language tasks, and size constraints. Learn about the
|
521
|
-
link://ai.google.dev/models/gemini[available Gemini models, {browser-window--new}].
|
522
|
-
|
523
|
-
Gemini offers options for
|
524
|
-
link://ai.google.dev/docs/increase_quota[requesting rate limit increases, {browser-window--new}].
|
525
|
-
The rate limit for Gemini Pro models is 60 requests per minute (RPM).
|