diff --git a/Gemfile b/Gemfile
index 2d8043c72ce7..d0fab0e5a7d1 100644
--- a/Gemfile
+++ b/Gemfile
@@ -40,4 +40,5 @@ group :al_folio_plugins do
gem 'al_analytics', :git => 'https://github.com/al-org-dev/al-analytics.git'
gem 'al_citations', :git => 'https://github.com/al-org-dev/al-citations.git'
gem 'al_ext_posts', :git => 'https://github.com/al-org-dev/al-ext-posts.git'
+ gem 'al_img_tools', :git => 'https://github.com/al-org-dev/al-img-tools.git'
end
diff --git a/Gemfile.lock b/Gemfile.lock
index 1faa4e09204c..8d2bb9ede782 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -33,6 +33,14 @@ GIT
jekyll (>= 3.0)
nokogiri
+GIT
+ remote: https://github.com/al-org-dev/al-img-tools.git
+ revision: fad6f5b46c8b30c05ce8f6badb0f28d4b6294973
+ specs:
+ al_img_tools (0.1.0)
+ jekyll (>= 3.0)
+ liquid (>= 4.0)
+
GEM
remote: https://rubygems.org/
specs:
@@ -299,6 +307,7 @@ DEPENDENCIES
al_analytics!
al_citations!
al_ext_posts!
+ al_img_tools!
classifier-reborn
css_parser
jekyll
diff --git a/_config.yml b/_config.yml
index 363a439ceb7a..f19aea3271ac 100644
--- a/_config.yml
+++ b/_config.yml
@@ -232,6 +232,7 @@ plugins:
- al_analytics
- al_citations
- al_ext_posts
+ - al_img_tools
# Sitemap settings
defaults:
@@ -470,18 +471,8 @@ third_party_libraries:
integrity:
js: "sha256-htrLFfZJ6v5udOG+3kNLINIKh2gvoKqwEhHYfTTMICc="
url:
- js: https://cdn.jsdelivr.net/npm/imagesloaded@{{version}}/imagesloaded.pkgd.min.js
+ js: "https://cdn.jsdelivr.net/npm/imagesloaded@{{version}}/imagesloaded.pkgd.min.js"
version: "5.0.0"
- img-comparison-slider:
- integrity:
- css: "sha256-3qTIuuUWIFnnU3LpQMjqiXc0p09rvd0dmj+WkpQXSR8="
- js: "sha256-EXHg3x1K4oIWdyohPeKX2ZS++Wxt/FRPH7Nl01nat1o="
- map: "sha256-3wfqS2WU5kGA/ePcgFzJXl5oSN1QsgZI4/edprTgX8w="
- url:
- css: "https://cdn.jsdelivr.net/npm/img-comparison-slider@{{version}}/dist/styles.min.css"
- js: "https://cdn.jsdelivr.net/npm/img-comparison-slider@{{version}}/dist/index.min.js"
- map: "https://cdn.jsdelivr.net/npm/img-comparison-slider@{{version}}/dist/index.js.map"
- version: "8.0.6"
jquery:
integrity:
js: "sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
@@ -501,23 +492,6 @@ third_party_libraries:
js: "https://cdn.jsdelivr.net/npm/leaflet@{{version}}/dist/leaflet.min.js"
js_map: "https://cdn.jsdelivr.net/npm/leaflet@{{version}}/dist/leaflet.js.map"
version: "1.9.4"
- lightbox2:
- integrity:
- css: "sha256-uypRbsAiJcFInM/ndyI/JHpzNe6DtUNXaWEUWEPfMGo="
- js: "sha256-A6jI5V9s1JznkWwsBaRK8kSeXLgIqQfxfnvdDOZEURY="
- url:
- css: "https://cdn.jsdelivr.net/npm/lightbox2@{{version}}/dist/css/lightbox.min.css"
- js: "https://cdn.jsdelivr.net/npm/lightbox2@{{version}}/dist/js/lightbox.min.js"
- version: "2.11.5"
- mathjax:
- integrity:
- js: "sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI="
- local:
- fonts: "output/chtml/fonts/woff-v2/"
- url:
- fonts: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/output/chtml/fonts/woff-v2/"
- js: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/tex-mml-chtml.js"
- version: "3.2.2"
masonry:
integrity:
js: "sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI="
@@ -536,31 +510,21 @@ third_party_libraries:
js: "https://cdn.jsdelivr.net/npm/mdbootstrap@{{version}}/js/mdb.min.js"
js_map: "https://cdn.jsdelivr.net/npm/mdbootstrap@{{version}}/js/mdb.min.js.map"
version: "4.20.0"
- medium_zoom:
- integrity:
- js: "sha256-ZgMyDAIYDYGxbcpJcfUnYwNevG/xi9OHKaR/8GK+jWc="
- url:
- js: "https://cdn.jsdelivr.net/npm/medium-zoom@{{version}}/dist/medium-zoom.min.js"
- version: "1.1.0"
mermaid:
integrity:
js: "sha256-TtLOdUA8mstPoO6sGvHIGx2ceXrrX4KgIItO06XOn8A="
url:
js: "https://cdn.jsdelivr.net/npm/mermaid@{{version}}/dist/mermaid.min.js"
version: "10.7.0"
- photoswipe:
- integrity:
- js: "sha256-VCBpdxvrNNxGHNuTdNqK9kPFkev2XY7DYzHdmgaB69Q="
- url:
- css: "https://cdn.jsdelivr.net/npm/photoswipe@{{version}}/dist/photoswipe.min.css"
- js: "https://cdn.jsdelivr.net/npm/photoswipe@{{version}}/dist/photoswipe.esm.min.js"
- version: "5.4.4"
- photoswipe-lightbox:
+ mathjax:
integrity:
- js: "sha256-uCw4VgT5DMdwgtjhvU9e98nT2mLZXcw/8WkaTrDd3RI="
+ js: "sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI="
+ local:
+ fonts: "output/chtml/fonts/woff-v2/"
url:
- js: "https://cdn.jsdelivr.net/npm/photoswipe@{{version}}/dist/photoswipe-lightbox.esm.min.js"
- version: "5.4.4"
+ fonts: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/output/chtml/fonts/woff-v2/"
+ js: "https://cdn.jsdelivr.net/npm/mathjax@{{version}}/es5/tex-mml-chtml.js"
+ version: "3.2.2"
polyfill:
url:
js: "https://cdnjs.cloudflare.com/polyfill/v{{version}}/polyfill.min.js?features=es6"
@@ -573,29 +537,6 @@ third_party_libraries:
css: "https://cdn.jsdelivr.net/npm/pseudocode@{{version}}/build/pseudocode.min.css"
js: "https://cdn.jsdelivr.net/npm/pseudocode@{{version}}/build/pseudocode.min.js"
version: "2.4.1"
- spotlight:
- integrity:
- css: "sha256-Dsvkx8BU8ntk9Iv+4sCkgHRynYSQQFP6gJfBN5STFLY="
- url:
- css: "https://cdn.jsdelivr.net/npm/spotlight.js@{{version}}/dist/css/spotlight.min.css"
- js: "https://cdn.jsdelivr.net/npm/spotlight.js@{{version}}/dist/spotlight.bundle.min.js"
- version: "0.7.8"
- swiper:
- integrity:
- css: "sha256-yUoNxsvX+Vo8Trj3lZ/Y5ZBf8HlBFsB6Xwm7rH75/9E="
- js: "sha256-BPrwikijIybg9OQC5SYFFqhBjERYOn97tCureFgYH1E="
- map: "sha256-lbF5CsospW93otqvWOIbbhj80CjazrZXvamD7nC7TBI="
- url:
- css: "https://cdn.jsdelivr.net/npm/swiper@{{version}}/swiper-bundle.min.css"
- js: "https://cdn.jsdelivr.net/npm/swiper@{{version}}/swiper-element-bundle.min.js"
- map: "https://cdn.jsdelivr.net/npm/swiper@{{version}}/swiper-element-bundle.min.js.map"
- version: "11.0.5"
- swiper-map:
- integrity:
- js: "sha256-hlZaH8ySXX97bZaetnrtYlKuhx3oEXFz/s2IXchu6vk="
- url:
- js: "https://cdn.jsdelivr.net/npm/swiper@11.1.0/swiper-element-bundle.min.js.map"
- version: "11.0.5"
vega:
integrity:
js: "sha256-Yot/cfgMMMpFwkp/5azR20Tfkt24PFqQ6IQS+80HIZs="
@@ -620,14 +561,6 @@ third_party_libraries:
js: "https://cdn.jsdelivr.net/npm/vega-lite@{{version}}/build/vega-lite.min.js"
js_map: "https://cdn.jsdelivr.net/npm/vega-lite@{{version}}/build/vega-lite.min.js.map"
version: "5.16.3"
- venobox:
- integrity:
- css: "sha256-ohJEB0/WsBOdBD+gQO/MGfyJSbTUI8OOLbQGdkxD6Cg="
- js: "sha256-LsGXHsHMMmTcz3KqTaWvLv6ome+7pRiic2LPnzTfiSo="
- url:
- css: "https://cdn.jsdelivr.net/npm/venobox@{{version}}/dist/venobox.min.css"
- js: "https://cdn.jsdelivr.net/npm/venobox@{{version}}/dist/venobox.min.js"
- version: "2.1.8"
# -----------------------------------------------------------------------------
# Get external JSON data
diff --git a/_includes/scripts.liquid b/_includes/scripts.liquid
index 67b7bd3e4e07..81f61a3b03a1 100644
--- a/_includes/scripts.liquid
+++ b/_includes/scripts.liquid
@@ -141,17 +141,6 @@
{% endif %}
-{% if site.enable_medium_zoom %}
-
-
-
-{% endif %}
-
{% if page.toc and page.toc.sidebar %}
@@ -217,58 +206,16 @@
{% al_analytics_scripts %}
{% endif %}
+{% if site.plugins contains 'al_img_tools' %}
+
+ {% al_img_tools_scripts %}
+{% endif %}
+
{% if site.enable_progressbar %}
{% endif %}
-{% if page.images %}
-
- {% if page.images.compare %}
-
- {% endif %}
- {% if page.images.lightbox2 %}
-
- {% endif %}
- {% if page.images.photoswipe %}
-
- {% endif %}
- {% if page.images.slider %}
-
- {% endif %}
- {% if page.images.spotlight %}
-
- {% endif %}
- {% if page.images.venobox %}
-
-
- {% endif %}
-{% endif %}
-
{% if page.tabs %}
diff --git a/assets/js/photoswipe-setup.js b/assets/js/photoswipe-setup.js
deleted file mode 100644
index dc6a74a422a1..000000000000
--- a/assets/js/photoswipe-setup.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import PhotoSwipeLightbox from "{{ site.third_party_libraries.photoswipe-lightbox.url.js }}";
-import PhotoSwipe from "{{ site.third_party_libraries.photoswipe.url.js }}";
-const photoswipe = new PhotoSwipeLightbox({
- gallery: ".pswp-gallery",
- children: "a",
- pswpModule: PhotoSwipe,
-});
-photoswipe.init();
diff --git a/assets/js/venobox-setup.js b/assets/js/venobox-setup.js
deleted file mode 100644
index 582693ee2bb6..000000000000
--- a/assets/js/venobox-setup.js
+++ /dev/null
@@ -1,5 +0,0 @@
-document.addEventListener("readystatechange", () => {
- if (document.readyState === "complete") {
- new VenoBox();
- }
-});
diff --git a/assets/js/zoom.js b/assets/js/zoom.js
deleted file mode 100644
index 299b88693228..000000000000
--- a/assets/js/zoom.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// Initialize medium zoom.
-$(document).ready(function () {
- medium_zoom = mediumZoom("[data-zoomable]", {
- background: getComputedStyle(document.documentElement).getPropertyValue("--global-bg-color") + "ee", // + 'ee' for trasparency.
- });
-});