Merge remote-tracking branch 'origin/develop'

This commit is contained in:
nobody 2022-08-07 07:40:25 +02:00
commit 657ed05ce7
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
113 changed files with 1813 additions and 305 deletions

View File

@ -1,4 +1,4 @@
## Please note the following tips ## Please read this text carefully(!)
* Only Firefox: Does the website work after you activate the HTML filter? * Only Firefox: Does the website work after you activate the HTML filter?
@ -6,9 +6,11 @@
* For the most common problems and solutions I have created an online tool. Please test the broken website there: https://www.localcdn.org/test/check * For the most common problems and solutions I have created an online tool. Please test the broken website there: https://www.localcdn.org/test/check
### If none of the points apply ## If none of the points apply
* delete this template and describe the problem
* write the URL in the title * write the URL in the title
* one or two screenshots can be helpful * one or two screenshots can be helpful
## Please delete this text(!)
## and describe the problem
Thank you for your understanding Thank you for your understanding

View File

@ -10,7 +10,7 @@ LocalCDN is a fork of Decentraleyes and a web browser extension that emulates Co
* Removes integrity and crossorigin tags from embedded script and style elements to replace even more frameworks <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> * Removes integrity and crossorigin tags from embedded script and style elements to replace even more frameworks <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
* Font Awesome <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> * Font Awesome <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
* Google Material Icons <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> * Google Material Icons <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
* jQuery up to 3.5.1 <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * jQuery <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
* Bootstrap CSS <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> * Bootstrap CSS <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
* Bootstrap JavaScript <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * Bootstrap JavaScript <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
* AngularJS, AngularJS-Animate, AngularJS-Sanitize, AngularJS-Cookies and AngularJS-Touch <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * AngularJS, AngularJS-Animate, AngularJS-Sanitize, AngularJS-Cookies and AngularJS-Touch <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
@ -18,7 +18,7 @@ LocalCDN is a fork of Decentraleyes and a web browser extension that emulates Co
* MathJax (minimal) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * MathJax (minimal) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
* TinyMCE (without plugins) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * TinyMCE (without plugins) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
* Internal statistics about CDNs and frameworks (day, week, month, year) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * Internal statistics about CDNs and frameworks (day, week, month, year) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
* Export/Import your config (day, week, month, year) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * Export/Import your config <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
* Prepared rules for uBlock Origin, uMatrix, AdGuard and NoScript <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png"> * Prepared rules for uBlock Origin, uMatrix, AdGuard and NoScript <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
> **Note:** LocalCDN is no silver bullet, but it does prevent a lot of websites from making you send these kinds of requests. Ultimately, you can make LocalCDN block requests for any missing CDN resources, too. > **Note:** LocalCDN is no silver bullet, but it does prevent a lot of websites from making you send these kinds of requests. Ultimately, you can make LocalCDN block requests for any missing CDN resources, too.

View File

@ -131,7 +131,7 @@ https://cdn.embed.ly/player-0.1.0.min.js
https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.min.js https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.min.js
https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.14.1/algoliasearch.umd.min.js https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.14.2/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.10.3/cdn.min.js https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.10.3/cdn.min.js
https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js
@ -298,7 +298,7 @@ https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.cs
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.js https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.js
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.6.1/flatly/bootstrap.min.css https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.6.1/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.1.3/flatly/bootstrap.min.css https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.2.0/flatly/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js
https://cdnjs.cloudflare.com/ajax/libs/bowser/2.11.0/bundled.min.js https://cdnjs.cloudflare.com/ajax/libs/bowser/2.11.0/bundled.min.js
https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css
@ -404,12 +404,12 @@ https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/js/all.min.js
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.woff2 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.woff2
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/v4-shims.min.css https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/v4-shims.min.css
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/js/all.min.js https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/js/all.min.js
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/webfonts/fa-brands-400.woff2 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/webfonts/fa-brands-400.woff2
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/webfonts/fa-regular-400.woff2 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/webfonts/fa-regular-400.woff2
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/webfonts/fa-solid-900.woff2 https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/webfonts/fa-solid-900.woff2
https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/css/fork-awesome.min.css https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/css/fork-awesome.min.css
https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/fonts/forkawesome-webfont.woff2 https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/fonts/forkawesome-webfont.woff2
https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.3/css/foundation.min.css https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.3/css/foundation.min.css
@ -1150,7 +1150,7 @@ https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.5/styles/zenburn.min.cs
https://cdnjs.cloudflare.com/ajax/libs/history/4.10.1/history.min.js https://cdnjs.cloudflare.com/ajax/libs/history/4.10.1/history.min.js
https://cdnjs.cloudflare.com/ajax/libs/history/5.3.0/history.production.min.js https://cdnjs.cloudflare.com/ajax/libs/history/5.3.0/history.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.14.17/hls.min.js https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.14.17/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.1.5/hls.min.js https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.2.0/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hogan.js/3.0.2/hogan.min.js https://cdnjs.cloudflare.com/ajax/libs/hogan.js/3.0.2/hogan.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/3.7.0/instantsearch.production.min.js https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/3.7.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.43.1/instantsearch.production.min.js https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.43.1/instantsearch.production.min.js
@ -1228,7 +1228,7 @@ https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/jquery.table
https://cdnjs.cloudflare.com/ajax/libs/jquery-timeago/1.6.7/jquery.timeago.min.js https://cdnjs.cloudflare.com/ajax/libs/jquery-timeago/1.6.7/jquery.timeago.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery-tiny-pubsub/0.7.0/ba-tiny-pubsub.min.js https://cdnjs.cloudflare.com/ajax/libs/jquery-tiny-pubsub/0.7.0/ba-tiny-pubsub.min.js
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/themes/base/minified/jquery-ui.min.css https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/themes/base/minified/jquery-ui.min.css
https://cdnjs.cloudflare.com/ajax/libs/jquery-ujs/1.2.3/rails.min.js https://cdnjs.cloudflare.com/ajax/libs/jquery-ujs/1.2.3/rails.min.js
@ -1242,11 +1242,13 @@ https://cdnjs.cloudflare.com/ajax/libs/lazysizes/4.1.8/lazysizes.min.js
https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js
https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet.css https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet.css
https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet.js https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet.js
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.8.0/leaflet.css https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.8.0/leaflet.css
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.8.0/leaflet.js https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.8.0/leaflet.js
https://cdnjs.cloudflare.com/ajax/libs/Leaflet.EasyButton/2.4.0/easy-button.min.js https://cdnjs.cloudflare.com/ajax/libs/Leaflet.EasyButton/2.4.0/easy-button.min.js
https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.js https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.js
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.10.9/libphonenumber-js.min.js https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.10.11/libphonenumber-js.min.js
https://cdnjs.cloudflare.com/ajax/libs/libsodium-wrappers/0.5.4/sodium.min.js https://cdnjs.cloudflare.com/ajax/libs/libsodium-wrappers/0.5.4/sodium.min.js
https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/js/lightbox.min.js https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/js/lightbox.min.js
https://cdnjs.cloudflare.com/ajax/libs/lightcase/2.5.0/css/lightcase.min.css https://cdnjs.cloudflare.com/ajax/libs/lightcase/2.5.0/css/lightcase.min.css
@ -1261,6 +1263,7 @@ https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.5.0/lightgallery.min.js
https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js
https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js
https://cdnjs.cloudflare.com/ajax/libs/lozad.js/1.16.0/lozad.min.js https://cdnjs.cloudflare.com/ajax/libs/lozad.js/1.16.0/lozad.min.js
https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min.js
https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js
https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css
https://cdnjs.cloudflare.com/ajax/libs/markdown-it/13.0.1/markdown-it.min.js https://cdnjs.cloudflare.com/ajax/libs/markdown-it/13.0.1/markdown-it.min.js
@ -1276,6 +1279,7 @@ https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS_CHTML.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS_HTML-full.js https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS_HTML-full.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-MML-AM_CHTML.js https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-MML-AM_CHTML.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-MML-AM_SVG.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/asciimath2jax.js https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/asciimath2jax.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/MathEvents.js https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/MathEvents.js
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/MathMenu.js https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/MathMenu.js
@ -1343,8 +1347,8 @@ https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.20.0/css/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.20.0/js/mdb.min.js https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.20.0/js/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.11.0/mdb.min.css https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.11.0/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.11.0/mdb.min.js https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.11.0/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.3.0/mdb.min.css https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.4.0/mdb.min.css
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.3.0/mdb.min.js https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.4.0/mdb.min.js
https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/css/modaal.min.css https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/css/modaal.min.css
https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/js/modaal.min.js https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/js/modaal.min.js
https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js
@ -1691,32 +1695,32 @@ https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/skins/ui/oxide/skin.shadow
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/mobile/theme.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/mobile/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/silver/theme.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/silver/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/tinymce.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/tinymce.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/icons/default/icons.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/icons/default/icons.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/models/dom/model.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/models/dom/model.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/dark/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/default/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/default/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/document/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/document/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/tinymce-5/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/tinymce-5/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/tinymce-5-dark/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/tinymce-5-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/writer/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/writer/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/content.inline.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/content.inline.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/skin.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/skin.shadowdom.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/skin.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/skin.shadowdom.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/content.inline.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/content.inline.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/content.inline.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/content.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/content.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/skin.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/skin.shadowdom.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/skin.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/skin.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/skin.shadowdom.min.css https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/skin.shadowdom.min.css
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/themes/silver/theme.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/themes/silver/theme.min.js
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/tinymce.min.js https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/tinymce.min.js
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js
https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.3.0/js/jquery.tooltipster.min.js https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.3.0/js/jquery.tooltipster.min.js
@ -1760,11 +1764,11 @@ https://cdnjs.cloudflare.com/ajax/libs/video.js/5.20.5/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/5.20.5/video.min.js https://cdnjs.cloudflare.com/ajax/libs/video.js/5.20.5/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video-js.min.css https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video.min.js https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.1/video-js.min.css https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.2/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.1/video.min.js https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.2/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.37/vue.global.prod.js https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.37/vue.global.prod.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.1.10/vue-i18n.cjs.min.js https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.2.2/vue-i18n.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/4.0.2/vuex.cjs.min.js https://cdnjs.cloudflare.com/ajax/libs/vuex/4.0.2/vuex.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js
@ -1788,10 +1792,10 @@ https://cdn.jsdelivr.net/npm/anchor-js@3.2.2/anchor.min.js
https://cdn.jsdelivr.net/npm/anchor-js@4.3.1/anchor.min.js https://cdn.jsdelivr.net/npm/anchor-js@4.3.1/anchor.min.js
https://cdn.jsdelivr.net/npm/angular-stripe-checkout@5.1.0/angular-stripe-checkout.min.js https://cdn.jsdelivr.net/npm/angular-stripe-checkout@5.1.0/angular-stripe-checkout.min.js
https://cdn.jsdelivr.net/npm/appboy-web-sdk@3.5.1/appboy.min.js https://cdn.jsdelivr.net/npm/appboy-web-sdk@3.5.1/appboy.min.js
https://cdn.jsdelivr.net/npm/chart.js@3.8.0/dist/chart.min.js https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.min.js
https://cdn.jsdelivr.net/npm/docsify-themeable@0.8.6/dist/css/theme-defaults.css https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-defaults.css
https://cdn.jsdelivr.net/npm/docsify-themeable@0.8.6/dist/css/theme-simple.css https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple.css
https://cdn.jsdelivr.net/npm/docsify-themeable@0.8.6/dist/css/theme-simple-dark.css https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple-dark.css
https://cdn.jsdelivr.net/npm/ethjs@0.4.0/dist/ethjs.min.js https://cdn.jsdelivr.net/npm/ethjs@0.4.0/dist/ethjs.min.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/autocomplete.js https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/autocomplete.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/bundle.js https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/bundle.js
@ -1813,26 +1817,28 @@ https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/styles.css
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~components~initializer.js https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~components~initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~initializer.js https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~sentry.js https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/autocomplete.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/autocomplete.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/bundle.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/bundle.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/initializer.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/initializer.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/polyfill.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/polyfill.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/raw.css https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/raw.css
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/recommendation.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/recommendation.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/search.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/search.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/sentry.js https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/sentry.js
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/styles.css https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/styles.css
https://cdn.jsdelivr.net/npm/instantsearch.css@7.4.5/themes/algolia-min.css https://cdn.jsdelivr.net/npm/instantsearch.css@7.4.5/themes/algolia-min.css
https://cdn.jsdelivr.net/npm/leaflet.featuregroup.subgroup@1.0.2/dist/leaflet.featuregroup.subgroup.js https://cdn.jsdelivr.net/npm/leaflet.featuregroup.subgroup@1.0.2/dist/leaflet.featuregroup.subgroup.js
https://cdn.jsdelivr.net/npm/ngx-bootstrap@6.2.0/datepicker/bs-datepicker.css https://cdn.jsdelivr.net/npm/ngx-bootstrap@6.2.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@7.1.2/datepicker/bs-datepicker.css https://cdn.jsdelivr.net/npm/ngx-bootstrap@7.1.2/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@8.0.0/datepicker/bs-datepicker.css https://cdn.jsdelivr.net/npm/ngx-bootstrap@8.0.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@9.0.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/object-assign@4.1.1/index.js https://cdn.jsdelivr.net/npm/object-assign@4.1.1/index.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-core@0.6.2/build/p2p-media-loader-core.min.js https://cdn.jsdelivr.net/npm/p2p-media-loader-core@0.6.2/build/p2p-media-loader-core.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader-hlsjs.min.js https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader-hlsjs.min.js
https://cdn.jsdelivr.net/npm/plyr@3.7.2/dist/plyr.css https://cdn.jsdelivr.net/npm/plyr@3.7.2/dist/plyr.css
https://cdn.jsdelivr.net/npm/plyr@3.7.2/dist/plyr.min.js https://cdn.jsdelivr.net/npm/plyr@3.7.2/dist/plyr.min.js
https://cdn.jsdelivr.net/npm/raven-js@3.27.2/dist/raven.min.js https://cdn.jsdelivr.net/npm/raven-js@3.27.2/dist/raven.min.js
https://cdn.jsdelivr.net/npm/react-intl@6.0.5/react-intl.iife.min.js
https://cdn.jsdelivr.net/npm/react-lifecycles-compat@3.0.4/react-lifecycles-compat.min.js https://cdn.jsdelivr.net/npm/react-lifecycles-compat@3.0.4/react-lifecycles-compat.min.js
https://cdn.jsdelivr.net/npm/search-insights@1.8.0/dist/search-insights.min.js https://cdn.jsdelivr.net/npm/search-insights@1.8.0/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/search-insights@2.2.1/dist/search-insights.min.js https://cdn.jsdelivr.net/npm/search-insights@2.2.1/dist/search-insights.min.js
@ -1840,8 +1846,8 @@ https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.js https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.css https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.js https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/swiper@8.3.1/swiper-bundle.min.css https://cdn.jsdelivr.net/npm/swiper@8.3.2/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@8.3.1/swiper-bundle.min.js https://cdn.jsdelivr.net/npm/swiper@8.3.2/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/urlize.js/urlize.js https://cdn.jsdelivr.net/npm/urlize.js/urlize.js
https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.8.3/dist/lazyload.min.js https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.8.3/dist/lazyload.min.js
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-buttons.css https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-buttons.css

View File

@ -136,7 +136,7 @@
"description": "Internal statistics" "description": "Internal statistics"
}, },
"internalStatisticsDescription": { "internalStatisticsDescription": {
"message": "Эта функция находится в эеспериментальном состоянии. Данные не передаются. Все хранится только на вашем устройстве.", "message": "Эта функция находится в экспериментальном состоянии. Данные не передаются. Все хранится только на вашем устройстве.",
"description": "No data transmission. Its all local on your device." "description": "No data transmission. Its all local on your device."
}, },
"headerStatistics": { "headerStatistics": {
@ -408,7 +408,7 @@
"description": "What will be synchronized when I select »sync« as storage type?" "description": "What will be synchronized when I select »sync« as storage type?"
}, },
"helpSyncDescription": { "helpSyncDescription": {
"message": "Синхронизация будет работать только в том случае, если вы вошли в систему с учетной записью Firefox на устройстве и разрешили синхронизацию расширений в настройках. Также будет работать отдельный сервер синхронизации под вашим контролем. Это синхронизирует большинство настроек LocalCDN на всех устройствах.", "message": "Синхронизация будет работать только в том случае, если вы вошли в учетную запись Firefox на устройстве и разрешили синхронизацию расширений в настройках. Также будет работать отдельный сервер синхронизации под вашим контролем. Это синхронизирует большинство настроек LocalCDN на всех устройствах.",
"description": "Sync will only work if you are logged in with a Firefox account on the device and have allowed add-ons to sync in the settings. A separate sync server under your control will also work. This will synchronize most of the settings of LocalCDN across all devices." "description": "Sync will only work if you are logged in with a Firefox account on the device and have allowed add-ons to sync in the settings. A separate sync server under your control will also work. This will synchronize most of the settings of LocalCDN across all devices."
}, },
"helpSyncAccount": { "helpSyncAccount": {

View File

@ -104,7 +104,7 @@
"description": "Enable this option to always apply the HTML filter. The domains in the list will be ignored then. If this option is disabled, the HTML filter is only applied to domains in the list." "description": "Enable this option to always apply the HTML filter. The domains in the list will be ignored then. If this option is disabled, the HTML filter is only applied to domains in the list."
}, },
"negateHtmlFilterListWarning": { "negateHtmlFilterListWarning": {
"message": "Ця функція може зламати веб-сайти. Будь ласка, зверніть увагу на інформацію у вікі-сторінці.", "message": "Ця функція може зламати веб-сайти. Будь ласка, примічайте інформацію у вікі-сторінці.",
"description": "This function can break websites. Please note the information on the Wiki page." "description": "This function can break websites. Please note the information on the Wiki page."
}, },
"htmlFilterDomainsTitleExclude": { "htmlFilterDomainsTitleExclude": {
@ -400,7 +400,7 @@
"description": "How do I know thats true?" "description": "How do I know thats true?"
}, },
"helpStatisticsTruthDescription": { "helpStatisticsTruthDescription": {
"message": "Сховище розширень можна продивитися безпосередньо в браузері Firefox. Відкрийте URL-адресу \"about:debugging\", перейдіть на \"Сховище\" і оберіть \"Сховище розширень\". Під ключем \"internalStatisticsData\" ви знайдете всі зібрані дані. Скопіюйте їх та помістить в JSON PrettyPrinter для того, щоб зробити їх більш зрозумілими. Зверніть увагу, що ви повинні спочатку прибрати перші та останні лапки і ключ до неї. Ви побачите все ясно побачите на цьому відео.", "message": "Сховище розширень можна продивитися безпосередньо в браузері Firefox. Відкрийте URL-адресу \"about:debugging\", перейдіть на \"Сховище\" і оберіть \"Сховище розширень\". Під ключем \"internalStatisticsData\" ви знайдете всі зібрані дані. Скопіюйте їх та помістить в JSON PrettyPrinter для того, щоб зробити їх більш зрозумілими. Будь ласка, завбачте, що ви повинні спочатку прибрати перші та останні лапки і ключ до неї. Ви побачите все ясно побачите на цьому відео.",
"description": "The extension storage can be viewed directly with the Firefox browser. Open the URL »about:debugging«, switch to »Storage« and select »Extension Storage«. Under the key »internalStatisticsData« you will find the collected data. Just copy it and put it into a JSON PrettyPrinter to make it more readable. Please note that you have to remove the first and last quotation mark and the key to it. You should be able to see this clearly in this video." "description": "The extension storage can be viewed directly with the Firefox browser. Open the URL »about:debugging«, switch to »Storage« and select »Extension Storage«. Under the key »internalStatisticsData« you will find the collected data. Just copy it and put it into a JSON PrettyPrinter to make it more readable. Please note that you have to remove the first and last quotation mark and the key to it. You should be able to see this clearly in this video."
}, },
"helpSyncTitle": { "helpSyncTitle": {

View File

@ -716,6 +716,8 @@ function create_url() {
url="$CREATEJS/$version/createjs.min.js" url="$CREATEJS/$version/createjs.min.js"
elif [ "$folder" = "moment.js" ] && [ "$version" = "2.5.1" ];then elif [ "$folder" = "moment.js" ] && [ "$version" = "2.5.1" ];then
url="$CLOUDFLARE/$folder/$version/moment-with-langs.min.js" url="$CLOUDFLARE/$folder/$version/moment-with-langs.min.js"
elif [ "$folder" = "react-intl" ]; then
url="$JSDELIVR/npm/react-intl@$version/react-intl.iife.min.js"
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
else else
if [ "$subfile" = "$jfile" ]; then if [ "$subfile" = "$jfile" ]; then

View File

@ -262,7 +262,7 @@ const Regex = {
'FONT_AWESOME_WITH_CODE': /use\.fontawesome\.com\/[a-z0-9]{10}\.(js|css)/, 'FONT_AWESOME_WITH_CODE': /use\.fontawesome\.com\/[a-z0-9]{10}\.(js|css)/,
'FONT_AWESOME_FONTS_ONLY': /\/font-?awesome\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//, 'FONT_AWESOME_FONTS_ONLY': /\/font-?awesome\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//,
'BOOTSTRAP_FONTS_ONLY': /\/bootstrap\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//, 'BOOTSTRAP_FONTS_ONLY': /\/bootstrap\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//,
'ROCKET_LOADER': /ajax\.cloudflare\.com\/cdn-cgi\/scripts\/[\d\w]{8}\/cloudflare-static\/rocket-loader\.min\.js/ 'ROCKET_LOADER': /ajax\.cloudflare\.com\/cdn-cgi\/scripts\/[a-zA-Z0-9]{8}\/cloudflare-static\/rocket-loader\.min\.js/
}; };
const MaterialIcons = { const MaterialIcons = {
@ -343,6 +343,7 @@ const MathJaxFiles = {
'config/TeX-AMS_HTML-full.js': true, 'config/TeX-AMS_HTML-full.js': true,
'config/TeX-AMS-MML_HTMLorMML.js': true, 'config/TeX-AMS-MML_HTMLorMML.js': true,
'config/TeX-MML-AM_CHTML.js': true, 'config/TeX-MML-AM_CHTML.js': true,
'config/TeX-MML-AM_SVG.js': true,
'extensions/TeX/begingroup.js': true, 'extensions/TeX/begingroup.js': true,
'extensions/TeX/cancel.js': true, 'extensions/TeX/cancel.js': true,
'extensions/TeX/color.js': true, 'extensions/TeX/color.js': true,

View File

@ -76,13 +76,6 @@ interceptor.handleRequest = function (requestDetails, tabIdentifier, tab) {
'cancel': false 'cancel': false
}; };
} }
} else if (!BrowserType.FIREFOX && (isGoogleFont || isGoogleMaterialIcons)) {
initiatorDomain = helpers.extractDomainFromUrl(tab.url, true);
isListed = helpers.checkAllowlisted(initiatorDomain, interceptor.allowedDomainsGoogleFonts);
// Check if the website is allowed to load Google Fonts
return {
'cancel': interceptor.blockGoogleFonts === true && isListed === false
};
} }
if (targetDetails['result'] === false) { if (targetDetails['result'] === false) {

View File

@ -385,6 +385,7 @@ mappings.cdn = {
'lightgallery/{version}/css/lightgallery.': resources.lightGalleryCSS, 'lightgallery/{version}/css/lightgallery.': resources.lightGalleryCSS,
'lodash.js/{version}/lodash.': resources.lodashJS, 'lodash.js/{version}/lodash.': resources.lodashJS,
'lozad.js/{version}/lozad.': resources.lozad, 'lozad.js/{version}/lozad.': resources.lozad,
'lunr.js/{version}/lunr.': resources.lunrJS,
'magnific-popup.js/{version}/jquery.magnific-popup.min.js': resources.magnificPopupJS, 'magnific-popup.js/{version}/jquery.magnific-popup.min.js': resources.magnificPopupJS,
'magnific-popup.js/{version}/jquery.magnific-popup.js': resources.magnificPopupJS, 'magnific-popup.js/{version}/jquery.magnific-popup.js': resources.magnificPopupJS,
'magnific-popup.js/{version}/magnific-popup.css': resources.magnificPopupCSS, 'magnific-popup.js/{version}/magnific-popup.css': resources.magnificPopupCSS,
@ -618,6 +619,7 @@ mappings.cdn = {
'leaflet.featuregroup.subgroup@{version}/dist/leaflet.featuregroup.subgroup.': resources.leafletFeatureGroupSubGroup, 'leaflet.featuregroup.subgroup@{version}/dist/leaflet.featuregroup.subgroup.': resources.leafletFeatureGroupSubGroup,
'lodash@{version}/lodash.min.js': resources.lodashJS, 'lodash@{version}/lodash.min.js': resources.lodashJS,
'lozad': resources.lozad, 'lozad': resources.lozad,
'lunr@{version}/lunr.': resources.lunrJS,
'npm-modernizr@{version}/modernizr.': resources.modernizr, 'npm-modernizr@{version}/modernizr.': resources.modernizr,
'npm-modernizr@{version}/modernizr.min.': resources.modernizr, 'npm-modernizr@{version}/modernizr.min.': resources.modernizr,
'markdown-it@{version}/dist/markdown-it.': resources.markdownIt, 'markdown-it@{version}/dist/markdown-it.': resources.markdownIt,
@ -642,6 +644,7 @@ mappings.cdn = {
'purecss@{version}/build/': resources.pureCSS, 'purecss@{version}/build/': resources.pureCSS,
'redux@{version}/dist/redux.': resources.redux, 'redux@{version}/dist/redux.': resources.redux,
'react-dom@{version}/umd/react-dom.production.min.js': resources.reactDOM, 'react-dom@{version}/umd/react-dom.production.min.js': resources.reactDOM,
'react-intl@{version}/react-intl.iife.': resources.reactIntl,
'react@{version}/umd/react.production.min.js': resources.react, 'react@{version}/umd/react.production.min.js': resources.react,
'search-insights@{version}/dist/search-insights.': resources.searchInsights, 'search-insights@{version}/dist/search-insights.': resources.searchInsights,
'select2@{version}/': resources.select2, 'select2@{version}/': resources.select2,
@ -1169,6 +1172,14 @@ mappings.cdn['cdn.bootcdn.net'] = mappings.cdn['cdnjs.cloudflare.com'];
// CDN for the "Block Google Fonts" option (see: https://codeberg.org/nobody/LocalCDN/issues/269) // CDN for the "Block Google Fonts" option (see: https://codeberg.org/nobody/LocalCDN/issues/269)
mappings.cdn['fonts.gstatic.com'] = mappings.cdn['fonts.googleapis.com']; mappings.cdn['fonts.gstatic.com'] = mappings.cdn['fonts.googleapis.com'];
// Remove Google Fonts Endpoints for Chromium browsers (https://codeberg.org/nobody/LocalCDN/issues/1085)
if (!BrowserType.FIREFOX) {
delete mappings.cdn['fonts.gstatic.com'];
delete mappings.cdn['fonts.googleapis.com'];
}
/** /**
* List of CNAME CDNs * List of CNAME CDNs
* https://codeberg.org/nobody/LocalCDN/issues/816 * https://codeberg.org/nobody/LocalCDN/issues/816

View File

@ -57,12 +57,6 @@ requestAnalyzer.isValidCandidate = function (requestDetails, tabDetails) {
log.append(tabDetails.url, requestDetails.url, LogString.FONT_AWESOME, true); log.append(tabDetails.url, requestDetails.url, LogString.FONT_AWESOME, true);
return false; return false;
} }
if (requestAnalyzer.isGoogleMaterialIcons(requestedDomain, requestDetails.url)) {
// also valid for Google Material icons
console.warn(`${LogString.PREFIX} ${LogString.GOOGLE_MATERIAL_ICONS}`);
log.append(tabDetails.url, requestDetails.url, LogString.GOOGLE_MATERIAL_ICONS, true);
return false;
}
} }
// Ignore requests if website is 'yandex.com' and CDN is 'yastatic.net', because website and CDN are the same. // Ignore requests if website is 'yandex.com' and CDN is 'yastatic.net', because website and CDN are the same.
@ -238,37 +232,61 @@ requestAnalyzer._findLocalTarget = function (resourceMappings, basePath, channel
requestAnalyzer._getPathOfBundle = function (initiator, channelHost, channelPath, targetPath, bundle) { requestAnalyzer._getPathOfBundle = function (initiator, channelHost, channelPath, targetPath, bundle) {
let filename = channelPath.split('/').pop(); let filename = channelPath.split('/').pop();
if (bundle === 'MathJax (Bundle)' && filename !== 'MathJax.js') { if (bundle === 'MathJax (Bundle)' && filename !== 'MathJax.js') {
filename = channelPath.replace(Resource.MATHJAX, ''); filename = requestAnalyzer._handleMathJax(filename, channelPath, channelHost, initiator);
if (filename.startsWith('/npm/mathjax@3')) { } else if (bundle === 'TinyMCE (Bundle)' && filename !== 'tinymce.min.js') {
filename = filename.replace('/npm/mathjax@3/', ''); filename = requestAnalyzer._handleTinyMCE(filename, channelPath, channelHost, initiator);
} } else if (bundle === 'DataTables (Bundle)') {
if (filename === 'config/TeX-AMS_HTML.js') { filename = requestAnalyzer._handleDataTables(filename);
filename = 'config/TeX-AMS_HTML-full.js';
}
if (!MathJaxFiles[filename] && !MathJax3Files[filename]) {
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
log.append(initiator, channelHost + channelPath, '-', true);
return {
'result': false,
};
}
} }
if (bundle === 'TinyMCE (Bundle)' && filename !== 'tinymce.min.js') {
filename = channelPath.replace(Resource.TINYMCE, ''); if (filename === false) {
if (filename.startsWith('plugins/')) { return {
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`); 'result': false,
log.append(initiator, channelHost + channelPath, '-', true); };
return {
'result': false,
};
}
} }
return helpers.formatFilename(filename.endsWith('.js') return helpers.formatFilename(filename.endsWith('.js')
? `${targetPath + filename}m` ? `${targetPath + filename}m`
: targetPath + filename); : targetPath + filename);
}; };
requestAnalyzer._handleMathJax = function (filename, channelPath, channelHost, initiator) {
filename = channelPath.replace(Resource.MATHJAX, '');
if (filename.startsWith('/npm/mathjax@3')) {
filename = filename.replace('/npm/mathjax@3/', '');
}
if (filename === 'config/TeX-AMS_HTML.js') {
filename = 'config/TeX-AMS_HTML-full.js';
}
if (!MathJaxFiles[filename] && !MathJax3Files[filename]) {
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
log.append(initiator, channelHost + channelPath, '-', true);
return false;
}
return filename;
};
requestAnalyzer._handleDataTables = function (filename) {
if (!filename.endsWith('.min.js') && filename.endsWith('.js')) {
return filename.replace('.js', '.min.js');
} else if (!filename.endsWith('.min.css') && filename.endsWith('.css')) {
return filename.replace('.css', '.min.css');
}
return filename;
};
requestAnalyzer._handleTinyMCE = function (filename, channelPath, channelHost, initiator) {
filename = channelPath.replace(Resource.TINYMCE, '');
if (filename.startsWith('plugins/')) {
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
log.append(initiator, channelHost + channelPath, '-', true);
return false;
}
return filename;
};
requestAnalyzer._applyAllowlistedDomains = function () { requestAnalyzer._applyAllowlistedDomains = function () {
storageManager.type.get(Setting.ALLOWLISTED_DOMAINS, function (items) { storageManager.type.get(Setting.ALLOWLISTED_DOMAINS, function (items) {
requestAnalyzer.allowlistedDomains = items.allowlistedDomains || {}; requestAnalyzer.allowlistedDomains = items.allowlistedDomains || {};

View File

@ -711,6 +711,10 @@ var resources = {
'lozad': { 'lozad': {
'path': 'resources/lozad.js/{version}/lozad.min.jsm' 'path': 'resources/lozad.js/{version}/lozad.min.jsm'
}, },
// lunr.js
'lunrJS': {
'path': 'resources/lunr.js/{version}/lunr.min.jsm'
},
// MathJax // MathJax
'mathJax': { 'mathJax': {
'path': 'resources/mathjax/{version}/' 'path': 'resources/mathjax/{version}/'
@ -885,6 +889,10 @@ var resources = {
'reactDOM': { 'reactDOM': {
'path': 'resources/react-dom/{version}/umd/react-dom.production.min.jsm' 'path': 'resources/react-dom/{version}/umd/react-dom.production.min.jsm'
}, },
// react-intl
'reactIntl': {
'path': 'resources/react-intl/{version}/react-intl.iife.min.jsm'
},
// react-lifecycles-compat // react-lifecycles-compat
'reactLifecyclesCompat': { 'reactLifecyclesCompat': {
'path': 'resources/react-lifecycles-compat/{version}/react-lifecycles-compat.min.jsm' 'path': 'resources/react-lifecycles-compat/{version}/react-lifecycles-compat.min.jsm'

View File

@ -212,7 +212,7 @@ storageManager._validateDomainsAndStatistics = function (type, obj) {
if (type === 'allowedDomainsGoogleFonts' || type === 'domainsManipulateDOM' || type === 'allowlistedDomains') { if (type === 'allowedDomainsGoogleFonts' || type === 'domainsManipulateDOM' || type === 'allowlistedDomains') {
for (const [key, value] of Object.entries(obj)) { for (const [key, value] of Object.entries(obj)) {
// eslint-disable-next-line no-useless-escape // eslint-disable-next-line no-useless-escape
if ((/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,24}/.test(key) || key === '') && value === true) { if (((/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,24}/).test(key) || key === '') && value === true) {
valid[key] = value; valid[key] = value;
} else { } else {
alert(`${chrome.i18n.getMessage('dialogImportFailed')}: ${key}`); alert(`${chrome.i18n.getMessage('dialogImportFailed')}: ${key}`);
@ -221,7 +221,7 @@ storageManager._validateDomainsAndStatistics = function (type, obj) {
} }
} else if (type === 'internalStatisticsData') { } else if (type === 'internalStatisticsData') {
for (const [date, values] of Object.entries(obj)) { for (const [date, values] of Object.entries(obj)) {
if (/((2[0-9])[0-9]{2})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])/.test(date)) { if ((/((2\d)\d{2})-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01])/).test(date)) {
for (const [types, category] of Object.entries(values)) { for (const [types, category] of Object.entries(values)) {
if (types === 'frameworks') { if (types === 'frameworks') {
for (const [name, counter] of Object.entries(category)) { for (const [name, counter] of Object.entries(category)) {
@ -258,9 +258,9 @@ storageManager._validateDomainsAndStatistics = function (type, obj) {
}; };
storageManager._validateStrings = function (value) { storageManager._validateStrings = function (value) {
if (/((2[0-9])[0-9]{2})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])/.test(value)) { if ((/((2\d)\d{2})-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01])/).test(value)) {
return value; return value;
} else if (/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.test(value)) { } else if ((/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/).test(value)) {
return value; return value;
} else if (value === 'Default' || value === 'Light' || value === 'Grey') { } else if (value === 'Default' || value === 'Light' || value === 'Grey') {
return value; return value;

View File

@ -1,7 +1,7 @@
{ {
"manifest_version": 2, "manifest_version": 2,
"name": "LocalCDN", "name": "LocalCDN",
"version": "2.6.31", "version": "2.6.32",
"browser_specific_settings": { "browser_specific_settings": {
"gecko": { "gecko": {
"id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}", "id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}",

View File

@ -38,6 +38,11 @@ ruleGenerator.openRuleSet = function ({target}) {
textArea.style.display = 'block'; textArea.style.display = 'block';
btnCopy.style.display = 'block'; btnCopy.style.display = 'block';
if (!BrowserType.FIREFOX) {
delete urls['fonts.googleapis.com'];
delete urls['fonts.gstatic.com'];
}
for (const domain in urls) { for (const domain in urls) {
if (key === 'uMatrix') { if (key === 'uMatrix') {
content += `* ${domain} script allow\n`; content += `* ${domain} script allow\n`;

View File

@ -80,7 +80,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/1000hz-bootstrap-validator/0.')) return '0.11.9'; if (type.startsWith('/1000hz-bootstrap-validator/0.')) return '0.11.9';
if (type.startsWith('/ajax-bootstrap-select/1.')) return '1.4.5'; if (type.startsWith('/ajax-bootstrap-select/1.')) return '1.4.5';
if (type.startsWith('/algoliasearch/3.')) return '3.35.1'; if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
if (type.startsWith('/algoliasearch/4.')) return '4.14.1'; if (type.startsWith('/algoliasearch/4.')) return '4.14.2';
if (type.startsWith('/alpinejs/2.')) return '2.8.2'; if (type.startsWith('/alpinejs/2.')) return '2.8.2';
if (type.startsWith('/alpinejs/3.')) return '3.10.3'; if (type.startsWith('/alpinejs/3.')) return '3.10.3';
if (type.startsWith('/anchor-js/3.')) return '3.2.2'; if (type.startsWith('/anchor-js/3.')) return '3.2.2';
@ -158,7 +158,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/bootstrap-3-typeahead/4.')) return '4.0.2'; if (type.startsWith('/bootstrap-3-typeahead/4.')) return '4.0.2';
if (type.startsWith('/bootswatch/3.')) return '3.4.0'; if (type.startsWith('/bootswatch/3.')) return '3.4.0';
if (type.startsWith('/bootswatch/4.')) return '4.6.1'; if (type.startsWith('/bootswatch/4.')) return '4.6.1';
if (type.startsWith('/bootswatch/5.')) return '5.1.3'; if (type.startsWith('/bootswatch/5.')) return '5.2.0';
if (type.startsWith('/bowser/')) { if (type.startsWith('/bowser/')) {
if (version !== 'latest' && helpers.compareVersion('1.9.4', version)) return '1.9.4'; if (version !== 'latest' && helpers.compareVersion('1.9.4', version)) return '1.9.4';
return '2.11.0'; return '2.11.0';
@ -166,7 +166,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/bulma/0.')) return '0.9.4'; if (type.startsWith('/bulma/0.')) return '0.9.4';
if (type.startsWith('/bxslider/4.')) return '4.2.15'; if (type.startsWith('/bxslider/4.')) return '4.2.15';
if (type.startsWith('/Chart.js/2.')) return '2.9.4'; if (type.startsWith('/Chart.js/2.')) return '2.9.4';
if (type.startsWith('/Chart.js/3.')) return '3.8.0'; if (type.startsWith('/Chart.js/3.')) return '3.9.1';
if (type.startsWith('/clappr/0.') || type.startsWith('/clappr/latest/')) return '0.4.7'; if (type.startsWith('/clappr/0.') || type.startsWith('/clappr/latest/')) return '0.4.7';
if (type.startsWith('/chosen/1.')) return '1.8.7'; if (type.startsWith('/chosen/1.')) return '1.8.7';
if (type.startsWith('/clipboard.js/1.')) return '1.7.1'; if (type.startsWith('/clipboard.js/1.')) return '1.7.1';
@ -185,7 +185,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/dexie/3.') || type.startsWith('/dexie/latest')) return '3.2.2'; if (type.startsWith('/dexie/3.') || type.startsWith('/dexie/latest')) return '3.2.2';
if (type.startsWith('/docsearch.js/2.')) return '2.6.3'; if (type.startsWith('/docsearch.js/2.')) return '2.6.3';
if (type.startsWith('/docsify/4.') || type.startsWith('/docsify/')) return '4.12.2'; if (type.startsWith('/docsify/4.') || type.startsWith('/docsify/')) return '4.12.2';
if (type.startsWith('/docsify-themeable/0.')) return '0.8.6'; if (type.startsWith('/docsify-themeable/0.')) return '0.9.0';
if (type.startsWith('/drawer/3.')) return '3.2.2'; if (type.startsWith('/drawer/3.')) return '3.2.2';
if (type.startsWith('/dygraph/1.')) return '1.1.1'; if (type.startsWith('/dygraph/1.')) return '1.1.1';
if (type.startsWith('/dygraph/2.')) return '2.1.0'; if (type.startsWith('/dygraph/2.')) return '2.1.0';
@ -198,7 +198,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/findify')) { if (type.startsWith('/findify')) {
if (helpers.compareVersion('6.9.15', version)) return '6.9.15'; // <= 6.9.15 if (helpers.compareVersion('6.9.15', version)) return '6.9.15'; // <= 6.9.15
if (helpers.compareVersion('6.17.0', version)) return '6.17.0'; // > 6.9.15 to <= 6.17.0 if (helpers.compareVersion('6.17.0', version)) return '6.17.0'; // > 6.9.15 to <= 6.17.0
return '7.1.55'; return '7.1.56';
} }
if (type.startsWith('/fancybox/2.')) return '2.1.7'; if (type.startsWith('/fancybox/2.')) return '2.1.7';
if (type.startsWith('/fancybox/3.')) return '3.5.7'; if (type.startsWith('/fancybox/3.')) return '3.5.7';
@ -209,7 +209,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/font-awesome/3.')) return '3.2.1'; if (type.startsWith('/font-awesome/3.')) return '3.2.1';
if (type.startsWith('/font-awesome/4.')) return '4.7.0'; if (type.startsWith('/font-awesome/4.')) return '4.7.0';
if (type.startsWith('/font-awesome/5.')) return '5.15.4'; if (type.startsWith('/font-awesome/5.')) return '5.15.4';
if (type.startsWith('/font-awesome/6.')) return '6.1.1'; if (type.startsWith('/font-awesome/6.')) return '6.1.2';
if (type.startsWith('/fork-awesome/1.')) return '1.2.0'; if (type.startsWith('/fork-awesome/1.')) return '1.2.0';
if (type.startsWith('/foundation/5.')) return '5.5.3'; if (type.startsWith('/foundation/5.')) return '5.5.3';
if (type.startsWith('/foundation/6.')) return '6.7.5'; if (type.startsWith('/foundation/6.')) return '6.7.5';
@ -235,7 +235,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/history/4.')) return '4.10.1'; if (type.startsWith('/history/4.')) return '4.10.1';
if (type.startsWith('/history/5.')) return '5.3.0'; if (type.startsWith('/history/5.')) return '5.3.0';
if (type.startsWith('/hls.js/0.')) return '0.14.17'; if (type.startsWith('/hls.js/0.')) return '0.14.17';
if (type.startsWith('/hls.js/1.')) return '1.1.5'; if (type.startsWith('/hls.js/1.')) return '1.2.0';
if (type.startsWith('/hogan.js/')) return '3.0.2'; if (type.startsWith('/hogan.js/')) return '3.0.2';
if (type.startsWith('/instantsearch.css/7.')) return '7.4.5'; if (type.startsWith('/instantsearch.css/7.')) return '7.4.5';
if (type.startsWith('/instantsearch.js/3.')) return '3.7.0'; if (type.startsWith('/instantsearch.js/3.')) return '3.7.0';
@ -261,7 +261,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/jqueryui/1.')) { if (type.startsWith('/jqueryui/1.')) {
if (helpers.compareVersion('1.8.24', version)) return '1.8.24'; // <= v1.8.24 if (helpers.compareVersion('1.8.24', version)) return '1.8.24'; // <= v1.8.24
if (helpers.compareVersion('1.10.0', version)) return '1.10.0'; // > v1.8.24 to <= v1.10.0 if (helpers.compareVersion('1.10.0', version)) return '1.10.0'; // > v1.8.24 to <= v1.10.0
return '1.12.1'; // >= 1.8.19 return '1.13.2'; // >= 1.8.19
} }
if (type.startsWith('/jquery-ajax-unobtrusive/3.')) return '3.2.6'; if (type.startsWith('/jquery-ajax-unobtrusive/3.')) return '3.2.6';
if (type.startsWith('/jquery.blockUI/2.')) return '2.70'; if (type.startsWith('/jquery.blockUI/2.')) return '2.70';
@ -300,11 +300,14 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/lazysizes/4.')) return '4.1.8'; if (type.startsWith('/lazysizes/4.')) return '4.1.8';
if (type.startsWith('/lazysizes/5.')) return '5.3.2'; if (type.startsWith('/lazysizes/5.')) return '5.3.2';
if (type.startsWith('/leaflet/0.')) return '0.7.7'; if (type.startsWith('/leaflet/0.')) return '0.7.7';
if (type.startsWith('/leaflet/1.')) return '1.8.0'; if (type.startsWith('/leaflet/1.')) {
if (helpers.compareVersion('1.7.1', version)) return '1.7.1'; // <= v1.7.1
return '1.8.0';
}
if (type.startsWith('/Leaflet.EasyButton/2.')) return '2.4.0'; if (type.startsWith('/Leaflet.EasyButton/2.')) return '2.4.0';
if (type.startsWith('/leaflet.featuregroup.subgroup/1.')) return '1.0.2'; if (type.startsWith('/leaflet.featuregroup.subgroup/1.')) return '1.0.2';
if (type.startsWith('/leaflet.markercluster/1.')) return '1.5.3'; if (type.startsWith('/leaflet.markercluster/1.')) return '1.5.3';
if (type.startsWith('/libphonenumber-js/1.')) return '1.10.9'; if (type.startsWith('/libphonenumber-js/1.')) return '1.10.11';
if (type.startsWith('/libsodium-wrappers/0.')) return '0.5.4'; if (type.startsWith('/libsodium-wrappers/0.')) return '0.5.4';
if (type.startsWith('/lightbox2/2.')) return '2.11.3'; if (type.startsWith('/lightbox2/2.')) return '2.11.3';
if (type.startsWith('/lightcase/2.')) return '2.5.0'; if (type.startsWith('/lightcase/2.')) return '2.5.0';
@ -313,6 +316,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/lodash.js/3.')) return '3.10.1'; if (type.startsWith('/lodash.js/3.')) return '3.10.1';
if (type.startsWith('/lodash.js/4.')) return '4.17.21'; if (type.startsWith('/lodash.js/4.')) return '4.17.21';
if (type.startsWith('/lozad')) return '1.16.0'; if (type.startsWith('/lozad')) return '1.16.0';
if (type.startsWith('/lunr.js/2.')) return '2.3.9';
if (type.startsWith('/magnific-popup.js/1.')) return '1.1.0'; if (type.startsWith('/magnific-popup.js/1.')) return '1.1.0';
if (type.startsWith('/markdown-it/')) return '13.0.1'; if (type.startsWith('/markdown-it/')) return '13.0.1';
if (type.startsWith('/mdbootstrap/4.')) return '4.20.0'; if (type.startsWith('/mdbootstrap/4.')) return '4.20.0';
@ -328,7 +332,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/mathjax/2.') || type.startsWith('/mathjax/latest')) return '2.7.5'; if (type.startsWith('/mathjax/2.') || type.startsWith('/mathjax/latest')) return '2.7.5';
if (type.startsWith('/mathjax/3.')) return '3.2.2'; if (type.startsWith('/mathjax/3.')) return '3.2.2';
if (type.startsWith('/mdb-ui-kit/3.')) return '3.11.0'; if (type.startsWith('/mdb-ui-kit/3.')) return '3.11.0';
if (type.startsWith('/mdb-ui-kit/4.')) return '4.3.0'; if (type.startsWith('/mdb-ui-kit/4.')) return '4.4.0';
if (type.startsWith('/mobile/1.')) return '1.4.5'; if (type.startsWith('/mobile/1.')) return '1.4.5';
if (type.startsWith('/Modaal/0.')) return '0.4.4'; if (type.startsWith('/Modaal/0.')) return '0.4.4';
if (type.startsWith('/modernizr/2.')) return '2.8.3'; if (type.startsWith('/modernizr/2.')) return '2.8.3';
@ -343,6 +347,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/ngx-bootstrap/6.')) return '6.2.0'; if (type.startsWith('/ngx-bootstrap/6.')) return '6.2.0';
if (type.startsWith('/ngx-bootstrap/7.')) return '7.1.2'; if (type.startsWith('/ngx-bootstrap/7.')) return '7.1.2';
if (type.startsWith('/ngx-bootstrap/8.')) return '8.0.0'; if (type.startsWith('/ngx-bootstrap/8.')) return '8.0.0';
if (type.startsWith('/ngx-bootstrap/9.')) return '9.0.0';
if (type.startsWith('/noUiSlider/14.')) return '14.7.0'; if (type.startsWith('/noUiSlider/14.')) return '14.7.0';
if (type.startsWith('/noUiSlider/15.')) return '15.6.0'; if (type.startsWith('/noUiSlider/15.')) return '15.6.0';
if (type.startsWith('/nvd3/1.')) return '1.8.6'; if (type.startsWith('/nvd3/1.')) return '1.8.6';
@ -372,6 +377,8 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/react-dom/16.')) return '16.14.0'; if (type.startsWith('/react-dom/16.')) return '16.14.0';
if (type.startsWith('/react-dom/17.')) return '17.0.2'; if (type.startsWith('/react-dom/17.')) return '17.0.2';
if (type.startsWith('/react-dom/18.')) return '18.2.0'; if (type.startsWith('/react-dom/18.')) return '18.2.0';
if (type.startsWith('/react-intl/5.')) return '6.0.5';
if (type.startsWith('/react-intl/6.')) return '6.0.5';
if (type.startsWith('/react-redux/7.')) return '7.2.8'; if (type.startsWith('/react-redux/7.')) return '7.2.8';
if (type.startsWith('/react-redux/8.')) return '8.0.2'; if (type.startsWith('/react-redux/8.')) return '8.0.2';
if (type.startsWith('/react-router/5.')) return '5.3.3'; if (type.startsWith('/react-router/5.')) return '5.3.3';
@ -415,10 +422,10 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/Swiper/5.')) return '5.4.5'; if (type.startsWith('/Swiper/5.')) return '5.4.5';
if (type.startsWith('/Swiper/6.')) return '6.8.4'; if (type.startsWith('/Swiper/6.')) return '6.8.4';
if (type.startsWith('/Swiper/7.')) return '7.4.1'; if (type.startsWith('/Swiper/7.')) return '7.4.1';
if (type.startsWith('/Swiper/8.') || type.startsWith('/Swiper/')) return '8.3.1'; if (type.startsWith('/Swiper/8.') || type.startsWith('/Swiper/')) return '8.3.2';
if (type.startsWith('/tether/1.')) return '1.4.7'; if (type.startsWith('/tether/1.')) return '1.4.7';
if (type.startsWith('/tinymce/5.')) return '5.10.5'; if (type.startsWith('/tinymce/5.')) return '5.10.5';
if (type.startsWith('/tinymce/6.')) return '6.1.0'; if (type.startsWith('/tinymce/6.')) return '6.1.2';
if (type.startsWith('/tooltipster/3.')) return '3.3.0'; if (type.startsWith('/tooltipster/3.')) return '3.3.0';
if (type.startsWith('/tooltipster/4.')) return '4.2.8'; if (type.startsWith('/tooltipster/4.')) return '4.2.8';
if (type.startsWith('/toastr.js/2.') || type.startsWith('/toastr.js/latest/')) return '2.1.4'; if (type.startsWith('/toastr.js/2.') || type.startsWith('/toastr.js/latest/')) return '2.1.4';
@ -442,13 +449,13 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/video.js/')) { if (type.startsWith('/video.js/')) {
if (helpers.compareVersion('5.20.5', version)) return '5.20.5'; // <= 5.20.5 if (helpers.compareVersion('5.20.5', version)) return '5.20.5'; // <= 5.20.5
if (helpers.compareVersion('6.13.0', version)) return '6.13.0'; // > 5.20.5 to <= 6.13.0 if (helpers.compareVersion('6.13.0', version)) return '6.13.0'; // > 5.20.5 to <= 6.13.0
return '7.20.1'; return '7.20.2';
} }
if (type.startsWith('/vue/1.')) return '1.0.28'; if (type.startsWith('/vue/1.')) return '1.0.28';
if (type.startsWith('/vue/2.')) return '2.6.14'; if (type.startsWith('/vue/2.')) return '2.6.14';
if (type.startsWith('/vue/3.')) return '3.2.37'; if (type.startsWith('/vue/3.')) return '3.2.37';
if (type.startsWith('/vue-i18n/8.')) return '8.27.2'; if (type.startsWith('/vue-i18n/8.')) return '8.27.2';
if (type.startsWith('/vue-i18n/9.')) return '9.1.10'; if (type.startsWith('/vue-i18n/9.')) return '9.2.2';
if (type.startsWith('/vue-match-media/1.')) return '1.0.3'; if (type.startsWith('/vue-match-media/1.')) return '1.0.3';
if (type.startsWith('/vue-resource/1.')) return '1.5.3'; if (type.startsWith('/vue-resource/1.')) return '1.5.3';
if (type.startsWith('/vuex/3.')) return '3.6.2'; if (type.startsWith('/vuex/3.')) return '3.6.2';
@ -469,6 +476,8 @@ targets.determineResourceName = function (filename) {
}; };
const ListOfFiles = { const ListOfFiles = {
'react-intl.iife.min.jsm': 'react-intl',
'lunr.min.jsm': 'lunr.js',
'jquery.scrollTo.min.jsm': 'jQuery.scrollTo', 'jquery.scrollTo.min.jsm': 'jQuery.scrollTo',
'twix.min.jsm': 'twix.js', 'twix.min.jsm': 'twix.js',
'angular-locale_en-us.min.jsm': 'angular-i18n', 'angular-locale_en-us.min.jsm': 'angular-i18n',

View File

@ -59,6 +59,7 @@ optionsAdvanced.init = function (opt) {
if (BrowserType.CHROMIUM) { if (BrowserType.CHROMIUM) {
document.getElementById('html-filter-div').style.display = 'none'; document.getElementById('html-filter-div').style.display = 'none';
document.getElementById('block-google-fonts').style.display = 'none';
} }
document.getElementById('last-mapping-update').textContent += ` ${mappings.lastMappingUpdate}`; document.getElementById('last-mapping-update').textContent += ` ${mappings.lastMappingUpdate}`;

View File

@ -310,7 +310,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="div-badge"> <div id="div-html-badge" class="div-badge">
<p class="title-option" data-i18n-content="titleBadgeHTMLFilter">HTML filter badge</p> <p class="title-option" data-i18n-content="titleBadgeHTMLFilter">HTML filter badge</p>
<div id="html-badge-preview-top"> <div id="html-badge-preview-top">
<div> <div>

View File

@ -44,6 +44,7 @@ options._renderContents = function () {
if (!BrowserType.FIREFOX) { if (!BrowserType.FIREFOX) {
document.getElementById('chromium-banner').style.display = 'block'; document.getElementById('chromium-banner').style.display = 'block';
document.getElementById('div-html-badge').style.display = 'none';
} }
document.getElementById('label-version').textContent = chrome.runtime.getManifest().version; document.getElementById('label-version').textContent = chrome.runtime.getManifest().version;

View File

@ -49,6 +49,7 @@ popup._renderContents = function () {
if (BrowserType.CHROMIUM) { if (BrowserType.CHROMIUM) {
document.getElementById('div-manipulateDOM').hidden = true; document.getElementById('div-manipulateDOM').hidden = true;
document.getElementById('div-google-fonts').hidden = true;
} }
}; };
@ -434,8 +435,10 @@ popup._createVersionNode = function (versionRequested, versionDelivered) {
let version = ''; let version = '';
if (versionRequested === undefined || versionDelivered === undefined) { if (versionRequested === undefined || versionDelivered === undefined) {
version = ''; return version;
} else if (versionRequested === versionDelivered && versionDelivered !== 'latest') { }
if (versionRequested === versionDelivered && versionDelivered !== 'latest') {
version = `v${versionRequested}`; version = `v${versionRequested}`;
} else if (versionRequested === versionDelivered) { } else if (versionRequested === versionDelivered) {
version = `v${versionRequested}`; version = `v${versionRequested}`;

View File

@ -27,42 +27,37 @@
<div class="release-notes-area"> <div class="release-notes-area">
<p>Updated</p> <p>Updated</p>
<ul> <ul>
<li>findify-bundle v7.1.50 -> v7.1.55 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1055">#1055</a>)</li> <li>Chart.js v3.8.0 -> v3.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1075">#1075</a>)</li>
<li>Swiper v8.3.0 -> v8.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1056">#1056</a>)</li> <li>font-awesome v6.1.1 -> v6.1.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1080">#1080</a>)</li>
<li>foundation v6.7.4 -> v6.7.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1057">#1057</a>)</li> <li>bootswatch v5.1.3 -> v5.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1081">#1081</a>)</li>
<li>mdb-ui-kit v4.2.0 -> v4.3.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1058">#1058</a>)</li> <li>Swiper v8.3.1 -> v8.3.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1086">#1086</a>)</li>
<li>highlight.js v11.5.1 -> v11.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1059">#1059</a>)</li> <li>tinymce v6.1.0 -> v6.1.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1087">#1087</a>)</li>
<li>bootstrap-icons v1.8.3 -> v1.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1060">#1060</a>)</li> <li>hls.js v1.1.5 -> v1.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1088">#1088</a>)</li>
<li>instantsearch.js v4.43.0 -> v4.43.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1061">#1061</a>)</li> <li>libphonenumber-js v1.10.9 -> v1.10.11 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1089">#1089</a>)</li>
<li>libphonenumber-js v1.10.7 -> v1.10.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1062">#1062</a>)</li> <li>algoliasearch v4.14.1 -> v4.14.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1090">#1090</a>)</li>
<li>algoliasearch v4.13.1 -> v4.14.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1064">#1064</a>)</li> <li>docsify-themeable v0.8.6 -> v0.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1092">#1092</a>)</li>
<li>Google Material Icons v134 -> v135 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li> <li>video.js v7.20.1 -> v7.20.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1093">#1093</a>)</li>
<li>Google Material Icons Outlined v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li> <li>jqueryui v1.12.1 -> v1.13.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1098">#1098</a>)</li>
<li>Google Material Icons Round v105 -> v106 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li> <li>mdb-ui-kit v4.3.0 -> v4.4.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1100">#1100</a>)</li>
<li>Google Material Icons Sharp v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li> <li>vue-i18n v9.1.10 -> v9.2.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1101">#1101</a>)</li>
<li>Google Material Icons TwoTone v109 -> v110 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li> <li>findify-bundle v7.1.55 -> v7.1.56 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1102">#1102</a>)</li>
<li>twitter-bootstrap v5.1.3 -> v5.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1066">#1066</a>)</li>
<li>dayjs v1.11.3 -> v1.11.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1067">#1067</a>)</li>
<li>vanilla-lazyload v17.8.2 -> v17.8.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1071">#1071</a>)</li>
<li>alpinejs v3.10.2 -> v3.10.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1072">#1072</a>)</li>
<li>p5.js v1.4.1 -> v1.4.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1073">#1073</a>)</li>
</ul> </ul>
<p>Added</p> <p>Added</p>
<ul> <ul>
<li>jQuery Mobile CSS v1.4.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li> <li>lunr.js v2.3.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1077">#1077</a>)</li>
<li>jQuery Mobile CSS & JS v1.3.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li> <li>react-intl v6.0.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1078">#1078</a>)</li>
<li>jQuery.scrollTo v2.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1070">#1070</a>)</li> <li>MathJax: TeX-MML-AM_SVG.js (<a href="https://codeberg.org/nobody/LocalCDN/issues/1091">#1091</a>)</li>
<li>jquery-validation-unobtrusive v4.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1074">#1074</a>)</li> <li>ngx-bootstrap v9.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1095">#1095</a>)</li>
<li>leaflet v1.7.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1096">#1096</a>)</li>
</ul> </ul>
<p>Improved</p> <p>Improved</p>
<ul> <ul>
<li>Custom block screen (<a href="https://codeberg.org/nobody/LocalCDN/issues/1050">#1050</a>)</li> <li>Chromium: Remove option to change badge color for HTML filter (<a href="https://codeberg.org/nobody/LocalCDN/issues/1082">#1082</a>)</li>
<li>Banner for chromium based browser (<a href="https://codeberg.org/nobody/LocalCDN/issues/1068">#1068</a>)</li> <li>Chromium: Remove option to block Google Fonts (<a href="https://codeberg.org/nobody/LocalCDN/issues/1085">#1085</a>)</li>
<li>Chromium: Badge color for missing resources (<a href="https://codeberg.org/nobody/LocalCDN/issues/1031">#1031</a>)</li>
</ul> </ul>
<p>Removed</p> <p>Mapping</p>
<ul> <ul>
<li>Dojo removed (<a href="https://codeberg.org/nobody/LocalCDN/issues/1054">#1054</a>)</li> <li>DataTables: Use minified JS & CSS files (<a href="https://codeberg.org/nobody/LocalCDN/issues/1094">#1094</a>)</li>
</ul> </ul>
</div> </div>
<div id="generator-section"> <div id="generator-section">
@ -101,6 +96,46 @@
</div> </div>
<div id="history"><span id="history-indicator">+</span> Previous Versions</div> <div id="history"><span id="history-indicator">+</span> Previous Versions</div>
<div id="history-release-notes"> <div id="history-release-notes">
<p class='release-date'>2022-07-24 (v2.6.31)</p>
<p>Updated</p>
<ul>
<li>findify-bundle v7.1.50 -> v7.1.55 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1055">#1055</a>)</li>
<li>Swiper v8.3.0 -> v8.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1056">#1056</a>)</li>
<li>foundation v6.7.4 -> v6.7.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1057">#1057</a>)</li>
<li>mdb-ui-kit v4.2.0 -> v4.3.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1058">#1058</a>)</li>
<li>highlight.js v11.5.1 -> v11.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1059">#1059</a>)</li>
<li>bootstrap-icons v1.8.3 -> v1.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1060">#1060</a>)</li>
<li>instantsearch.js v4.43.0 -> v4.43.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1061">#1061</a>)</li>
<li>libphonenumber-js v1.10.7 -> v1.10.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1062">#1062</a>)</li>
<li>algoliasearch v4.13.1 -> v4.14.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1064">#1064</a>)</li>
<li>Google Material Icons v134 -> v135 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
<li>Google Material Icons Outlined v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
<li>Google Material Icons Round v105 -> v106 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
<li>Google Material Icons Sharp v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
<li>Google Material Icons TwoTone v109 -> v110 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
<li>twitter-bootstrap v5.1.3 -> v5.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1066">#1066</a>)</li>
<li>dayjs v1.11.3 -> v1.11.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1067">#1067</a>)</li>
<li>vanilla-lazyload v17.8.2 -> v17.8.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1071">#1071</a>)</li>
<li>alpinejs v3.10.2 -> v3.10.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1072">#1072</a>)</li>
<li>p5.js v1.4.1 -> v1.4.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1073">#1073</a>)</li>
</ul>
<p>Added</p>
<ul>
<li>jQuery Mobile CSS v1.4.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li>
<li>jQuery Mobile CSS & JS v1.3.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li>
<li>jQuery.scrollTo v2.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1070">#1070</a>)</li>
<li>jquery-validation-unobtrusive v4.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1074">#1074</a>)</li>
</ul>
<p>Improved</p>
<ul>
<li>Custom block screen (<a href="https://codeberg.org/nobody/LocalCDN/issues/1050">#1050</a>)</li>
<li>Banner for chromium based browser (<a href="https://codeberg.org/nobody/LocalCDN/issues/1068">#1068</a>)</li>
<li>Chromium: Badge color for missing resources (<a href="https://codeberg.org/nobody/LocalCDN/issues/1031">#1031</a>)</li>
</ul>
<p>Removed</p>
<ul>
<li>Dojo removed (<a href="https://codeberg.org/nobody/LocalCDN/issues/1054">#1054</a>)</li>
</ul>
<p class='release-date'>2022-07-09 (v2.6.30)</p> <p class='release-date'>2022-07-09 (v2.6.30)</p>
<p>Updated</p> <p>Updated</p>
<ul> <ul>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

View File

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

Before

Width:  |  Height:  |  Size: 640 KiB

After

Width:  |  Height:  |  Size: 640 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

View File

@ -0,0 +1,640 @@
/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-user-drag: none;
}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
width: 1600px;
height: 1600px;
-webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
max-width: none !important;
max-height: none !important;
}
.leaflet-container.leaflet-touch-zoom {
-ms-touch-action: pan-x pan-y;
touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
-ms-touch-action: pinch-zoom;
/* Fallback for FF which doesn't support pinch-zoom */
touch-action: none;
touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
-ms-touch-action: none;
touch-action: none;
}
.leaflet-container {
-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
.leaflet-pane { z-index: 400; }
.leaflet-tile-pane { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane { z-index: 500; }
.leaflet-marker-pane { z-index: 600; }
.leaflet-tooltip-pane { z-index: 650; }
.leaflet-popup-pane { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
/* control positioning */
.leaflet-control {
position: relative;
z-index: 800;
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile {
will-change: opacity;
}
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
.leaflet-zoom-animated {
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
/* cursors */
.leaflet-interactive {
cursor: pointer;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing;
}
/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
/* visual tweaks */
.leaflet-container {
background: #ddd;
outline: 0;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-container a.leaflet-active {
outline: 2px solid orange;
}
.leaflet-zoom-box {
border: 2px dotted #38f;
background: rgba(255,255,255,0.5);
}
/* general typography */
.leaflet-container {
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
/* general toolbar styles */
.leaflet-bar {
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
border-radius: 4px;
}
.leaflet-bar a,
.leaflet-bar a:hover {
background-color: #fff;
border-bottom: 1px solid #ccc;
width: 26px;
height: 26px;
line-height: 26px;
display: block;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-bar a:hover {
background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
cursor: default;
background-color: #f4f4f4;
color: #bbb;
}
.leaflet-touch .leaflet-bar a {
width: 30px;
height: 30px;
line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
font-size: 22px;
}
/* layers control */
.leaflet-control-layers {
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(images/layers-2x.png);
background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-scrollbar {
overflow-y: scroll;
overflow-x: hidden;
padding-right: 5px;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
/* Default icon URLs */
.leaflet-default-icon-path {
background-image: url(images/marker-icon.png);
}
/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
background: #fff;
background: rgba(255, 255, 255, 0.7);
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
}
.leaflet-control-attribution a {
text-decoration: none;
}
.leaflet-control-attribution a:hover {
text-decoration: underline;
}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
font-size: 11px;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
line-height: 1.1;
padding: 2px 5px 1px;
font-size: 11px;
white-space: nowrap;
overflow: hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: #fff;
background: rgba(255, 255, 255, 0.5);
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
border: 2px solid rgba(0,0,0,0.2);
background-clip: padding-box;
}
/* popup */
.leaflet-popup {
position: absolute;
text-align: center;
margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
border-radius: 12px;
}
.leaflet-popup-content {
margin: 13px 19px;
line-height: 1.4;
}
.leaflet-popup-content p {
margin: 18px 0;
}
.leaflet-popup-tip-container {
width: 40px;
height: 20px;
position: absolute;
left: 50%;
margin-left: -20px;
overflow: hidden;
pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
height: 17px;
padding: 1px;
margin: -10px auto 0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
color: #333;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
padding: 4px 4px 0 0;
border: none;
text-align: center;
width: 18px;
height: 14px;
font: 16px/14px Tahoma, Verdana, sans-serif;
color: #c3c3c3;
text-decoration: none;
font-weight: bold;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover {
color: #999;
}
.leaflet-popup-scrolled {
overflow: auto;
border-bottom: 1px solid #ddd;
border-top: 1px solid #ddd;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
-ms-zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
width: 24px;
margin: 0 auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-popup-tip-container {
margin-top: -1px;
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
border: 1px solid #999;
}
/* div icon */
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
position: absolute;
padding: 6px;
background-color: #fff;
border: 1px solid #fff;
border-radius: 3px;
color: #222;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.leaflet-tooltip.leaflet-clickable {
cursor: pointer;
pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
position: absolute;
pointer-events: none;
border: 6px solid transparent;
background: transparent;
content: "";
}
/* Directions */
.leaflet-tooltip-bottom {
margin-top: 6px;
}
.leaflet-tooltip-top {
margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
left: 50%;
margin-left: -6px;
}
.leaflet-tooltip-top:before {
bottom: 0;
margin-bottom: -12px;
border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
top: 0;
margin-top: -12px;
margin-left: -6px;
border-bottom-color: #fff;
}
.leaflet-tooltip-left {
margin-left: -6px;
}
.leaflet-tooltip-right {
margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
top: 50%;
margin-top: -6px;
}
.leaflet-tooltip-left:before {
right: 0;
margin-right: -12px;
border-left-color: #fff;
}
.leaflet-tooltip-right:before {
left: 0;
margin-left: -12px;
border-right-color: #fff;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,680 @@
/* .bs-datepicker */
.bs-datepicker {
display: flex;
align-items: stretch;
flex-flow: row wrap;
background: #fff;
box-shadow: 0 0 10px 0 #aaa;
position: relative;
z-index: 1;
/* button */
/* .bs-datepicker-head */
/* .bs-datepicker-body */
/* .current-timedate */
/* .bs-datepicker-multiple */
/* .bs-datepicker-btns */
/*.bs-datepicker-custom-range */
/* .bs-datepicker-predefined-btns */
/* .bs-datepicker-buttons */
}
.bs-datepicker:after {
clear: both;
content: "";
display: block;
}
.bs-datepicker bs-day-picker {
float: left;
}
.bs-datepicker button:hover,
.bs-datepicker button:focus,
.bs-datepicker button:active,
.bs-datepicker input:hover,
.bs-datepicker input:focus,
.bs-datepicker input:active, .bs-datepicker-btns button:hover, .bs-datepicker-btns button:focus, .bs-datepicker-btns button:active, .bs-datepicker-predefined-btns button:active, .bs-datepicker-predefined-btns button:focus {
outline: none;
}
.bs-datepicker-head {
min-width: 270px;
height: 50px;
padding: 10px;
border-radius: 3px 3px 0 0;
text-align: justify;
/* .bs-datepicker-head button */
}
.bs-datepicker-head:after {
content: "";
display: inline-block;
vertical-align: top;
width: 100%;
}
.bs-datepicker-head button {
display: inline-block;
vertical-align: top;
padding: 0;
height: 30px;
line-height: 30px;
border: 0;
background: transparent;
text-align: center;
cursor: pointer;
color: #fff;
transition: 0.3s;
}
.bs-datepicker-head button[disabled], .bs-datepicker-head button[disabled]:hover, .bs-datepicker-head button[disabled]:active {
background: rgba(221, 221, 221, 0.3);
color: #f5f5f5;
cursor: not-allowed;
}
.bs-datepicker-head button.previous span {
transform: translate(-1px, -1px);
}
.bs-datepicker-head button.next span {
transform: translate(1px, -1px);
}
.bs-datepicker-head button.next, .bs-datepicker-head button.previous {
border-radius: 50%;
width: 30px;
height: 30px;
}
.bs-datepicker-head button.next span, .bs-datepicker-head button.previous span {
font-size: 28px;
line-height: 1;
display: inline-block;
position: relative;
height: 100%;
width: 100%;
border-radius: 50%;
}
.bs-datepicker-head button.current {
border-radius: 15px;
max-width: 155px;
padding: 0 13px;
}
.bs-datepicker-head button:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.bs-datepicker-head button:active {
background-color: rgba(0, 0, 0, 0.2);
}
.bs-datepicker-body {
padding: 10px;
border-radius: 0 0 3px 3px;
min-height: 232px;
min-width: 278px;
border: 1px solid #e9edf0;
/* .bs-datepicker-body table */
}
.bs-datepicker-body .days.weeks {
position: relative;
z-index: 1;
}
.bs-datepicker-body table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
/* .bs-datepicker-body table.days */
/* .bs-datepicker-body table.weeks */
}
.bs-datepicker-body table th {
font-size: 13px;
color: #9aaec1;
font-weight: 400;
text-align: center;
}
.bs-datepicker-body table td {
color: #54708b;
text-align: center;
position: relative;
padding: 0;
/* todo: check first :not(.disabled) usage */
}
.bs-datepicker-body table td span {
display: block;
margin: 0 auto;
font-size: 13px;
border-radius: 50%;
/*z-index: 1;*/
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.bs-datepicker-body table td:not(.disabled):not(.week) span:not(.disabled):not(.is-other-month) {
cursor: pointer;
}
.bs-datepicker-body table td.is-highlighted:not(.disabled):not(.selected) span,
.bs-datepicker-body table td span.is-highlighted:not(.disabled):not(.selected) {
background-color: #e9edf0;
transition: 0s;
}
.bs-datepicker-body table td.is-active-other-month:not(.disabled):not(.selected) span,
.bs-datepicker-body table td span.is-active-other-month:not(.disabled):not(.selected) {
background-color: #e9edf0;
transition: 0s;
cursor: pointer;
}
.bs-datepicker-body table td span.disabled, .bs-datepicker-body table td.disabled span {
color: #9aaec1;
}
.bs-datepicker-body table td span.selected, .bs-datepicker-body table td.selected span {
color: #fff;
}
.bs-datepicker-body table td span.is-other-month, .bs-datepicker-body table td.is-other-month span {
color: rgba(0, 0, 0, 0.25);
}
.bs-datepicker-body table td.active {
position: relative;
}
.bs-datepicker-body table td.active.select-start:before {
left: 35%;
}
.bs-datepicker-body table td.active.select-end:before {
left: -85%;
}
.bs-datepicker-body table td span.active.select-start:after,
.bs-datepicker-body table td span.active.select-end:after, .bs-datepicker-body table td.active.select-start span:after, .bs-datepicker-body table td.active.select-end span:after {
content: "";
display: block;
position: absolute;
z-index: -1;
width: 100%;
height: 100%;
transition: 0.3s;
top: 0;
border-radius: 50%;
}
.bs-datepicker-body table td:before,
.bs-datepicker-body table td span:before {
content: "";
display: block;
position: absolute;
z-index: -1;
top: 6px;
bottom: 6px;
left: -3px;
right: -2px;
box-sizing: content-box;
background: transparent;
}
.bs-datepicker-body table td.active.select-start + td.active:before {
left: -20%;
}
.bs-datepicker-body table td:last-child.active:before {
border-radius: 0 3px 3px 0;
width: 125%;
left: -25%;
}
.bs-datepicker-body table td span[class*=select-], .bs-datepicker-body table td[class*=select-] span {
border-radius: 50%;
color: #fff;
}
.bs-datepicker-body table.days td.active:not(.select-start):before, .bs-datepicker-body table.days td.in-range:not(.select-start):before,
.bs-datepicker-body table.days span.active:not(.select-start):before,
.bs-datepicker-body table.days span.in-range:not(.select-start):before {
background: #e9edf0;
}
.bs-datepicker-body table.days span {
width: 32px;
height: 32px;
line-height: 32px;
}
.bs-datepicker-body table.days span.select-start {
z-index: 2;
}
.bs-datepicker-body table.days span.is-highlighted.in-range:before {
right: 3px;
left: 0;
}
.bs-datepicker-body table.days span.in-range.select-end:before {
right: 4px;
left: 0;
}
.bs-datepicker-body table.days td.select-start + td.select-end:before, .bs-datepicker-body table.days td.select-start + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.select-end:before, .bs-datepicker-body table.days td.in-range + td.is-highlighted:before, .bs-datepicker-body table.days td.in-range + td.select-end:before {
background: #e9edf0;
width: 100%;
}
.bs-datepicker-body table.weeks tr td:nth-child(2).active:before {
border-radius: 3px 0 0 3px;
left: 0;
width: 100%;
}
.bs-datepicker-body table:not(.weeks) tr td:first-child:before {
border-radius: 3px 0 0 3px;
}
.bs-datepicker-body table.years td span {
width: 46px;
height: 46px;
line-height: 45px;
margin: 0 auto;
}
.bs-datepicker-body table.years tr:not(:last-child) td span {
margin-bottom: 8px;
}
.bs-datepicker-body table.months td {
height: 52px;
}
.bs-datepicker-body table.months td span {
padding: 6px;
border-radius: 15px;
}
.bs-datepicker .current-timedate {
color: #54708b;
font-size: 15px;
text-align: center;
height: 30px;
line-height: 30px;
border-radius: 20px;
border: 1px solid #e9edf0;
margin-bottom: 10px;
cursor: pointer;
text-transform: uppercase;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.bs-datepicker .current-timedate span:not(:empty):before {
content: "";
width: 15px;
height: 16px;
display: inline-block;
margin-right: 4px;
vertical-align: text-bottom;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAABMklEQVQoU9VTwW3CQBCcOUgBtEBKSAukAnBKME+wFCAlYIhk8sQlxFABtJAScAsuAPBEewYcxCP8ouxrPDsza61uiVN1o6RNHD4htSCmq49RfO71BvMJqBBkITRf1kmUW49nQRC9h1I5AZlBClaL8aP1fKgOOxCx8aSLs+Q19eZuNO8QmPqJRtDFguy7OAcDbJPs+/BKVPDIPrvD2ZJgWAmVe7O0rI0Vqs1seyWUXpuJoppYCa5L+U++NpNPkr5OE2oMdARsb3gykJT5ydZcL8Z9Ww60nxg2LhjON9li9OwXZzo+xLbp3nC2s9CL2RrueGyVrgwNm8HpsCzZ9EEW6kqXlo1GQe03FzP/7W8Hl0dBtu7Bf7zt6mIwvX1RvzDCm7+q3mAW0Dl/GPdUCeXrZLT9BrDrGkm4qlPvAAAAAElFTkSuQmCC);
}
.bs-datepicker-multiple {
border-radius: 4px 0 0 4px;
}
.bs-datepicker-multiple + .bs-datepicker-multiple {
margin-left: 10px;
}
.bs-datepicker-multiple .bs-datepicker {
box-shadow: none;
position: relative;
}
.bs-datepicker-multiple .bs-datepicker:not(:last-child) {
padding-right: 10px;
}
.bs-datepicker-multiple .bs-datepicker + .bs-datepicker:after {
content: "";
display: block;
width: 14px;
height: 10px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAKCAYAAABrGwT5AAAA1ElEQVQoU42RsQrCUAxF77VuDu7O4oMWW//BURBBpZvgKk4uIrjoqKOTf+DopIO4uYggtFTfw3+pkQqCW1/G5J7kJiFy4m5MxUlxAzgIPHX+lzMPzupRYlYgxiR7vqsOP8YKzsTx0yxFMCUZ+q7aZzlr+OvgoWcAFyAHgat2jLWu48252DdqAihDJGSSJNUUxYmQjs3+hPQBlAh2rG2LCOPnaw3IiGDX99TRCs7ASJsNhUOA7d/LcuHvRG22FIZvsNXw1MX6VZExCilOQKEfeLXr/10+aC9Ho7arh7oAAAAASUVORK5CYII=);
position: absolute;
top: 25px;
left: -8px;
}
.bs-datepicker-multiple .bs-datepicker .left {
float: left;
}
.bs-datepicker-multiple .bs-datepicker .right {
float: right;
}
.bs-datepicker-container {
padding: 15px;
}
.bs-datepicker .bs-media-container {
display: flex;
}
@media (max-width: 768px) {
.bs-datepicker .bs-media-container {
flex-direction: column;
}
}
.bs-datepicker .bs-timepicker-in-datepicker-container {
display: flex;
justify-content: space-around;
}
.bs-datepicker-custom-range {
padding: 15px;
background: #eee;
}
.bs-datepicker-predefined-btns button {
width: 100%;
display: block;
height: 30px;
background-color: #9aaec1;
border-radius: 4px;
color: #fff;
border: 0;
margin-bottom: 10px;
padding: 0 18px;
text-align: left;
transition: 0.3s;
}
.bs-datepicker-predefined-btns button:hover {
background-color: #54708b;
}
.bs-datepicker-buttons {
display: flex;
flex-flow: row wrap;
justify-content: flex-end;
padding-top: 10px;
border-top: 1px solid #e9edf0;
}
.bs-datepicker-buttons .btn-default {
margin-left: 10px;
}
.bs-datepicker-buttons .btn-today-wrapper {
display: flex;
flex-flow: row wrap;
}
.bs-datepicker-buttons .clear-right,
.bs-datepicker-buttons .today-right {
flex-grow: 0;
}
.bs-datepicker-buttons .clear-left,
.bs-datepicker-buttons .today-left {
flex-grow: 1;
}
.bs-datepicker-buttons .clear-center,
.bs-datepicker-buttons .today-center {
flex-grow: 0.5;
}
/* .bs-timepicker */
.bs-timepicker-container {
padding: 10px 0;
}
.bs-timepicker-label {
color: #54708b;
margin-bottom: 10px;
}
.bs-timepicker-controls {
display: inline-block;
vertical-align: top;
margin-right: 10px;
}
.bs-timepicker-controls button {
width: 20px;
height: 20px;
border-radius: 50%;
border: 0;
background-color: #e9edf0;
color: #54708b;
font-size: 16px;
font-weight: 700;
vertical-align: middle;
line-height: 0;
padding: 0;
transition: 0.3s;
}
.bs-timepicker-controls button:hover {
background-color: #d5dadd;
}
.bs-timepicker-controls input {
width: 35px;
height: 25px;
border-radius: 13px;
text-align: center;
border: 1px solid #e9edf0;
}
.bs-timepicker .switch-time-format {
text-transform: uppercase;
min-width: 54px;
height: 25px;
border-radius: 20px;
border: 1px solid #e9edf0;
background: #fff;
color: #54708b;
font-size: 13px;
}
.bs-timepicker .switch-time-format img {
vertical-align: initial;
margin-left: 4px;
}
bs-datepicker-container,
bs-daterangepicker-container {
z-index: 1080;
}
/* screen size < 1024px */
@media (max-width: 768px) {
.bs-datepicker {
width: min-content;
justify-content: center;
}
.bs-datepicker-multiple {
display: flex;
}
.bs-datepicker-multiple + .bs-datepicker-multiple {
margin-top: 10px;
margin-left: 0;
}
}
/* theming */
.theme-default .bs-datepicker-head {
background-color: #777;
}
.theme-default .btn-today-wrapper .btn-success, .theme-default .btn-clear-wrapper .btn-success {
background-color: #777;
border-color: #777;
}
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-default .btn-today-wrapper .btn-success:focus, .theme-default .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #616161;
border-color: #616161;
}
.theme-default .btn-today-wrapper .btn-success:hover, .theme-default .btn-clear-wrapper .btn-success:hover {
background-color: #6F6E6E;
border-color: #6F6E6E;
}
.theme-default .bs-datepicker-predefined-btns button.selected {
background-color: #777;
}
.theme-default .bs-datepicker-body table td span.selected, .theme-default .bs-datepicker-body table td.selected span,
.theme-default .bs-datepicker-body table td span[class*=select-]:after, .theme-default .bs-datepicker-body table td[class*=select-] span:after {
background-color: #777;
}
.theme-default .bs-datepicker-body table td.week span {
color: #777;
}
.theme-default .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #777;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-green .bs-datepicker-head {
background-color: #5cb85c;
}
.theme-green .btn-today-wrapper .btn-success, .theme-green .btn-clear-wrapper .btn-success {
background-color: #5cb85c;
border-color: #5cb85c;
}
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-green .btn-today-wrapper .btn-success:focus, .theme-green .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #1e7e34;
border-color: #1e7e34;
}
.theme-green .btn-today-wrapper .btn-success:hover, .theme-green .btn-clear-wrapper .btn-success:hover {
background-color: #218838;
border-color: #218838;
}
.theme-green .bs-datepicker-predefined-btns button.selected {
background-color: #5cb85c;
}
.theme-green .bs-datepicker-body table td span.selected, .theme-green .bs-datepicker-body table td.selected span,
.theme-green .bs-datepicker-body table td span[class*=select-]:after, .theme-green .bs-datepicker-body table td[class*=select-] span:after {
background-color: #5cb85c;
}
.theme-green .bs-datepicker-body table td.week span {
color: #5cb85c;
}
.theme-green .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #5cb85c;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-blue .bs-datepicker-head {
background-color: #5bc0de;
}
.theme-blue .btn-today-wrapper .btn-success, .theme-blue .btn-clear-wrapper .btn-success {
background-color: #5bc0de;
border-color: #5bc0de;
}
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-blue .btn-today-wrapper .btn-success:focus, .theme-blue .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #2AA8CD;
border-color: #2AA8CD;
}
.theme-blue .btn-today-wrapper .btn-success:hover, .theme-blue .btn-clear-wrapper .btn-success:hover {
background-color: #3AB3D7;
border-color: #3AB3D7;
}
.theme-blue .bs-datepicker-predefined-btns button.selected {
background-color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td span.selected, .theme-blue .bs-datepicker-body table td.selected span,
.theme-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-blue .bs-datepicker-body table td[class*=select-] span:after {
background-color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td.week span {
color: #5bc0de;
}
.theme-blue .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #5bc0de;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-dark-blue .bs-datepicker-head {
background-color: #337ab7;
}
.theme-dark-blue .btn-today-wrapper .btn-success, .theme-dark-blue .btn-clear-wrapper .btn-success {
background-color: #337ab7;
border-color: #337ab7;
}
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-dark-blue .btn-today-wrapper .btn-success:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #266498;
border-color: #266498;
}
.theme-dark-blue .btn-today-wrapper .btn-success:hover, .theme-dark-blue .btn-clear-wrapper .btn-success:hover {
background-color: #2C6FA9;
border-color: #2C6FA9;
}
.theme-dark-blue .bs-datepicker-predefined-btns button.selected {
background-color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td span.selected, .theme-dark-blue .bs-datepicker-body table td.selected span,
.theme-dark-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-dark-blue .bs-datepicker-body table td[class*=select-] span:after {
background-color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td.week span {
color: #337ab7;
}
.theme-dark-blue .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #337ab7;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-red .bs-datepicker-head {
background-color: #d9534f;
}
.theme-red .btn-today-wrapper .btn-success, .theme-red .btn-clear-wrapper .btn-success {
background-color: #d9534f;
border-color: #d9534f;
}
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-red .btn-today-wrapper .btn-success:focus, .theme-red .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #D23531;
border-color: #D23531;
}
.theme-red .btn-today-wrapper .btn-success:hover, .theme-red .btn-clear-wrapper .btn-success:hover {
background-color: #E33732;
border-color: #E33732;
}
.theme-red .bs-datepicker-predefined-btns button.selected {
background-color: #d9534f;
}
.theme-red .bs-datepicker-body table td span.selected, .theme-red .bs-datepicker-body table td.selected span,
.theme-red .bs-datepicker-body table td span[class*=select-]:after, .theme-red .bs-datepicker-body table td[class*=select-] span:after {
background-color: #d9534f;
}
.theme-red .bs-datepicker-body table td.week span {
color: #d9534f;
}
.theme-red .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #d9534f;
color: #fff;
opacity: 0.5;
transition: 0s;
}
.theme-orange .bs-datepicker-head {
background-color: #f0ad4e;
}
.theme-orange .btn-today-wrapper .btn-success, .theme-orange .btn-clear-wrapper .btn-success {
background-color: #f0ad4e;
border-color: #f0ad4e;
}
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
box-shadow: none;
}
.theme-orange .btn-today-wrapper .btn-success:focus, .theme-orange .btn-clear-wrapper .btn-success:focus {
box-shadow: none;
}
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
background-color: #ED9C29;
border-color: #ED9C29;
}
.theme-orange .btn-today-wrapper .btn-success:hover, .theme-orange .btn-clear-wrapper .btn-success:hover {
background-color: #FFAC35;
border-color: #FFAC35;
}
.theme-orange .bs-datepicker-predefined-btns button.selected {
background-color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td span.selected, .theme-orange .bs-datepicker-body table td.selected span,
.theme-orange .bs-datepicker-body table td span[class*=select-]:after, .theme-orange .bs-datepicker-body table td[class*=select-] span:after {
background-color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td.week span {
color: #f0ad4e;
}
.theme-orange .bs-datepicker-body table td.active-week span:hover {
cursor: pointer;
background-color: #f0ad4e;
color: #fff;
opacity: 0.5;
transition: 0s;
}
/*# sourceMappingURL=bs-datepicker.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More